]> cygwin.com Git - cygwin-apps/setup.git/blob - ChangeLog
2003-10-23 Jerry D. Hedden <jerry@hedden.us>
[cygwin-apps/setup.git] / ChangeLog
1 2003-10-23 Jerry D. Hedden <jerry@hedden.us>
2
3 * ConnectionSetting.cc (ConnectionSetting::load): Load proxysettings.
4 (ConnectionSetting::save): Save proxy settings.
5
6 2003-10-07 Robert Collins <rbtcollins@hotmail.com>
7
8 * proppage.h (PropertyPage::wantsActivation): const correctness fix.
9
10 2003-08-19 Max Bowsher <maxb@ukf.net>
11
12 * win32.h: Define NOMINMAX only if not already defined - because
13 libstdc++-v3 3.3.1 defines NOMINMAX itself.
14
15 2003-08-03 Max Bowsher <maxb@ukf.net>
16
17 * ChangeLog: Fix broken line-wrapping throughout. Clarify that
18 "Ran automake" in 2003-07-26 entry was in bz2lib and zlib subdirs.
19
20 2003-08-03 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
21
22 * propsheet.cc (Copyright): Update copyright dates.
23 (PropSheet::PropSheet): Remove NumPropPages initialization.
24 (PropSheet::CreatePages): Use PropertyPages.size() instead of
25 NumPropPages.
26 (PropSheet::Create): Ditto.
27 (PropSheet::AddPage): Change to use new PropertyPages std::vector<>.
28 * propsheet.h (Copyright): Update copyright dates.
29 (File Scope): Include <vector>.
30 (PropSheet::PropertyPages): Change from array to vector<>.
31 (PropSheet::NumPropPages): Remove.
32
33 2003-08-02 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
34
35 Changes modified by Max Bowsher <maxb@ukf.net>
36 * splash.cc (Copyright): Update copyright dates.
37 (SplashPage::OnInit): Remove call to SetDlgItemFont(). Now handled in
38 base class.
39 * proppage.h (PropertyPage::setTitleFont): Declare.
40 * proppage.cc (Copyright): Update copyright dates.
41 (PropertyPage::DialogProc WM_INITDIALOG): Move all font setting code,
42 including that from splash.cc into new function...
43 (PropertyPage::setTitleFont): Create, using moved code. Change font
44 "MS Sans Serif" to "MS Shell Dlg" in line with recent res.rc change.
45 Set font for IDC_STATIC_WELCOME_TITLE here, to allow easy re-use of
46 style for future "Finished" page.
47
48 2003-08-02 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
49
50 * propsheet.cc: Include "resource.h".
51 (PropSheet::Create): Add the Cygwin icon in the left of the title bar.
52
53 2003-08-01 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
54
55 * proppage.cc (PropertyPage::FirstDialogProcReflector): Modify comment.
56
57 2003-08-01 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
58
59 * proppage.h (Copyright): Update copyright dates.
60 (PropertyPage): Document OnNext and OnBack.
61
62 2003-07-31 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
63
64 * proppage.cc (PropertyPage::Create): Use more self-documenting
65 MAKEINTRESOURCE() instead of cast to LPCSTR.
66
67 2003-07-31 Robert Collins <rbtcollins@hotmail.com>
68
69 * README: Mark completed items complete.
70
71 2003-07-31 Pierre Humblet <pierre.humblet@ieee.org>
72
73 * main.cc (set_default_sec): Set token owner from token user.
74 Always try to set the token primary group to Users or Admins.
75
76 2003-07-30 Igor Pechtchanski <pechtcha@cs.nyu.edu>
77
78 * String++.h (String::replace): New instance functions.
79 * String++.cc (String::replace): Implement.
80 * filemanip.cc (backslash): Change to use String::replace.
81 * desktop.cc (make_cygwin_bat): Escape '%' in path.
82
83 2003-07-30 Igor Pechtchanski <pechtcha@cs.nyu.edu>
84
85 * String++.h (TOSTRING): New macro.
86 * UserSettings.cc (UserSettings::deRegisterSetting): Fix
87 erroneous __LINE__/__FILE__ usage.
88 * download.cc (validateCachedPackage, check_for_cached): Ditto.
89 * geturl.cc (getUrlToStream): Ditto.
90 * install.cc (md5_one): Ditto.
91
92 2003-07-30 Max Bowsher <maxb@ukf.net>
93
94 * ini.cc (do_ini_thread): Return bool.
95 (do_ini_thread_reflector): Put returned bool in lParam.
96 * threebar.cc (WM_APP_SETUP_INI_DOWNLOAD_COMPLETE): Rework for new
97 meaning of lParam. Replace erroneous use of do_fromcwd with
98 SetActivePageByID (IDD_SOURCE).
99
100 2003-07-30 Robert Collins <rbtcollins@hotmail.com>
101
102 * ConnectionSetting.cc: New file, persist connection type selection.
103 * ConnectionSetting.h: Ditto.
104 * net.cc: Hold a ConnectionSetting instance to trigger the logic.
105 (NetPage::OnInit): Don't force net_method to any value.
106 * Makefile.am: Add new source files.
107
108 2003-07-30 Robert Collins <rbtcollins@hotmail.com>
109
110 * SourceSetting.cc: New file, persist source selection.
111 * SourceSetting.h: Ditto.
112 * source.cc: Hold a Source setting instance to trigger the logic.
113 * Makefile.am: Add new source files.
114
115 2003-07-30 Robert Collins <rbtcollins@hotmail.com>
116
117 * UserSettings.h (UserSettings::settingFileForLoad): Extracted method
118 from LocalDirSetting::load().
119 * UserSettings.cc (UserSettings::settingFileForLoad): Ditto.
120 * UserSettings.h (UserSettings::settingFileForSave): Extracted method
121 from LocalDirSetting::save().
122 * UserSettings.cc (UserSettings::settingFileForSave): Ditto.
123 * localdir.cc (LocalDirSetting::load): Extract location logic to
124 UserSettings.
125 (LocalDirSetting::save): Extract location logic to UserSettings.
126 * site.cc (SiteSetting::getSavedSites): Use
127 UserSettings::settingFileForLoad.
128 (SiteSetting::save): Use UserSettings::settingFileForSave.
129
130 2003-07-30 Robert Collins <rbtcollins@hotmail.com>
131
132 * PickView.cc: Adjust ::GetClientRect(..) to the inherited one
133 throughout.
134
135 2003-07-29 Max Bowsher <maxb@ukf.net>
136
137 Based on a patch by Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>.
138 * AntiVirus.cc (AntiVirusPage::wantsActivation): Define.
139 * AntiVirus.h (AntiVirusPage::wantsActivation): Declare.
140 * localdir.cc (LocalDirPage::OnBack): Remove logic subsumed by
141 RootPage::wantsActivation.
142 * proppage.cc (PropertyPage::DialogProc): Call wantsActivation(),
143 and skip to next page in sequence if activation is refused.
144 * proppage.h (PropertyPage::wantsActivation): Default implementation.
145 * root.cc (RootPage::wantsActivation): Define.
146 * root.h (RootPage::wantsActivation): Declare.
147 * source.cc: Don't include "AntiVirus.h".
148 (SourcePage::OnNext): Remove logic subsumed by
149 RootPage::wantsActivation.
150 (SourcePage::OnBack): Remove logic subsumed by
151 AntiVirusPage::wantsActivation.
152 * splash.cc: Don't include "AntiVirus.h" or "dialog.h".
153 (SplashPage::OnNext): Remove - subsumed by
154 AntiVirusPage::wantsActivation.
155 * splash.h (SplashPage::OnNext): Remove declaration.
156
157 2003-07-29 Robert Collins <rbtcollins@hotmail.com>
158
159 * PickView.h (PickView::refresh): New method.
160 * PickView.cc (PickView::refresh): Extracted from various
161 ChooserPage callers.
162 * choose.cc: Use PickView::refresh wherever possible.
163
164 2003-07-29 Robert Collins <rbtcollins@hotmail.com>
165
166 * choose.h (ChooserPage::createListView): Remove last parameter.
167 (ChooserPage::getDefaultListViewSize): Extracted method.
168 * choose.cc (ChooserPage::createListView): Remove last parameter.
169 (ChooserPage::getDefaultListViewSize): Extracted method.
170
171 2003-07-29 Robert Collins <rbtcollins@hotmail.com>
172
173 * choose.cc (ChooserPage::createListView): Remove unneeded
174 parameter.
175 * choose.h: Ditto.
176
177 2003-07-29 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
178
179 * dialog.h (do_fromcwd): Change function declaration.
180 * fromcwd.cc (do_fromcwd): Change return type to bool. Eliminate
181 use of next_dialog, return true or false instead.
182 * localdir.cc (LocalDirPage::OnNext): Use do_fromcwd()'s return
183 value instead of next_dialog.
184
185 2003-07-29 Robert Collins <rbtcollins@hotmail.com>
186
187 * package_db.h (packagedb::fillMissingCategory): Move from ChooserPage.
188 * choose.h (ChooserPage::fillMissingCategory): Delete.
189 * package_db.cc (packagedb::fillMissingCategory): Move from ChooserPage.
190 * choose.cc (ChooserPage::fillMissingCategory): Delete and adjust
191 callers.
192
193 2003-07-29 Robert Collins <rbtcollins@hotmail.com>
194
195 * PickView.h (CATEGORY_EXPANDED): Move from choose.h
196 (CATEGORY_COLLAPSED): Move from choose.cc.
197 (PickView::setViewMode): Move from ChooserPage.
198 * choose.h (CATEGORY_EXPANDED): Delete.
199 (CATEGORY_COLLAPSED): Delete.
200 (ChooserPage::setViewMode): Delete.
201 * PickView.cc (PickView::setViewMode): Move from ChooserPage.
202 * chooser.cc (ChooserPage::setViewMode): Delete, and adjust callers
203 throughout.
204
205 2003-07-28 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
206
207 * AntiVirus.cc (AntiVirusPage::OnNext): Do not explicitly specify the
208 page to display next, since it follows in the default page ordering
209 anyway.
210
211 2003-07-28 Max Bowsher <maxb@ukf.net>
212
213 * dialog.h: (NEXT): Remove obsolete macro.
214 * site.cc (save_dialog): Remove use of NEXT(), and non-functional
215 unnecessary error handler.
216
217 2003-07-28 Robert Collins <rbtcollins@hotmail.com>
218
219 * package_meta.h (packagemeta::addToCategoryAll): Declare.
220 * package_meta.cc (packagemeta::addToCategoryAll): New method,
221 separated to allow clear iteration.
222 * choose.cc (ChooserPage::fillMissingCategory): BUGFIX: "all" is
223 meant to be added unconditionally.
224
225 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
226
227 * Generic.h: New file, home for generic programming tools.
228 (visit_if): Move here from package_meta.cc.
229 Adjust to be fully parameterised.
230 * package_meta.h (packagemeta::hasNoCategories): Query for generic
231 programming.
232 (packagemeta::setDefaultCategories): set categories for packages
233 with none.
234 * package_meta.cc: Move visit_if out. Adjust users for
235 full paramterised operation.
236 (packagemeta::hasNoCategories): Implement.
237 (packagemeta::setDefaultCategories): Implement.
238 * choose.cc (ChooserPage::fillMissingCategory): Use visit_if to
239 reduce duplicate code.
240 (ChooserPage::setExistence): Delete.
241 * choose.h (ChooserPage::setExistence): Rename to
242 packagedb::setExistence.
243 * package_db.h (packagedb::setExistence): Declare.
244 * package_db.cc (packagedb::setExistence): Copy from choose.cc
245
246 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
247
248 * localdir.h (LocalDirPage::OnInit): Remove.
249 * localdir.cc (LocalDirPage::OnInit): Move to LocalDirSetting
250 ::load().
251 (LocalDirSetting::load): Copied from LocalDirPage::OnInit.
252 * site.h (SitePage::OnInit): Remove.
253 (SitePage::getSavedSites): New member, replaces get_saved_sites.
254 (SitePage::registerSavedSite): New member, replaces
255 register_saved_site.
256 * site.cc (SitePage::OnInit): Move to SiteSetting::load().
257 (SiteSetting::load): Copied from SitePage::OnInit.
258 (SitePage::getSavedSites): Renamed from get_saved_sites.
259 (SitePage::registerSavedSite): Renamed from register_saved_site.
260 (do_download_site_info_thread): Don't look at the list size for
261 determining if the download was successful.
262
263 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
264
265 * choose.h (ChooserPage::setViewMode): Remove HWND from
266 signature.
267 (ChooserPage::defaultTrust): Ditto.
268 Move to PickView.
269 (ChooserPage::ifChecked): Use Window helper function
270 IsButtonChecked.
271 * choose.cc (ChooserPage::setViewMode): Use chooser->GetHWND()
272 throughout.
273 Update all callers with new signature.
274 (ChooserPage::defaultTrust): Ditto.
275 Move to PickView.
276 * PickView.h (PickView::defaultTrust): Declare.
277 * PickView.cc (PickView::defaultTrust): Copy from chooser.cc.
278
279 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
280
281 * PickView.h (PickView::lv): Eliminate.
282 * PickView.cc (PickView::init): Replace use of lv with
283 GetHWND().
284 (PickView::list_click): Ditto.
285 * choose.h (ChooserPage::lv): Eliminate.
286 * choose.cc: Replace lv with chooser->GetHWND()
287 throughout.
288
289 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
290
291 * PickView.h (PickView::chooser): Eliminate.
292 (PickView::list_vscroll): Make non-static.
293 (PickView::list_hscroll): Ditto.
294 (PickView::list_click): Ditto.
295 (PickView::paint): Ditto.
296 * PickView.cc (PickView::list_vscroll): Eliminate use
297 of PickView::chooser.
298 (PickView::list_hscroll): Ditto.
299 (PickView::list_click): Ditto.
300 (PickView::paint): Ditto.
301 * choose.cc (Chooser::createListView): Eliminate use
302 of PickView::chooser.
303
304 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
305
306 * PickView.h (PickView): Inherit from Window.
307 (PickView::RegisterWindows): Move from ChooserPage.
308 (PickView::listview_proc): Likewise.
309 (PickView::paint): Ditto.
310 (PickView::list_click): Ditto.
311 (PickView::list_hscroll): Ditto.
312 (PickView::list_vscroll): Ditto.
313 (PickView::lv): Ditto.
314 (PickView::chooser): Ditto.
315 (PickView::Create): Override Windows::Create as we migrate.
316 (PickView::registerWindowClass): Renamed RegisterWindows.
317 (PickView::WindowClassAtom): Prevent double registration.
318 (PickView::init): Declare.
319 * PickView.cc: Adjust for new inheritance.
320 (PickView::RegisterWindows): Move from ChooserPage.
321 (PickView::listview_proc): Likewise.
322 (PickView::paint): Ditto.
323 (PickView::list_click): Ditto.
324 (PickView::list_hscroll): Ditto.
325 (PickView::list_vscroll): Ditto.
326 (PickView::lv): Ditto.
327 (PickView::chooser): Ditto.
328 (PickView::Create): Introduce stub.
329 (PickView::RegisterWindows): Rename
330 (PickView::init): Extracted from constructor to allow
331 reordering.
332 * chooser.h (ChooserPage::registerWindows): Rename to
333 PickView::RegisterWindows.
334 (ChooserPage::listview_proc): Likewise.
335 (ChooserPage::paint): Ditto.
336 (ChooserPage::list_click): Ditto.
337 (ChooserPage::list_hscroll): Ditto.
338 (ChooserPage::list_vscroll): Ditto.
339 (ChooserPage::lv): Duplicate into PickView, observe
340 as non-static.
341 (ChooserPage::chooser): Ditto.
342 * chooser.cc (ChooserPage::registerWindows): Delete.
343 (ChooserPage::listview_proc): Ditto.
344 (ChooserPage::paint): Ditto.
345 (ChooserPage::list_click): Ditto.
346 (ChooserPage::list_hscroll): Ditto.
347 (ChooserPage::list_vscroll): Ditto.
348 (ChooserPage::createListView): Create() on PickView.
349 * window.h (Window::RegisterWindowClass): Make virtual
350 to allow Create to become a Template Method, and rename
351 to registerWindowClass as it's not static.
352 * window.cc (Window::registerWindowClass): Ditto.
353 (Window::FirstWindowProcReflector): BUGFIX: Set window
354 handle to prevent races with the window procedure.
355
356 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
357
358 * choose.cc (set_view_mode): Rename to ChooserPage::setViewMode.
359 (default_trust): Rename to ChooserPage::defaultTrust.
360 (fill_missing_category): Rename to ChooserPage::fillMissingCategory.
361 (set_existence): Rename to ChooserPage::setExistence.
362 (register_windows): Rename to ChooserPage::registerWindows.
363 (listview_proc): Rename to ChooserPage::listview_proc.
364 (paint): Rename to ChooserPage::paint.
365 (list_click): Rename to ChooserPage::list_click.
366 (list_hscroll): Rename to ChooserPage::list_hscroll.
367 (list_vscroll): Rename to ChooserPage::list_vscroll.
368 (lv): Rename to ChooserPage::lv.
369 (chooser): Rename to ChooserPage::chooser.
370 * choose.h (ChooserPage::setViewMode): Declare.
371 (ChooserPage::defaultTrust): Declare.
372 (ChooserPage::fillMissingCategory): Declare.
373 (ChooserPage::setExistence): Declare.
374 (ChooserPage::registerWindows): Declare.
375 (ChooserPage::listview_proc): Declare.
376 (ChooserPage::paint): Declare.
377 (ChooserPage::list_click): Declare.
378 (ChooserPage::list_hscroll): Declare.
379 (ChooserPage::list_vscroll): Declare.
380 (ChooserPage::lv): Declare.
381 (ChooserPage::chooser): Declare.
382
383 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
384
385 * choose.cc (create_listview): Use for_each instead of explicit
386 iteration.
387 (create_listview): Rename to ChooserPage::createListview.
388 * package_meta.h (packagemeta::set_requirements): Explicitly separate
389 the 1 and 2 parameter versions.
390
391 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
392
393 * String++.h (String::operator !=): Declare for char * and String.
394 * String++.cc (String::operator !=): Implement.
395 * package_meta.cc(StringConcatenator): Move above all users.
396 (_visit_if): Predicate support for visitors.
397 (packagemeta::getReadableCategoryList): Refactor to use
398 StringConcatenator with a predicate.
399 * choose.h: Remove unneeded c++ guards.
400
401 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
402
403 * choose.cc (scan_downloaded_files): Rename to
404 packagemeta::ScanDownloadedFiles.
405 (scanAVersion): Rename to packageversion::scan.
406 (GetParentRect): Rename to ChooserPage::getParentRect.
407 * choose.h (ChooserPage::getParentRect): Declare.
408 * package_meta.h (packagemeta::ScanDownloadedFiles): Declare.
409 * package_version.h (packageversion::scan): Declare.
410 * package_version.cc (packageversion::scan): Move from choose.cc
411 * package_meta.cc (packagemeta::ScanDownloadedFiles): Move from
412 choose.cc
413
414 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
415
416 * choose.cc (ChooserPage::OnNext): log before starting activity threads.
417 (ChooserPage::OnInit): Remove temporary variable frame.
418 (ChooserPage::setPrompt): Extract method from OnInit.
419 (choose_inst_text): Remove unused variable.
420 * choose.h(ChooserPage::setPrompt): Declare
421 * res.rc (IDD_CHOOSE): Bugfix: the chooser was setting a non-present
422 caption.
423
424 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
425
426 Remove package specific code from choose.cc.
427 Update copyrights where appropriate.
428 * choose.cc(ChooserPage::OnNext): Extract logging to
429 packagemeta::logSelectionStatus.
430 * package_meta.cc(packagemeta::logSelectionStatus): Extract from
431 ChooserPage::OnNext.
432 (StringConcatenator): helper for logSelectionStatus.
433 (action_caption): Make const.
434 * package_meta.h(packagemeta): Declare logSelectionStatus.
435 (packagemeta::action_caption): Make const.
436 * package_version.cc(packageversion::sourcePackage): Make const.
437 * package_version.h(packageversion::sourcePackage): Make const.
438
439 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
440
441 * choose.cc: Update copyright.
442 (ChooserPage::keepClicked): Extracted from OnMessageCmd.
443 (ChooserPage::changeTrust): Ditto.
444 * choose.h (ChooserPage): Declare keepClicked and changeTrust.
445 (ChooserPage::ifChecked): Extracted from OnMessageCmd.
446 * package_meta.h (SetRequirement): Adapter for visiting package
447 collections.
448
449 2003-07-26 Max Bowsher <maxb@ukf.net>
450
451 * tests/.cvsignore: New file, listing Makefile.in.
452
453 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
454
455 Save used local cache dir from initial run of setup, so the user doesn't
456 need to retype it.
457 * localdir.h (LocalDirSetting): UserSetting class for the local cache
458 dir.
459 * localdir.cc (LocalDirSetting::save): Replace save_local_dir, and
460 update callers.
461
462 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
463
464 Save used site from initial run of setup, so the user doesn't need to
465 retype it.
466 * main.cc (main): Load and save all user settings.
467 * site.cc (SiteSetting::save): Migrate logic from save_site_url.
468 (SitePage::OnNext): Use ChosenSites.save() to remove uneeded
469 save_site_url call.
470 (save_site_url): Delete.
471 * site.h (save_site_url): Remove declaration.
472 * .cvsignore: Update autoconf generated files.
473
474 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
475
476 * tests/Makefile.am: Driver for test suite.
477 * tests/UserSettingTest.cc: Test UserSetting interface.
478 * tests/UserSettingsTest.cc: Test UserSettings interface.
479 * Makefile.am: Add the tests dir to recurse into.
480 * configure.in: Ditto.
481 * UserSetting.h: Add load and save methods to allow global
482 serialisation.
483 Add explicit copy and assignment operators to prevent synthetics.
484 Make the constructor protected to prevent direct instantiation.
485 * UserSettings.h (UserSettings::loadAllSettings): New method.
486 (UserSettings::savedAllSettings): New method.
487 * UserSettings.cc: Implement new methods.
488 * site.cc: Implement stubs for new required UserSetting methods.
489 * site.h (ChosenSite): Ditto.
490 * bz2lib/: Ran automake.
491 * zlib/: Ran automake.
492
493 2003-07-23 Max Bowsher <maxb@ukf.net>
494
495 * desktop.cc (DesktopSetupPage::OnBack): Remove obsolete use of NEXT().
496 * root.cc (RootPage::OnNext): Ditto.
497 (RootPage::OnBack): Ditto.
498 * install.cc (do_install_thread): Remove obsolete use of next_dialog.
499 * main.cc (main): Ditto.
500 * postinstall.cc (do_postinstall_thread): Ditto.
501
502 2003-07-23 Max Bowsher <maxb@ukf.net>
503
504 * dialog.h (do_choose, do_desktop, do_local_dir, do_net, do_other)
505 (do_root, do_site, do_source, do_splash): Remove declarations, since
506 these functions no longer exist.
507
508 2003-07-23 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
509
510 * choose.cc (initialized): Remove obsolete file scope variable.
511
512 2003-07-18 Max Bowsher <maxb@ukf.net>
513
514 * res.rc: Make caption of every dialog page begin with "Cygwin Setup".
515 This aids recognition when minimized.
516 Prompted by Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>.
517
518 2003-07-10 Jeremy White <jwhite@codeweavers.com>
519
520 * mount.cc, root.cc, site.cc: Make StringOptions required,
521 thereby making --longopt <parm> behave as a newbie would expect.
522
523 2003-07-08 Max Bowsher <maxb@ukf.net>
524
525 * LogFile.h, cistring.h, dialog.h, diskfull.h, filemanip.h, geturl.h,
526 hash.h, log.h, mkdir.h, mklink2.h, mount.h, msg.h, netio.h, nio-file.h,
527 nio-ftp.h, nio-http.h, nio-ie5.h, port.h, simpsock.h, state.h,
528 version.h: Add inclusion guard.
529 * root.h: Standardize naming of inclusion guard.
530
531 2003-06-23 Max Bowsher <maxb@ukf.net>
532
533 * AntiVirus.h, Exception.h, FilterVisitor.h, FindVisitor.h,
534 IOStreamProvider.h, IniDBBuilder.h, IniDBBuilderPackage.h,
535 IniParseFeedback.h, IniParseFindVisitor.h, LogSingleton.h, MD5++.h,
536 PackageSpecification.h, PackageTrust.h, PickCategoryLine.h, PickLine.h,
537 PickPackageLine.h, PickView.h, RECTWrapper.h, ScanFindVisitor.h,
538 String++.h, UserSetting.h, UserSettings.h, archive.h, archive_tar.h,
539 category.h, choose.h, compress.h, compress_bz.h, compress_gz.h,
540 cygpackage.h, desktop.h, download.h, find.h, ini.h, io_stream.h,
541 io_stream_cygfile.h, io_stream_file.h, io_stream_memory.h,
542 io_stream_rsync.h, localdir.h, net.h, package_db.h, package_meta.h,
543 package_source.h, package_version.h, proppage.h, propsheet.h, script.h,
544 site.h, source.h, splash.h, threebar.h, win32.h, window.h:
545 Standardize naming and placement of inclusion guards.
546
547 2003-06-22 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
548
549 * res.rc (all dialogs): Change font from "MS Sans Serif" to
550 "MS Shell Dlg".
551
552 2003-06-22 Max Bowsher <maxb@ukf.net>
553
554 * Makefile.am: Clarify comment.
555 Derive AM_CFLAGS from AM_CXXFLAGS, rather than the other way around.
556 (AM_CXXFLAGS): Remove -Wmissing-declarations - it is a C-only warning.
557 (AM_CFLAGS): Add -Winline, and -Wmissing-declarations.
558
559 2003-06-22 Max Bowsher <maxb@ukf.net>
560
561 * rfc1738.cc (rfc1738_do_escape): Eliminate redundant conditional.
562
563 2003-06-05 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
564
565 * window.h (SETUP_WINDOW_H): Rename multi-include guard.
566 (Copyright): Update.
567 (RECTWrapper): New forward declaration.
568 (Window::Create): Move.
569 (Window::MoveWindow): New overload declaration.
570 * window.cc: (RECTWrapper.h) Include.
571 (Copyright): Update.
572 (Window::FirstWindowProcReflector): Use reinterpret_cast<> instead
573 of C-style casts.
574 (Window::MoveWindow): New overload.
575
576 2003-05-31 Max Bowsher <maxb@ukf.net>
577
578 * res.rc: Resize title controls to fully fill available width.
579
580 2003-05-07 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
581
582 * RECTWrapper.h: New file.
583
584 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
585
586 * script.cc (Script::extension): Extract method from Script::run.
587 (Script::run): Extract extension generation to Script::extension.
588 * script.h (Script::extension): Declare.
589
590 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
591
592 * script.cc (run_script): Remove.
593 (try_run_script): Inline method run_script.
594 * script.h (run_script): Remove.
595
596 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
597
598 * postinstall.cc (RunScript::operator()): Use new run syntax.
599 * script.h (Script::run): Eliminate to_log parameter.
600 * script.cc (Script::run): Ditto.
601 (run_script): Use new run syntax.
602
603 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
604
605 * script.cc (Script::run): Eliminate temp variable 'f2'.
606 Rename temp variable 'f2' to 'windowsName' for increased clarity.
607
608 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
609
610 * script.cc (Script::run): Eliminate temp variable 'fname'.
611
612 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
613
614 * script.cc (Script::run): Eliminate temp variable 'dir'.
615
616 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
617
618 * script.cc (run_script): Always pass TRUE to Script::run.
619 * script.h (run_script): Remove optional to_log parameter.
620
621 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
622
623 * script.cc (run_script): Move functionality into Script.
624 (Script::run): Absorb run_script.
625
626 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
627
628 * PickCategoryLine.cc (PickCategoryLine::click): Tell packagemeta we
629 are about to perform a visit.
630 * PickPackageLine.cc (PickPackageLine::click): Tell packagemeta we
631 are about to perform a visit.
632 * package_db.cc (packagedb::markUnVisited): Convenience wrapper -
633 mark all packages as unvisited.
634 * package_db.h (packagedb::markUnVisited): Declare.
635 * package_meta.cc (packagemeta::PrepareForVisit): New static method
636 to prepare for a loop-free visit.
637 (packagemeta::packagemeta): Adjust for new member.
638 (packagemeta::set_requirements): Only visit a node once.
639 (packagemeta::visited): Get and Set methods for new member visited_.
640 * package_meta.h (packagemeta::PrepareForVisit): Declare.
641 (packagemeta::visited): Declare.
642 (packagemeta::visited_): Declare.
643
644 2003-04-07 Max Bowsher <maxb@ukf.net>
645
646 * download.cc: Add command line option to suppress MD5 checks.
647 (validateCachedPackage): Test option and possibly skip.
648
649 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
650
651 Merge in setup-200303-troubleshooting fixes.
652
653 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
654
655 * main.cc (NTSecurity::setDefaultDACL): Reinstate commented code.
656 (NTSecurity::setDefaultSecurity): Ditto.
657
658 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
659
660 * main.cc (NTSecurity::setDefaultDACL): Use MS calculations for ACL
661 buffer sizing.
662
663 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
664
665 * main.cc (NTSecurity::setDefaultDACL): Sanity check memory allocation.
666
667 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
668
669 * main.cc (NTSecurity::setDefaultDACL): Adjust commented code for
670 auto_ptr use.
671
672 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
673
674 * main.cc (NTSecurity::NoteFailedAPI): Helper function.
675 Use throughout NTSecurity routines.
676 (NTSecurity::setDefaultDACL): Use dynamic memory for ACL storage.
677
678 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
679
680 * main.cc (NTSecurity::setDefaultDACL): Disable ~ 50% of remaining
681 active code.
682
683 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
684
685 * main.cc (NTSecurity::GroupInfo): Extract group query code.
686 (NTSecurity::setDefaultDACL): Disable ~ 50% of code.
687
688 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
689
690 * main.cc (NTSecurity::setDefaultSecurity): Disable ~ 50% of security
691 code.
692
693 2003-04-01 Robert Collins <rbtcollins@hotmail.com>
694
695 * main.cc (NTSecurity::setDefaultSecurity): Remove double declaration of
696 sz. User TokenGroupCollection to abstract token searching logic,
697 eliminate isadmin and isuser temporary variables.
698 (TokenGroupCollection): New class for querying token group information.
699
700 2003-04-01 Robert Collins <rbtcollins@hotmail.com>
701
702 * main.cc (NTSecurity::setDefaultSecurity): Extract esid initialisation.
703 Move local variables to just before first use.
704 SetTokenInformationFailures where being handled inconsistently.
705 Remove assignments from if statements.
706 (NTSecurity::esid): Rename to everyOneSID.
707 (NTSecurity::initialiseEveryOneSID): new method.
708 (NTSecurity::setDefaultDACL): Extract method for default DACL logic.
709
710 2003-04-01 Robert Collins <rbtcollins@hotmail.com>
711
712 * main.cc (SIDWrapper): Manage SID memory.
713 (HANDLEWrapper): Likewise for HANDLES.
714 (NTSecurity): Worker class for set_default_sec().
715 (set_default_sec): Move body into NTSecurity::setDefaultSecurity().
716 (NTSecurity::setDefaultSecurity): Eliminate goto out: via memory
717 managing objects.
718
719 2003-04-01 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
720
721 * cygwin.ico: Added two new resolutions, 64x64 and 72x72.
722
723 2003-03-29 Robert Collins <rbtcollins@hotmail.com>
724
725 * GUIDELINES: New file documenting code guidelines.
726
727 2003-03-26 Max Bowsher <maxb@ukf.net>
728
729 * .cvsignore: Add cfgaux.
730
731 2003-03-26 Robert Collins <rbtcollins@hotmail.com>
732
733 * package_version.cc (_defaultversion::accessible): Override and make
734 always false.
735 (_packageversion::accessible): Fix a couple of logic bugs resulting in
736 incorrect trues.
737 * package_version.h (_packageversion::accessible): Make virtual.
738
739 2003-03-25 Igor Pechtchanski <pechtcha@cs.nyu.edu>
740
741 * threebar.h (WM_APP_START_POSTINSTALL): New message.
742 (WM_APP_POSTINSTALL_THREAD_COMPLETE): New message.
743 * threebar.cc (ThreeBarProgressPage::OnMessageApp):
744 Add handling for WM_APP_START_POSTINSTALL and
745 WM_APP_POSTINSTALL_THREAD_COMPLETE.
746 * install.cc (do_install_thread): Set next_dialog to
747 IDD_S_POSTINSTALL.
748 * desktop.cc (DesktopSetupPage::OnFinish): Move the
749 do_postinstall call to ThreeBarProgressPage::OnMessageApp.
750 * script.h (Script::fullName): New member function.
751 (Script::run): New member function.
752 (Script::ETCPostinstall): New static member constant.
753 * script.cc (Script::fullName): Implement.
754 (Script::run): Implement.
755 (Script::ETCPostinstall): Define.
756 (Script::isAScript): Use ETCPostinstall instead of a
757 hardcoded string constant.
758 (run): Enable "#if 0"'d code.
759 * postinstall.cc (Progress): New extern variable.
760 (RunFindVisitor::visitFile): Add script to vector
761 instead of running.
762 (RunFindVisitor::_scripts): New member variable.
763 (RunScript): New helper class for use in for_each.
764 (do_postinstall_thread): Rename do_postinstall to. Add
765 Progress bar and text setting. Add package count.
766 (do_postinstall_reflector): New static function.
767 (do_postinstall): Rename to do_postinstall_thread.
768 Create a thread instead.
769
770 2003-03-18 Igor Pechtchanski <pechtcha@cs.nyu.edu>
771
772 * script.cc (run): Add file_out parameter.
773 Redirect output of subprocess to file, creating the
774 path if necessary. Minimize the script window.
775 (run_script): Add optional to_log boolean parameter.
776 If to_log, redirect output to temporary file and then
777 import it into LOG_BABBLE.
778 (OutputLog): New helper class.
779 (operator<<): New operation on OutputLog.
780 * script.h (run_script): Add optional to_log parameter.
781 * postinstall.cc (RunFindVisitor::visitFile): Instruct
782 run_script() to log script output.
783 (do_postinstall): Ditto.
784
785 2003-03-20 Robert Collins <rbtcollins@hotmail.com>
786
787 * package_meta.cc (packagemeta::set_action): The logic
788 test for the default action was reversed.
789
790 2003-03-18 Igor Pechtchanski <pechtcha@cs.nyu.edu>
791
792 * postinstall.cc (do_postinstall): Filter out '*.done'.
793 * FilterVisitor.h: New header file. Declare the
794 FilterVisitor, Filter, and ExcludeNameFilter classes.
795 * FilterVisitor.cc: New file. Implement FilterVisitor,
796 Filter, and ExcludeNameFilter.
797 * String++.h (String::matches): New instance function.
798 * String++.cc (String::matches): Implement.
799 (strmatch) Import and adapt for <buf,len> strings.
800 * Makefile.am (setup_SOURCES): Add FilterVisitor.cc and
801 FilterVisitor.h to value.
802
803 2002-03-18 Max Bowsher <maxb@ukf.net>
804
805 * LogFile.cc (LogFile::exit): Use CRT exit() instead of ExitProcess().
806 Use passed exit_code even if been_here.
807 Remove incorrect _CYGWIN_ preprocessor conditional.
808
809 2003-03-16 Robert Collins <rbtcollins@hotmail.com>
810
811 * package_db.h (PackageDBConnectedIterator): Typedef
812 for connected loop detection collection iterator.
813 * package_db.cc (ConnectedLoopDetector): An
814 implementation of R.E. Tarjans strongly connected
815 set visitor algorithm.
816 * postinstall.cc (do_postinstall): Use the new iterator
817 for visiting postinstall scripts.
818
819 2003-03-16 Robert Collins <rbtcollins@hotmail.com>
820
821 * install.cc: Introduce Installer class.
822 (init_dialog): Rename to Installer::initDialog.
823 (progress): Rename to Installer::progress.
824 (standard_dirs): Rename to Installer::StandardDirs.
825 (uninstall_one): Rename to Installer::uninstallOne.
826 (replace_one): Rename to Installer::replaceOne.
827 (log_ror_failure): Rename to
828 Installer::replaceOnRebootFailed.
829 (log_ror_success): Rename to
830 Installer::replaceOnRebootSucceeded.
831 (install_one_source): Rename to Installer::installOneSource.
832 Note script files as they are installed.
833 * package_version.cc (packageversion::addScript): Implement.
834 (packageversion::scripts): Implement.
835 * package_version.h (packageversion::addScript): Record the
836 presence of a script.
837 * script.h (Script): New class to track scripts.
838 * postinstall.cc (do_postinstall): Iterate through the
839 package listed scripts before searching for scripts.
840 * String++.cc (String::substr): Second argument needed to
841 be signed.
842 * String++.h (String::substr): Second argument needed to
843 be signed.
844
845 2003-03-16 Max Bowsher <maxb@ukf.net>
846
847 * .cvsignore: Create, to ignore configure, aclocal.m4, Makefile.in and
848 autom4te.cache.
849
850 2003-03-16 Max Bowsher <maxb@ukf.net>
851
852 * UserSettings.cc (UserSettings::Instance): Remove premature return.
853
854 2003-03-15 Robert Collins <rbtcollins@hotmail.com>
855
856 * script.cc (run): Rename variable b to createSucceeded.
857
858 2003-03-15 Igor Pechtchanski <pechtcha@cs.nyu.edu>
859
860 * script.cc (run): Close unneeded handles.
861
862 2003-03-15 Robert Collins <rbtcollins@hotmail.com>
863
864 * configure: Remove.
865 * aclocal.m4: Remove.
866 * Makefile.in: Remove.
867 * cfgaux: Remove.
868 * cfgaux/compile: Remove.
869 * cfgaux/config.guess: Remove.
870 * cfgaux/config.sub: Remove.
871 * cfgaux/depcomp: Remove.
872 * cfgaux/install-sh: Remove.
873 * cfgaux/ltmain.sh: Remove.
874 * cfgaux/missing: Remove.
875 * cfgaux/mkinstalldirs: Remove.
876
877 2003-03-14 Igor Pechtchanski <pechtcha@cs.nyu.edu>
878
879 * install.cc (replace_one): Clear Text3.
880
881 2003-03-14 Igor Pechtchanski <pechtcha@cs.nyu.edu>
882
883 * install.cc (install_one_source): Add logging for successful
884 replace-on-reboot scheduling. Factor out duplicate code.
885 Set rebootneeded on Win9x.
886 (log_ror_failure): New static function.
887 (log_ror_success): New static function.
888
889 2003-03-14 Robert Collins <rbtcollins@hotmail.com>
890
891 * choose.cc (ChooserPage::OnNext): Fix iterator bug. Reported by
892 Igor Pechtchanski <pechtcha@cs.nyu.edu>.
893
894 2003-03-13 Max Bowsher <maxb@ukf.net>
895
896 * Update included zlib to 1.1.4.
897
898 2003-03-13 Robert Collins <rbtcollins@hotmail.com>
899
900 * install.cc (do_install_thread): Use a query method rather than temp
901 variable do_skip.
902
903 2003-03-09 Pavel Tsekov <ptsekov@gmx.net>
904
905 * install.cc (do_install_thread): Use IDS_SKIP_PACKAGE
906 instead of IDS_CORRUPT_PACKAGE when asking the user to take
907 action if the hash verification check fails for a source package.
908 Do not increase the value of 'total_bytes' variable if the
909 user chooses to skip over a package, which failed the hash
910 verification.
911
912 2003-03-10 Max Bowsher <maxb@ukf.net>
913
914 * Makefile.am: Add foreign to AUTOMAKE_OPTIONS.
915
916 2003-03-10 Robert Collins <rbtcollins@hotmail.com>
917
918 * UserSettings.cc (UserSettings::init): Really initialize all members.
919
920 2003-03-10 Robert Collins <rbtcollins@hotmail.com>
921
922 * Exception.h: Add a logic error exception id.
923 * Makefile.am: Add new sources.
924 * UserSettings.cc: New file.
925 * UserSettings.h: New file.
926 * UserSetting.cc: New file.
927 * UserSetting.h: New file.
928 * site.h: Add a SiteSetting as example of a UserSetting.
929 * site.cc (ChosenSites): Add a instance of SiteSetting to trigger
930 registration.
931
932 2003-03-10 Robert Collins <rbtcollins@hotmail.com>
933
934 * compress_bz.cc (compress_bz::read): Adjust incorrect assignment of
935 lasterr.
936 (compress_bz::error): Return lasterr which will indicate any error.
937
938 2003-03-10 Robert Collins <rbtcollins@hotmail.com>
939
940 * choose.h (ChooserPage): Override OnActivate.
941 * choose.cc (ChooserPage::OnActivate): Refresh the current view when
942 activating the dialog.
943
944 2003-03-09 Robert Collins <rbtcollins@hotmail.com>
945
946 * package_version.cc (_defaultversion::pick(bool)): Override this and
947 do nothing.
948 (packageversion::pick(bool): Use a mutator function rather than direct
949 member access.
950 * package_version.h (_packageversion::pick(bool)): Move method from
951 _packageversion.
952
953 2003-02-16 Pavel Tsekov <ptsekov@gmx.net>
954
955 * install.cc (install_one_source): Remove the MD5 verification
956 code.
957 Delay the creation of the package listing file.
958 (do_install_thread): Check the hashes for packages which need
959 to be installed before the uninstall step. Allow the user to
960 skip over packages, which fail the hash verification.
961 (md5_one): Define new function.
962 * res.rc (IDS_SKIP_PACKAGE): New string resource.
963 * resource.h (IDS_SKIP_PACKAGE): New macro definition.
964
965 2003-02-16 Pavel Tsekov <ptsekov@gmx.net>
966
967 * Exception.h: Declare new constructor.
968 (Exception::_message): Change the type from 'const char *' to
969 'class String'.
970 (Exception::~Exception): Implement destructor (make gcc shut up).
971 * Exception.cc: Implement new constructor.
972 (Exception::what): Use String::cstr_oneuse ().
973 * download.cc (validateCachedPackage): Use the constructor, which
974 takes String& as its second argument, when throwing objects
975 of type Exception.
976 (check_for_cached): Ditto.
977 * install.cc (install_one_source): Ditto.
978
979 2003-02-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
980
981 * res.rc (IDS_INSTALL_INCOMPLETE): Change hard-coded
982 log filename to %s.
983 (IDS_MISSING_LOG): New string resource.
984 * resource.h (IDS_MISSING_LOG): New resource.
985 * LogFile.cc (LogFile::exit): Pass log filename for
986 LOG_BABBLE to note().
987 (LogFile::getFileName): New function.
988 * LogFile.h (LogFile::getFileName): New function.
989
990 2003-02-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
991
992 * String++.cc: Don't include concat.h.
993 * Makefile.am: Remove concat.cc and concat.h references.
994 * concat.h: Remove.
995 * concat.cc: Remove.
996
997 2003-03-09 Max Bowsher <maxb@ukf.net>
998
999 * bootstrap.sh: Add sanity check of current directory.
1000 Recurse into libgetopt++ if needed.
1001
1002 2003-03-09 Robert Collins <rbtcollins@hotmail.com>
1003
1004 * Update readme of bugs and wishes.
1005
1006 2003-03-05 Max Bowsher <maxb@ukf.net>
1007
1008 * netio.cc (save_dialog): Allocate an empty string if the password is
1009 null, so that an empty password is accepted elsewhere in setup.
1010 (check_if_enable_ok): An empty password is OK.
1011
1012 2003-03-05 Brian Keener <bkeener@thesoftwaresource.com>
1013
1014 * PickView.cc (PickView::views): Add two new views for Skipped
1015 packages and Installed Packages not requiring update.
1016 (PickView::set_headers () ): Ditto.
1017 (PickView::clear_view (void) ): Ditto.
1018 (PickView::views::caption () ): Add two new captions for the new
1019 views added for Skipped and Installed Packages.
1020 (PickView::scroll () ): Modify Scroll Bar property to Disable
1021 instead of disappearing when there is nothing to Scroll.
1022 * PickView.h: Add two new views for Skipped packages and Installed
1023 packages to public class view.
1024 * choose.cc (list_click () ): Modify Scroll Bar property to Disable
1025 instead of disappearing when there is nothing to Scroll.
1026 (listview_proc () ): Ditto.
1027 (set_view_mode): Add two new views for Skipped Packages and Installed
1028 Packages not requiring update. Modify Scroll Bar property to Disable
1029 instead of disappearing when there is nothing to scroll.
1030 * res.rc (IDD_CHOOSE): Reposition Radio Buttons, View Selection
1031 Button and View Button Caption to make room for longer captions.
1032
1033 2003-03-04 Max Bowsher <maxb@ukf.net>
1034
1035 * compress_gz.cc (compress_gz::construct):
1036 Fix broken checkin dated 2002-07-03.
1037
1038 2003-02-28 Max Bowsher <maxb@ukf.net>
1039
1040 * main.cc (set_default_sec): Add logging.
1041
1042 2003-02-28 Pierre Humblet <pierre.humblet@ieee.org>
1043
1044 * main.cc (set_default_dacl): Replace with set_default_sec.
1045 (set_default_sec): Attempt to change the default group to
1046 Users or Administrators if it is None, in addition to setting
1047 Everyone in the default DACL.
1048 (main): Call set_default_sec instead of set_default_dacl.
1049
1050 2003-01-31 Max Bowsher <maxb@ukf.net>
1051
1052 * install.cc (install_one_source): Fix spacing in log message.
1053
1054 2003-01-19 Max Bowsher <maxb@ukf.net>
1055
1056 * resource.h (IDC_CHOOSE_KEEP): Define.
1057 * res.rc (IDD_CHOOSE): Add radio button IDC_CHOOSE_KEEP.
1058 * choose.cc (create_listview): Add IDC_CHOOSE_KEEP to ta[].
1059 (ChooserPage::OnMessageCmd): Handle new IDC_CHOOSE_KEEP button.
1060
1061 2003-01-15 Max Bowsher <maxb@ukf.net>
1062
1063 * mkdir.cc [_CYGWIN_]: Implement what was pseudocode.
1064 * io_stream.h [__CYGWIN__]: Don't typedef ssize_t.
1065 * proppage.h: Include "win32.h" instead of <windows.h>.
1066
1067 2003-01-15 Max Bowsher <maxb@ukf.net>
1068
1069 * mount.cc [MAINTAINER_FEATURES]: Add --override-registry-name option.
1070
1071 2002-12-11 Abraham Backus <abraham@backus.com>
1072
1073 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Leave port out of Host header,
1074 unless non-default.
1075
1076 2002-12-11 Max Bowsher <maxb@ukf.net>
1077
1078 * package_meta.cc: Change 'endl' to 'endLog' as appropriate.
1079 * package_version.cc: Ditto.
1080
1081 2002-09-22 Max Bowsher <maxb@ukf.net>
1082
1083 * PickView.cc (pkg_headers): Rename column 'Category' to 'Categories'.
1084 * package_meta.h (packagemeta::getReadableCategoryList): Declare.
1085 * package_meta.cc (packagemeta::getReadableCategoryList): Implement.
1086 * PickPackageLine.cc (PickPackageLine::paint): Change to use
1087 getReadableCategoryList.
1088 Fix x2 argument to IntersectClipRect.
1089
1090 2002-11-25 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
1091
1092 * window.h (Window::GetWindowRect): New method declaration.
1093 (Window::GetClientRect): Ditto.
1094 (Window::MoveWindow): Ditto.
1095 (Window::ScreenToClient): Ditto.
1096 * window.cc (REFLECTION_INFO): Remove.
1097 (ReflectionInfo): Remove.
1098 (Window::FirstWindowProcReflector): Use the WM_NCCREATE message instead
1099 of the horrid REFLECTION_INFO hack to hook the Window instance to the
1100 HWND instance.
1101 (Window::WindowProcReflector): Use GetWindowLongPtr() now that it's
1102 available.
1103 (Window::Create): Change to use new WM_NCCREATE reflection procedure
1104 above.
1105 (Window::GetWindowRect): New method.
1106 (Window::GetClientRect): New method.
1107 (Window::MoveWindow): New method.
1108 (Window::CenterWindow): Use new methods, also specify "::" for some non-
1109 member functions with the same names.
1110 (Window::ScreenToClient): New method.
1111
1112 2002-11-26 Robert Collins <rbtcollins@hotmail.com>
1113
1114 * AntiVirus.cc: Change the short option again! It's now 'A'.
1115 * desktop.cc (etc_profile): Remove.
1116 (make_etc_profile): Remove.
1117 (uexists): Remove.
1118 (make_passwd_group): Remove.
1119 (do_desktop_setup): Don't call removed functions.
1120
1121 2002-11-26 Robert Collins <rbtcollins@hotmail.com>
1122
1123 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Fix my botched application of
1124 Marcel's patch.
1125
1126 2002-07-08 Marcel Telka <marcel@telka.sk>
1127
1128 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Fixed decoding of the FTP
1129 reply (code 227) to the PASV command.
1130
1131 2002-11-26 Robert Collins <rbtcollins@hotmail.com>
1132
1133 * IniDBBuilderPackage.cc (IniDBBuilderPackage::~IniDBBuilderPackage):
1134 Sort the packages db once all the new packages have been added.
1135 * IniDBBuilderPackage.h (IniDBBuilderPackage::~IniDBBuilderPackage):
1136 Declare this.
1137
1138 2002-11-26 Robert Collins <rbtcollins@hotmail.com>
1139
1140 * choose.cc (ChooserPage::OnNext): Remove extracted comment.
1141 * package_version.cc (processOneDependency): Return once selecting
1142 a package (bugfix to prevous rework).
1143 Log if the default trust fails the package specification.
1144
1145 2002-11-26 Robert Collins <rbtcollins@hotmail.com>
1146
1147 * package_meta.h (packagemeta::logAllVersions): Declare.
1148 (packagemeta::trustLabel): Ditto.
1149 * choose.cc (ChooserPage::OnNext): Get each package to log all it's
1150 versions.
1151 * package_meta.cc (packagemeta::logAllVersions): Implement.
1152 (packagemeta::trustLabel): Ditto.
1153
1154 2002-11-25 Robert Collins <rbtcollins@hotmail.com>
1155
1156 * AntiVirus.cc: Change 'd' to 'D' to fix command line conflict.
1157
1158 2002-11-25 Robert Collins <rbtcollins@hotmail.com>
1159
1160 * AntiVirus.cc: New file.
1161 * AntiVirus.h: Ditto.
1162 * LogFile.cc: Include AntiVirus.h for class definition.
1163 (LogFile::exit): Trigger AntiVirus::AtExit().
1164 * MakeFile.am(setup_SOURCES): Add AntiVirus files.
1165 * autoload.c: Declare Service Control Manager related API's.
1166 * main.cc: Include AntiVirus.h for class definition.
1167 (main): Add the AntiVirus page in.
1168 * res.rc: Define IDD_VIRUS.
1169 * resource.h: Define IDD_VIRUS related control ID's.
1170 * splash.h: Override OnNext.
1171 * splash.cc: Only show AntiVirus page when one has been detected.
1172 * source.cc: Ditto.
1173
1174 2002-11-25 Robert Collins <rbtcollins@hotmail.com>
1175
1176 * package_version.cc (DependencyProcessor): Create convenience class.
1177 (select): Extract version selection method.
1178 (processOneDependency): Check for a satisfactory trusted version
1179 first.
1180
1181 2002-11-10 Robert Collins <rbtcollins@hotmail.com>
1182
1183 * main.cc (main): Use the factory for LogFile.
1184 * String++.cc: Update to use sstream.
1185 (String::String): Use a ostringstream for libC++ 3.2.
1186 * LogFile.h (LogFile): Make createLogFile static.
1187
1188 2002-11-10 Robert Collins <rbtcollins@hotmail.com>
1189
1190 * main.cc (main): Oops, pass LogSingleton a reference, not a pointer.
1191
1192 2002-11-04 Max Bowsher <maxb@ukf.net>
1193
1194 * Exception.h (Exception::what): Add throw() specification,
1195 to agree with libstdc++-v3.
1196 * Exception.cc (Exception::what): Ditto.
1197 * IniDBBuilderPackage.h: Add 'std::' where needed.
1198 * PickCategoryLine.h: Ditto.
1199 * category.h: Ditto.
1200 * package_db.h: Ditto.
1201 * package_meta.h: Ditto.
1202 * package_source.h: Ditto.
1203 * package_version.h: Ditto.
1204 * site.h: Ditto.
1205 * win32.h: Define NOMINMAX before including <windows.h>.
1206 * package_meta.cc: Add 'using namespace std;'.
1207 (packagemeta::set_requirements): Remove default parameter values
1208 from definition (gcc3 likes them only in declaration).
1209 * package_version.cc: Add 'using namespace std;'.
1210 (packageversion::set_requirements): Remove default parameter
1211 values from definition (gcc3 likes them only in declaration).
1212
1213 2002-11-10 Robert Collins <rbtcollins@hotmail.com>
1214
1215 * compress_bz.cc: Don't include bzlib.h directly, the compress_bz.h
1216 header includes it.
1217
1218 2002-11-04 Max Bowsher <maxb@ukf.net>
1219
1220 * compress_bz.h: #undef small before including bzlib.h - if we are
1221 going to hide the fact that we are _WIN32 from bzlib, then we need
1222 to #undef small for it as well (bad windows.h clash).
1223
1224 2002-11-10 Robert Collins <rbtcollins@hotmail.com>
1225
1226 * localdir.cc: Update the extern LogFile to be a pointer.
1227 (save_local_dir): Change . to -> for the above.
1228 * main.cc (theFile): Change from an instance to a pointer.
1229 (main): Change . to -> for the above.
1230
1231 2002-11-10 Robert Collins <rbtcollins@hotmail.com>
1232
1233 * LogFile.cc: use 'std::' where needed throughout.
1234 (LogFile::createLogFile): Implement a factory for LogFile.
1235 (LogFile::LogFile): Update for use with the factory, and to
1236 handle the latest g++ library changes.
1237 (LogFile::operator()): Ditto.
1238 (LogFile::endEntry()): Ditto.
1239 * LogFile.h: Ditto.
1240 * LogSingleton.cc: Ditto.
1241 * LogSingleton.h: Ditto.
1242
1243 2002-11-04 Max Bowsher <maxb@ukf.net>
1244
1245 * String++.h: Add 'std::' where needed.
1246
1247 2002-11-04 Max Bowsher <maxb@ukf.net>
1248
1249 * IniDBBuilderPackage.cc: Add 'using namespace std;'.
1250 * IniParseFindVisitor.cc: Ditto.
1251 * LogFile.cc: Ditto.
1252 * LogSingleton.cc: Ditto.
1253 * PickView.cc: Ditto.
1254 * String++.cc: Ditto.
1255 * choose.cc: Ditto.
1256 * download.cc: Ditto.
1257 * find.cc: Ditto.
1258 * install.cc: Ditto.
1259 * io_stream.cc: Ditto.
1260 * io_stream_file.cc: Ditto.
1261 * package_db.cc: Ditto.
1262 * root.cc: Ditto.
1263 * site.cc: Ditto.
1264
1265 2002-11-04 Max Bowsher <maxb@ukf.net>
1266
1267 * LogSingleton.h: Add 'std::' where needed.
1268
1269 2002-11-04 Max Bowsher <maxb@ukf.net>
1270
1271 * archive_tar_file.cc: Include <algorithm>.
1272 Change min(a,b) to std::min(a,b)
1273 * compress_bz.cc: Ditto.
1274 * compress_gz.cc: Ditto.
1275
1276 2002-11-04 Max Bowsher <maxb@ukf.net>
1277
1278 * res.rc: Change a #-comment (invalid) to a //-comment.
1279
1280 2002-11-04 Max Bowsher <maxb@ukf.net>
1281
1282 * Makefile.am (%.o: %.rc): Make windres use $(CC) not hardcoded gcc.
1283 (inilint_LDADD): Remove -lstd++.
1284 (setup_LDADD): Ditto.
1285
1286 2002-09-22 Max Bowsher <maxb@ukf.net>
1287
1288 * IniDBBuilderPackage.cc: Update DEBUG code to current class
1289 layout.
1290
1291 2002-09-21 Robert Collins <rbtcollins@hotmail.com>
1292
1293 * choose.h: Add OnUnattended method.
1294 * desktop.cc (DesktopSetupPage::OnInit): Allow fine grained
1295 control via command line options.
1296 (DesktopSetupPage::OnUnattended): Implement.
1297 (DesktopSetupPage::OnMessageApp): Implement.
1298 * desktop.h (DesktopSetupPage::OnUnattended): declare.
1299 (DesktopSetupPage::OnMessageApp): Ditto.
1300 * download.cc (do_download_thread): Support unattended mode.
1301 * install.cc (do_install_thread): Ditto.
1302 * localdir.h: Ditto.
1303 * main.cc (main): Ditto.
1304 * net.cc (NetPage::OnUnattended): Ditto.
1305 * net.h (NetPage::OnUnattended): Declare.
1306 * proppage.cc (PropertyPage::DialogProc): Support unattended mode.
1307 * proppage.h (PropertyPage::OnUnattended): Declare.
1308 * root.cc (RootPage::OnInit): Support unattended mode.
1309 (RootPage::OnUnattended): Implement.
1310 * root.h (RootPage::OnUnattended): Declare.
1311 * site.cc (register_saved_site): Extract Method from get_saved_sites.
1312 (get_saved_sites): Remove common code for adding a site.
1313 (SitePage::OnInit): Support unattended mode.
1314 (SitePage::OnUnattended): Implement.
1315 * site.h (SitePage::OnUnattended): Declare.
1316 * source.cc (SourcePage::OnActivate): Support unattended mode.
1317 (SourcePage::OnUnattended): Implement.
1318 * source.h (SourcePage::OnUnattended): Declare.
1319 * splash.h (SplashPage::OnUnattended): Declare.
1320 * state.cc (unattended_mode): Declare.
1321 * state.h (unattended_mode): Declare.
1322 * threebar.h (ThreeBarProgressPage::OnUnattended): New method.
1323
1324 2002-09-21 Robert Collins <rbtcollins@hotmail.com>
1325
1326 * res.rc: Commit Harry Johnston's dialog caption patch. From July.
1327
1328 2002-07-15 Robert Collins <rbtcollins@hotmail.com>
1329
1330 * package_version.cc (packageversion::sources): Implement this.
1331 * download.cc (do_download_thread): Support multiple files per package.
1332
1333 2002-07-15 Robert Collins <rbtcollins@hotmail.com>
1334
1335 * package_version.h (packageversion::sources): Support multiple files in
1336 a single package version.
1337 * package_version.cc (_packageversion::accessible): Ditto.
1338 (packageversion::source): Ditto.
1339
1340 2002-07-15 Robert Collins <rbtcollins@hotmail.com>
1341
1342 * iniparse.y: Implement support for multiple source files for a source
1343 package.
1344 * IniDBBuilder.h (IniDBBuilder::buildSourceFile): Ditto.
1345 * IniDBBuilderPackage.h (IniDBBuilder::buildSourceFile): Ditto.
1346 * IniDBBuilder.cc (IniDBBuilder::buildSourceFile): Ditto.
1347 * IniDBBuilderPackage.cc (IniDBBuilder::buildSourceFile): Implement a
1348 stub as preparation.
1349
1350 2002-07-13 Robert Collins <rbtcollins@hotmail.com>
1351
1352 * PickPackageLine.cc (PickPackageLine::click): Set requirements for
1353 packages under all circumstances - slightly higher overheader, simpler
1354 code.
1355 * download.cc (do_download_thread): Correctly download source
1356 packages.
1357 * package_meta.cc (checkForInstalled): Remove.
1358 (checkForUpgradeable): Ditto.
1359 (checkForSatisfiable): Ditto.
1360 (processOneDependency): Ditto.
1361 (packagemeta::set_requirements): Move guts to packageversion.
1362 * package_version.cc (checkForInstalled): Copied from package_meta.cc.
1363 (checkForUpgradeable): Ditto.
1364 (checkForSatisfiable): Ditto.
1365 (processOneDependency): Ditto.
1366 (packageversion::set_requirements): Ditto.
1367 * package_version.h (packageversion::set_requirements): Declare.
1368
1369 2002-07-13 Robert Collins <rbtcollins@hotmail.com>
1370
1371 * IniDBBuilder.cc (IniDBBuilder::buildBeginBuildDepends): Implement.
1372 (IniDBBuilder::buildBeginBinary): Implement.
1373 * IniDBBuilder.h (IniDBBuilder::buildBeginBuildDepends): Declare.
1374 (IniDBBuilder::buildBeginBinary): Ditto.
1375 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildBeginBuildDepends):
1376 Implement.
1377 (IniDBBuilderPackage::buildBeginBinary): Ditto.
1378 * IniDBBuilderPackage.h (IniDBBuilderPackage::buildBeginBuildDepends):
1379 Declare.
1380 (IniDBBuilderPackage::buildBeginBinary): Ditto.
1381 * inilex.l: Recognise Build-Depends-Indep, [,], >, < and remove
1382 T_UNKNOWN.
1383 * iniparse.y: Full support for parsing a debian Sources file in-line in
1384 setup.ini.
1385 * package_version.cc (packageversion::binaries): Implement.
1386 * package_version.h (packageversion::binaries): Declare list of what
1387 packages are created from a given source package.
1388 (_packageversion::binaries): Ditto.
1389
1390 2002-07-10 Robert Collins <rbtcollins@hotmail.com>
1391
1392 * iniparse.y: Add basis for support for parsing a debian Sources file.
1393 * inilex.l: Ditto.
1394
1395 2002-07-09 Robert Collins <rbtcollins@hotmail.com>
1396
1397 Change custom container code for packagedb::packages to STL containers
1398 throughout.
1399 * IniDBBuilderPackage.cc: Ditto.
1400 * PickView.cc: Ditto.
1401 * choose.cc: Ditto.
1402 * desktop.cc: Ditto.
1403 * download.cc: Ditto.
1404 * install.cc: Ditto.
1405 * package_db.cc: Ditto.
1406 * package_db.h: Ditto.
1407 * Makefile.am: Remove list.h references.
1408 * list.h: Remove.
1409
1410 2002-07-08 Max Bowsher <maxb@ukf.net>
1411
1412 * PickView.cc (PickView::PickView): Set font of package list header to
1413 the same as used in the rest of the package list.
1414
1415 2002-07-08 Robert Collins <rbtcollins@hotmail.com>
1416
1417 * install.cc (NoReplaceOnReboot): New command line option to prevent
1418 replacing in use files.
1419 (install_one_source): Check the option and use it.
1420 * README: Update TODO lists.
1421
1422 2002-07-08 Robert Collins <rbtcollins@hotmail.com>
1423
1424 * PickCategoryLine.cc: Change bucket to use STL container syntax
1425 throughout.
1426 (PickCategoryLine::paint): Use new Category type syntax.
1427 * PickCategoryLine.h: Use STL vectors rather than custom containers
1428 throughout.
1429 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageCategory):
1430 Use new add_category syntax.
1431 * PickView.cc (PickView::insert_pkg): Use new Category type syntax.
1432 (PickView::insert_category): Ditto.
1433 (PickView::init_headers): Ditto.
1434 * category.cc: Trim obsolete code.
1435 * category.h: Replace interconnecting class with a typedef to
1436 facilitate leveraging STL maps.
1437 * choose.cc (fill_missing_category): Use updated pkg.add_category
1438 syntax.
1439 (default_trust): Use new Category type syntax.
1440 (set_view_mode): Ditto.
1441 (create_listview): Ditto.
1442 * package_db.cc (categories): Ditto.
1443 * package_db.h: Update headers list to include needed headers.
1444 (packagedb::categories): Replace custom list with STL map.
1445 * package_meta.cc: Use new Category type syntax throughout.
1446 (packagemeta::add_category): Implement new syntax.
1447 * package_meta.h: Remove commented out source.
1448 (packagemeta::add_category): Update syntax to decouple interface from
1449 packagedb.
1450
1451 2002-07-06 Christopher Faylor <cgf@redhat.com>
1452
1453 * site.cc (do_download_site_info_thread): Correct spelling error.
1454
1455 2002-07-06 Robert Collins <rbtcollins@hotmail.com>
1456
1457 * PickCategoryLine.h: Include required header list.h.
1458 * PickPackageLine.cc (PickPackageLine::paint): Adjust to use STL
1459 containers for listing of packages per category and vice verca.
1460 * PickView.cc (PickView::insert_pkg): Ditto.
1461 (PickView::insert_category): Ditto.
1462 * String++.h (String::caseless): STL helper to allow trivial containers
1463 of Strings with case insensitive comparisons.
1464 * category.h: Adjust to use STL containers for listing of packages per
1465 category and vice verca.
1466 * choose.cc (fill_missing_category): Ditto.
1467 (default_trust): Ditto.
1468 (ChooserPage::OnNext): Ditto.
1469 * package_meta.cc (CategoryPackage::~CategoryPackage): Remove.
1470 (packagemeta::packagemeta): Adjust for new category list name.
1471 (packagemeta::~packagemeta): Adjust to use STL containers for listing
1472 of packages per category and vice verca.
1473 (packagemeta::set_action): Ditto.
1474 * package_meta.h (CategoryPackage): Remove.
1475 (packagemeta): Adjust to use STL containers for listing of packages per
1476 category and vice verca.
1477
1478 2002-07-05 Robert Collins <rbtcollins@hotmail.com>
1479
1480 * io_stream.cc: Use STL containers rather than custom ones.
1481 (io_stream::registerProvider): Ditto.
1482 (findProvider): Ditto.
1483
1484 2002-07-05 Robert Collins <rbtcollins@hotmail.com>
1485
1486 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource):
1487 Use STL collections for download site collections.
1488 (IniDBBuilderPackage::add_correct_version): Ditto.
1489 (IniDBBuilderPackage::process_src): Ditto.
1490 * PickPackageLine.cc (PickPackageLine::click): Use the packageversion
1491 accessible() call to abstract package availability.
1492 * choose.cc (scanAVersion): Use STL collections for download site
1493 collections.
1494 * download.cc (check_for_cached): Ditto.
1495 (download_one): Ditto.
1496 * package_meta.cc (packagemeta::set_action): Use the packageversion
1497 accessible() call to abstract package availability.
1498 * package_source.h: Use STL containers rather than custom containers.
1499 (site): Create a == operator to allow STL container use.
1500 (packagesource::sites): Use STL containers rather than custom
1501 containers.
1502 * package_version.cc (_packageversion::accessible): Use STL containers
1503 for download site containers.
1504
1505 2002-07-05 Robert Collins <rbtcollins@hotmail.com>
1506
1507 * LogFile.cc: Use STL containers rather than custom containers.
1508 (filedef): Create == and < operators for STL use.
1509 (files): Convert to an STL set.
1510 (LogFile::setFile): Use STL operations on files.
1511 (LogFile::exit): Ditto.
1512
1513 2002-07-05 Robert Collins <rbtcollins@hotmail.com>
1514
1515 * ini.cc (do_remote_ini): Use STL collection for site collection.
1516 * site.cc: Include site.h first to ensure it's parsable standalone.
1517 Use STL algorithms.
1518 (site_list): Convert to an STL container.
1519 (all_site_list): Ditto.
1520 (site_list_type::site_list_type): Implement copy constructor.
1521 (site_list_type::operator=): Implement assignment operator.
1522 (site_list_type::operator ==): Implement.
1523 (site_list_type::operator <): Ditto.
1524 (save_dialog): Use STL collection calls for site collection.
1525 (save_site_url): Ditto.
1526 (get_site_list): Ditto.
1527 (get_saved_sites): Ditto.
1528 (do_download_site_info_thread): Ditto.
1529 (SitePage::OnNext): Ditto.
1530 (SitePage::PopulateListBox): Ditto.
1531 (SitePage::OnMessageCmd): Ditto.
1532 * site.h: Use STL vectors instead of custom code.
1533 (site_list_type::site_list_type): Declare.
1534 (site_list_type::operator=): Ditto.
1535 (site_list_type::operator ==): Ditto.
1536 (site_list_type::operator !=): Ditto.
1537 (site_list_type::operator <): Ditto.
1538 (site_list_type::operator <=): Ditto.
1539 (site_list_type::operator >): Ditto.
1540 (site_list_type::operator >=): Ditto.
1541 (site_list): Convert to an STL container.
1542 (all_site_list): Ditto.
1543
1544 2002-07-05 Robert Collins <rbtcollins@hotmail.com>
1545
1546 * choose.cc (default_trust): Check package accessibility before
1547 triggering an install. (Suggested by Pavel).
1548
1549 2002-07-03 Pavel Tsekov <ptsekov@gmx.net>
1550
1551 * compress_gz.cc (compress_gz::construct): Always initialize key members
1552 to ensure the destructor does the right thing.
1553
1554 2002-07-03 Pavel Tsekov <ptsekov@gmx.net>
1555
1556 * filemanip.cc (parse_filename): Do not try to parse empty
1557 strings (filenames).
1558 * package_db.cc (packagedb::packagedb): For each line check if sscanf()
1559 extracted good package name and filename.
1560
1561 2002-07-03 Robert Collins <rbtcollins@hotmail.com>
1562
1563 * package_meta.cc (packagemeta::set_requirements): Automatically select
1564 version of dependent packages that satisfies the requirements.
1565 Use processOneDependency to trigger the install of those packages.
1566 (checkForInstalled): Check that the package remains installed.
1567 (processOneDependency): Helper function for dependent packages.
1568 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackage): Add more
1569 debug information.
1570 Clear out all current state on new packages.
1571 (IniDBBuilderPackage::add_correct_version): Copy the dependency list
1572 across.
1573
1574 2002-07-02 Robert Collins <rbtcollins@hotmail.com>
1575
1576 * Makefile.am (inilint_SOURCES): Add PackageSpecification sources.
1577 nb: inilint is still incomplete, as the packageversion code is not
1578 ready for database-less linking.
1579 * site.cc (get_site_list): When the same site is reentered by the user
1580 replace the old one. (Suggested by John Marshall).
1581
1582 2002-07-02 Robert Collins <rbtcollins@hotmail.com>
1583
1584 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource):
1585 Clear out package selections when generating implicit source packages.
1586 * PackageSpecification.cc (PackageSpecification::satisfies): Implement.
1587 (PackageSpecification::_operators::satisfies): Implement.
1588 * PackageSpecification.h (PackageSpecification::_operators::satisfies):
1589 Worker function for testing versions.
1590
1591 2002-07-01 Robert Collins <rbtcollins@hotmail.com>
1592
1593 * IniDBBuilder.cc (IniDBBuilder::buildPackageRequirement): Remove.
1594 * IniDBBuilder.h (IniDBBuilder::buildPackageRequirement): Ditto.
1595 * IniDBBuilderPackage.cc: Use the STL algorithms.
1596 Change cpv to cbpv throughout. Adjust -> to ., and use the new accessor
1597 functions for the same variable throughout.
1598 (IniDBBuilderPackage::IniDBBuilderPackage): Initialise new members.
1599 (IniDBBuilderPackage::buildPackage): Use new cygpackage syntax,
1600 and set an empty source package.
1601 (IniDBBuilderPackage::buildPackageInstall): Use the new source member
1602 to record an install package.
1603 (IniDBBuilderPackage::buildPackageSource): Move source package logic
1604 out from process_src, as it now occurs at separate times.
1605 (IniDBBuilderPackage::buildPackageRequirement): Remove.
1606 (IniDBBuilderPackage::buildSourceName): Use renamed package
1607 specifiation accessor for clarity.
1608 (IniDBBuilderPackage::buildSourceNameVersion): Ditto.
1609 (IniDBBuilderPackage::add_correct_version): Use STL iterators rather
1610 than custom code.
1611 Remove source package references.
1612 (IniDBBuilderPackage::process_src): Remove source package code as it's
1613 now handled separately.
1614 Set Path information before merging versions, to prevent dangling
1615 pointers.
1616 * IniDBBuilderPackage.h (IniDBBuilderPackage::buildPackageRequirement):
1617 Remove.
1618 (IniDBBuilderPackage::cpv): Remove.
1619 (IniDBBuilderPackage::cbpv): New generic binary working variable.
1620 (IniDBBuilderPackage::cspv): Ditto, but for source packages.
1621 (IniDBBuilderPackage::csp): Source package variable for disjoint
1622 source packages.
1623 * Makefile.am (AM_CFLAGS): Remove -Winline to allow stl set code
1624 to compile. If it compiles cleanly in gcc 3.1, then reinstate.
1625 * PickPackageLine.cc: Adjust packageversion accessors to the new
1626 reference calls. (i.e. -> to .) throughout.
1627 (PickPackageLine::paint): Use accessible() for clarity.
1628 Use new split out source package logic.
1629 (PickPackageLine::click): Ditto.
1630 * PickView.cc (PickView::init_headers): Adjust packageversion accessors
1631 to the new reference calls. (i.e. -> to .) throughout.
1632 Use new split out source package logic.
1633 * choose.cc: Don't depend on a specific package type.
1634 Adjust packageversion accessors to the new reference calls. (i.e. -> to
1635 .) throughout.
1636 (set_existence): Use accessible () for clarity.
1637 (default_trust): Simplify a little.
1638 (scanAVersion): Factored out code from scan_downloaded_files for
1639 clarity.
1640 (scan_downloaded_files): Factor out inner loop for clarity.
1641 (ChooserPage::OnNext): Don't dump the dependency list,
1642 it's parsing is robust now!.
1643 * cygpackage.cc (createInstance): Use a factory method to create new
1644 objects.
1645 (cygpackage::cygpackage): Make this private for use by the factory.
1646 (cygpackage::setCanonicalVersion): Renamed from set_canonical_version.
1647 Remove key usage as it's obsolete.
1648 * cygpackage.h (cygpackage): Inherit from _packageversion, not
1649 packageversion.
1650 (cygpackage::createInstance): New factory.
1651 (cygpackage::cygpackage): Make private.
1652 * desktop.cc (make_passwd_group): Use new packageversion reference.
1653 * download.cc (do_download_thread): Use changeRequested() for clarity.
1654 Use new packageversion reference calls.
1655 * iniparse.y (REQUIRES): Reuse the packageList code and dump the one-off
1656 requires code.
1657 * install.cc: Adjust -> to ., and use the new accessor functions for
1658 packageversion throughout.
1659 * package_db.cc: Adjust -> to ., and use the new accessor functions for
1660 packageversion throughout.
1661 (packagedb::packagedb): Use the new cygpackage factory.
1662 (packagedb::flush): Leverage String to remove buffer overflow chance in
1663 sprintf.
1664 (packagedb::findBinary): Find a binary meta package that has a version
1665 matching a given specification.
1666 (packagedb::findSource): Ditto, but for source.
1667 * package_db.h (packagedb::findBinary): Declare.
1668 (packagedb::findSource): Ditto.
1669 * package_meta.cc: Adjust packageversion accessors to the new
1670 reference calls. (i.e. -> to .) throughout.
1671 Include the package_meta header first to ensure it parses standalone.
1672 Use the STL algorithms.
1673 (packagemeta::packagemeta): Create a copy constructor to allowing
1674 cloning binary package metadata to source package metadata.
1675 (packagemeta::~packagemeta): Use the STL coleltion code rather than
1676 custom collection code.
1677 (packagemeta::add_version): Ditto.
1678 (packagemeta::set_installed): Ditto.
1679 (packagemeta::SDesc): Ditto.
1680 (hasSDesc): Helper function for find_if.
1681 (checkForInstalled): Ditto.
1682 (checkForUpgradeable): Ditto.
1683 (checkForSatisfiable): Ditto.
1684 (packagemeta::action_caption): Update for split out source packages.
1685 (packagemeta::set_action): Ditto.
1686 (packagemeta::set_requirements): Support multi-valued dependency
1687 lists - a|b & c|d - with versioned package specifications.
1688 (packagemeta::accessible): Helper member to improve abstraction.
1689 (packagemeta::sourceAccessible): Ditto.
1690 * package_meta.h: Adjust packageversion accessors to the new
1691 reference calls. (i.e. "->" to "." and"*" to "" ) throughout.
1692 (packagemeta::packagemeta): Declare copy constructor.
1693 Remove self initialising members.
1694 (packagemeta::set_action): Update parameters for new packageversion.
1695 (packagemeta::trustp): Ditto.
1696 (packagemeta::versions): Becomes an STL set.
1697 * package_source.h (packagesource::Cached): Const correctness change.
1698 * package_version.cc: Rewrite the packageversion interface to remove
1699 the cygpackage nonvirtual members, and provide a copy by value,
1700 pointer semantics reference counting wrapper class to ease use and
1701 comparison of packageversions.
1702 Change existing packageversion class to _packageversion throughout.
1703 (_defaultversion): A trivial concrete class to prevent specialcasing
1704 the default constructor for packageversion;
1705 (packageversion::packageversion): Implement.
1706 (packageversion::~packageversion): Ditto.
1707 (packageversion::operator=): Ditto.
1708 (packageversion::operator !): Ditto.
1709 (packageversion::operator bool): Ditto.
1710 (packageversion::operator ==): Ditto.
1711 (packageversion::operator !=): Ditto.
1712 (packageversion::operator <): Ditto.
1713 (packageversion::Name): Ditto.
1714 (packageversion::Canonical_version): Ditto.
1715 (packageversion::setCanonicalVersion): Ditto.
1716 (packageversion::getfirstfile): Ditto.
1717 (packageversion::getnextfile): Ditto.
1718 (packageversion::SDesc): Ditto.
1719 (packageversion::set_sdesc): Ditto.
1720 (packageversion::LDesc): Ditto.
1721 (packageversion::set_ldesc): Ditto.
1722 (packageversion::sourcePackage): Ditto.
1723 (packageversion::sourcePackageSpecification): Ditto.
1724 (packageversion::setSourcePackageSpecification): Ditto.
1725 (packageversion::depends): Ditto.
1726 (packageversion::predepends): Ditto.
1727 (packageversion::recommends): Ditto.
1728 (packageversion::suggests): Ditto.
1729 (packageversion::replaces): Ditto.
1730 (packageversion::conflicts): Ditto.
1731 (packageversion::provides): Ditto.
1732 (packageversion::picked): Ditto.
1733 (packageversion::pick): Ditto.
1734 (packageversion::changeRequested): Ditto.
1735 (packageversion::uninstall): Ditto.
1736 (packageversion::source): Ditto.
1737 (packageversion::accessible): Ditto.
1738 (_packageversion::sourcePackage): Ditto.
1739 (_packageversion::accessible): Ditto.
1740 (_packageversion::changeRequested): Ditto.
1741 * package_version.h: Rewrite the packageversion interface to remove
1742 the cygpackage nonvirtual members, and provide a copy by value,
1743 pointer semantics reference counting wrapper class to ease use and
1744 comparison of packageversions.
1745 Change existing packageversion class to _packageversion throughout.
1746 (Dependency): Remove.
1747 (packageversion): New wrapper class.
1748 (_packageversion): Renamed from packageversion.
1749 (_packageversion::setCanonicalVersion): New method.
1750 (_packageversion::sourcePackage): Ditto.
1751 (_packageversion::sourcePackageSpecification): Ditto.
1752 (_packageversion::setSourcePackageSpecification): Ditto.
1753 (_packageversion::changeRequested): Ditto.
1754 (_packageversion::bin): Rename to source.
1755 (_packageversion::src): Remove.
1756 (_packageversion::accessible): New method.
1757 (_packageversion::references): Allow reference counting.
1758 (_packageversion::sourceVersion): Cached the best-match source
1759 package version.
1760
1761 2002-06-27 Robert Collins <rbtcollins@hotmail.com>
1762
1763 * compress_bz.h (compress_bz::position): Track how much has been read.
1764 * compress_bz.cc (compress_bz::compress_bz): And initialise it.
1765 (compress_bz::read): Track amount read by the client.
1766 (compress_bz::tell): And report it when asked.
1767
1768 2002-06-27 Robert Collins <rbtcollins@hotmail.com>
1769
1770 * Makefile.am (snapshot): Automate snapshot creation some more.
1771
1772 2002-06-27 Robert Collins <rbtcollins@hotmail.com>
1773
1774 * msg.cc (msg): Use vsnprintf to avoid buffer overflows.
1775 (mbox): Ditto.
1776 * ini.cc (fprintf): Ditto.
1777 * log.cc (log): Ditto.
1778 * package_db.cc (packagedb::sourcePackages): Split out source packages
1779 from binary packages.
1780 * package_db.h: Ditto.
1781
1782 2002-06-27 Robert Collins <rbtcollins@hotmail.com>
1783
1784 * PackageSpecification.h: New file. Abstracts the ability to refer
1785 to another package, by name, or name and version.
1786 * PackageSpecification.cc: Ditto.
1787 * IniDBBuilder.cc (IniDBBuilder::buildPackageInstall): Simplify.
1788 (IniDBBuilder::buildPackageSource): Ditto.
1789 (IniDBBuilder::buildBeginDepends): New method for versioned
1790 dependencies.
1791 (IniDBBuilder::buildBeginPreDepends): Likewise, for dependencies to be
1792 satisfied before pre-install.
1793 (IniDBBuilder::buildPriority): New method, for getting the package
1794 Priority.
1795 (IniDBBuilder::buildInstalledSize): How much disk space does it need?
1796 (IniDBBuilder::buildMaintainer): Who maintains the package?
1797 (IniDBBuilder::buildArchitecture): What platform is it for?
1798 (IniDBBuilder::buildInstallSize): How big is the binary download?
1799 (IniDBBuilder::buildInstallMD5): Whats the MD5 on the binary?
1800 (IniDBBuilder::buildSourceMD5): Whats the MD5 on the source package?
1801 (IniDBBuilder::buildBeginRecommends): What other packages are
1802 recommended with this one?
1803 (IniDBBuilder::buildBeginSuggests): And suggested?
1804 (IniDBBuilder::buildBeginReplaces): What packages does this replace?
1805 (IniDBBuilder::buildBeginConflicts): And collide with?
1806 (IniDBBuilder::buildBeginProvides): What virtual packages (or obsolete
1807 package names) does this provide?
1808 (IniDBBuilder::buildDescription): Grab a multi line description one
1809 line at a time.
1810 (IniDBBuilder::buildSourceName): What source package should be used to
1811 install the source for this binary package?
1812 (IniDBBuilder::buildSourceNameVersion): Is a specific version needed?
1813 (IniDBBuilder::buildPackageListAndNode): Add another AND clause to a
1814 list of package specifications.
1815 (IniDBBuilder::buildPackageListOrNode): Add another OR clause.
1816 (IniDBBuilder::buildPackageListOperator): Add a versioning operator
1817 to the current specification.
1818 (IniDBBuilder::buildPackageListOperatorVersion): What version does the
1819 operator act on?
1820 * IniDBBuilder.h: Declare all the IniDBBuilder.cc changes.
1821 * IniDBBuilderPackage.cc: As for IniDBBuilder.cc.
1822 (IniDBBuilderPackage::IniDBBuilderPackage): Iniitialize new members.
1823 (IniDBBuilderPackage::process_src): Streamline and split out
1824 functionality.
1825 (IniDBBuilderPackage::setSourceSize): From process_src.
1826 * IniDBBuilderPackage.h: Declare the IniDBBuilderPackage.cc changes.
1827 (IniDBBuilderPackage::currentSpec): Track the in-progress specifiation.
1828 (IniDBBuilderPackage::currentOrList): Track the current Or list.
1829 (IniDBBuilderPackage::currentAndList): Track the current And list.
1830 * IniParseFeedback.cc (IniParseFeedback::progress): Provide completion
1831 progress on parsing.
1832 (IniParseFeedback::iniName): Tell what ini filename we are currently
1833 processing.
1834 * IniParseFeedback.h: Declare IniParseFeedback.cc changes.
1835 * IniParseFindVisitor.cc (IniParseFindVisitor::IniParseFindVisitor):
1836 Make the feedback object non-const to allow mutating methods which are
1837 needed when the object has state.
1838 (IniParseFindVisitor::visitFile): Tell the caller the name of each
1839 .ini found.
1840 Initialise the parser with the feedback object to allow it to tell of
1841 progress.
1842 * IniParseFindVisitor.h: Declare IniParseFindVisitor.cc changes.
1843 * Makefile.am (inilinst_SOURCES): Add more requisite classes.
1844 (setup_SOURCES): Add the new PackageSpecification sources.
1845 * ScanFindVisitor.cc (ScanFindVisitor::visitFile): Use the new
1846 builder syntax to setup binary package details.
1847 * choose.cc: Use the LogSingleton calls throughout.
1848 * configure.in: Create the INILINT substitution correctly for recent
1849 autotool configurations.
1850 * cygpackage.cc (cygpackage::getfirstfile): Return an empty String
1851 rather than a string built from an int. Thanks to Pavel Tsekov for
1852 identifying the bug.
1853 (cygpackage::getnextfile): Ditto.
1854 * download.cc: Use LogSIngletion calls throughout.
1855 (validateCachedPackage): A refactoring of the
1856 check_for_cached code to eliminate duplciation.
1857 (check_for_cached): Use validateCachedPackage to check packages.
1858 * ini.cc (GuiParseFeedback): Provide gui feedback on ini name and
1859 parsing progress.
1860 (do_remote_ini): Ditto.
1861 * ini.h (ini_init): Pass a IniParseFeedback to the parser, to allow
1862 progress reporting.
1863 * inilex.l: Identify new symbols - operators, and multi line plain text.
1864 Releases files.
1865 * inilintmain.cc (show_help): Provide basic infomation on inilint.
1866 * iniparse.y: Adjust for the new builder syntax, and process debian
1867 Release files.
1868 * io_stream_file.cc: Always include mkdir.h.
1869 * list.h: Factor index location into a private routine.
1870 (list::findindex): Implement this.
1871 * mkdir.cc (mkdir_p): Make the use of WIN32 code conditional on mingw
1872 builds. NB: This breaks cygwin build functionality still.
1873 * package_meta.cc: Use the LogSingleton calls throughout.
1874 (packagemeta::set_requirements): Adjust for object changes in
1875 dependencies.
1876 * package_meta.h (packagemeta::packagemeta): Initialise new members.
1877 (packagemeta::architecture): What platform does this package run on?
1878 This may need to move in the future to a per packagefile object.
1879 (packagemeta::priority): What priority does this package have?
1880 * package_source.h (packagesource::packagesource): Initialise new
1881 members.
1882 (packagesource::installedSize): How much space does the package need?
1883 (packagesource::setInstalledSize): Tell the amount.
1884 (packagesource::_installedSize): And store it.
1885 * package_version.cc (packageversion::sourcePackage): return the
1886 source package.
1887 (packageversion::setSourcePackage): And set it.
1888 * package_version.h: Declare the package_version.cc changes.
1889 (packageversion::depends): New package specification AND list.
1890 (packageversion::predepends): Ditto.
1891 (packageversion::recommends): Ditto.
1892 (packageversion::suggests): Ditto.
1893 (packageversion::replaces): Ditto.
1894 (packageversion::conflicts): Ditto.
1895 (packageversion::provides): Ditto.
1896 (packageversion::sourcePackage): What source package is needed?
1897 * threebar.cc (ThreeBarProgressPage::SetText4): Set the label beside
1898 the bottom bar.
1899 * threebar.h: Declare the threebar.cc change.
1900
1901 2002-06-27 John Marshall <johnm@falch.net>
1902
1903 * res.rc (SETUPINI_MISSING): Make trailing spaces visible.
1904 * site.cc (SitePage::OnMessageCmd): Ditto
1905
1906 2002-06-15 Robert Collins <rbtcollins@hotmail.com>
1907
1908 * nio-ie5.cc (NetIO_IE5::NetIO_IE): Allow cached data.
1909
1910 2002-06-15 Robert Collins <rbtcollins@hotmail.com>
1911
1912 * package_meta.cc (packagemeta::set_action): When installing packages
1913 with no binaries, choose the source package.
1914
1915 2002-06-10 Robert Collins <rbtcollins@hotmail.com>
1916
1917 * IniParseFindVisitor (IniParseFindVisitor::visitFile): Apply Max
1918 Bowshers fix for the crash with a root level setup.ini.
1919 * README: Update todos.
1920
1921 2002-05-26 Ralf Habacker <ralf.habacker@freenet.de>
1922
1923 * archive_tar.cc (archive_tar::next_file_name()): fixed broken
1924 GNU long name extension support.
1925
1926 2002-05-27 Robert Collins <rbtcollins@hotmail.com>
1927
1928 * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Don't
1929 unescape 0 length strings.
1930
1931 2002-05-20 Robert Collins <rbtcollins@hotmail.com>
1932
1933 * package_meta.cc (packagemeta::set_action): Don't allow reinstall
1934 when local with no cached file, and install the default source if the
1935 default version has no binary.
1936
1937 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
1938
1939 * IniDBBuilderPackage.cc (IniDBBuilderPackage::IniDBBuilderPackage): New
1940 method.
1941 (IniDBBuilderPackage::buildVersion): Provide a warning when a newer
1942 setup version created the ini file.
1943 * IniDBBuilderPackage.h (IniDBBuilderPackage::IniDBBuilderPackage): New
1944 method.
1945 * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Use the new
1946 feedback strategy.
1947 * IniParseFindVisitor.h (IniParseFindVisitor::IniParseFindVisitor):
1948 Require a feedback strategy.
1949 * Makefile.am (setup_SOURCES): Add IniParseFeedback sources.
1950 * Makefile.in: Regenerate.
1951
1952 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
1953
1954 * io_stream_file.cc (io_stream_file::remove): Use the SetFileAttributes
1955 trick to delete read only files.
1956 * io_stream_cygfile.cc (io_stream_cygfile::remove): Use file:// to
1957 remove files.
1958 * Makefile.am (release): Tweak to be more helpful.
1959 * Makefile.in: Regenerate.
1960
1961 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
1962
1963 * Makefile.am (release): Tweak to be more helpful.
1964 * Makefile.in: Regenerate.
1965
1966 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
1967
1968 * Makefile.am (release): Tweak to be more helpful.
1969 * Makefile.in: Regenerate.
1970
1971 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
1972
1973 * choose.cc (scan_downloaded_files): When a non-installed version
1974 has neither bin nor src cached files for local installs,
1975 remove the version from availability.
1976
1977 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
1978
1979 * ini.cc (do_remote_ini): Save uncompressed ini's correctly.
1980
1981 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
1982
1983 * rsync: New support library, contains librsync. This is not (yet)
1984 rsync interoperable.
1985 * configure.in: --with-rsync to enable rsync support. (Not complete).
1986 * Makefile.am: Enable building with rsync.
1987 * Makefile.in: Regenerate.
1988 * configure: Ditto.
1989 * IniDBBuilder.cc (IniDBBuilder::buildPackageInstall): Pass the md5 as
1990 an array.
1991 (IniDBBuilder::buildPackageSource): Ditto.
1992 * IniDBBuilder.h: Ditto.
1993 * IniDBBuilderPackage.cc: Ditto.
1994 * IniDBBuilderPackage.h: Ditto.
1995 * FindVisitor.cc: New file.
1996 * FindVisitor.h: New file, interface for visiting a file system
1997 aggregate.
1998 * IniParseFindVisitor.cc: New file.
1999 * IniParseFindVisitor.h: New file, concrete FindVisitor that parses
2000 found setup.ini's.
2001 * README: Update TODO's.
2002 * String++.cc (String::String): New constructor for <string> inter-
2003 operability.
2004 (String::substr): New method.
2005 * String++.h: Ditto.
2006 * choose.cc (scan2): Remove.
2007 (scan_downloaded_files): Simplify.
2008 * dialog.h: Include parsing pre-requirements.
2009 * download.cc (check_for_cached): Fullname was used incorrectly - fix.
2010 * filemanip.cc (parse_filename): -src packages where incorrectly parsed.
2011 * find.cc: Rewrite. Now uses a Visitor pattern and is re-entrant.
2012 * find.h: Ditto.
2013 * fromcwd.cc: Remove unneeded includes.
2014 (is_test_version): Remove.
2015 (found_file): Remove.
2016 (SetupFindVisitor): Trivial visitor to detect setup.ini's.
2017 (found_ini): Remove.
2018 (do_fromcwd): Remove commented code that has be replaced elsewhere.
2019 * ini.cc (local_ini): Remove.
2020 (findBuilder): Remove.
2021 (find_routine): Remove.
2022 (do_local_ini): Use new IniParseFindVisitor.
2023 * iniparse.y: Typecase MD5 arrays, as we know they are allocated as
2024 unsigned char.
2025 * postinstall.cc: Remove non-core includes.
2026 (run_script_in_postinstall): Remove.
2027 (RunFindVisitor): Trivial Visitor, runs each found script.
2028 (do_postinstall): Use new find syntax.
2029
2030 2002-05-14 Christopher Faylor <cgf@redhat.com>
2031
2032 * ini.cc (find_routine): Don't clear buffer it it's NULL.
2033
2034 2002-05-14 Christopher Faylor <cgf@redhat.com>
2035
2036 * filemanip.h (trail): Declare.
2037 * filemanip.cc (trail): New function.
2038 (find_tar_ext): Use trail() instead of strstr().
2039 * fromcwd.cc (check_ini): Ditto.
2040 * ini.cc (find_routine): Ditto. Don't tack local_dir to path since it
2041 should now be fully qualified. Set ini_filename. Reset error_buf and
2042 error_count for any subsequent ini file parsing.
2043 (ini_filename): New static variable for parse error reporting.
2044 (yyerror): Use full path of setup.ini in error message. Subtract one
2045 from line number if at bol.
2046 * find.cc (found_part): Eliminate.
2047 (find_sub): Call for_each with full path found rather than just file
2048 component.
2049 (find): Don't calculate found_part.
2050 * inilex.l (ini_init): Flush input buffer and reset line number.
2051 (yybol): New function. Exports YY_AT_BOL.
2052 * iniparse.y: Increase stack depth to allow more tokens to be processed.
2053 (yyparse): Remove newline from error condition to allow subsequent
2054 per-line error processing to proceed normally.
2055
2056 2002-05-14 Christopher Faylor <cgf@redhat.com>
2057
2058 * find.cc (find_sub): Be more defensive in preserving trailing parts of
2059 components when doing recursive directory searches or calling user
2060 supplied for_each().
2061 * ini.cc (find_routine): Don't assume that any path name with
2062 "setup.ini" in it is actually a setup.ini file. Only honor trailing
2063 components. Copy path argument to temporary storage when unescaping
2064 to prevent nuking of argument.
2065
2066 2002-05-12 Robert Collins <rbtcollins@hotmail.com>
2067
2068 * CONTRIBUTORS: New file.
2069
2070 2002-04-02 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
2071
2072 * choose.cc: Run indent.
2073 (nextbutton): Remove static variable.
2074 (default_trust): Remove use of nextbutton.
2075 (set_view_mode): Ditto.
2076 (create_listview): Add IDC_CHOOSE_PREV and IDC_CHOOSE_NEXT to ta[] so
2077 rbset() sets the prev/next/curr radio buttons properly.
2078 (dialog_cmd): Delete function.
2079 (dialog_proc): Delete function. Move WM_INITDIALOG functionality to
2080 ChooserPage::OnInit.
2081 (do_choose): Delete function. Move pre-DialogBox() code to
2082 ChooserPage::OnInit(), post-DialogBox() code to ChooserPage::OnNext.
2083 (WM_APP_START_CHOOSE): Remove define.
2084 (WM_APP_CHOOSE_IS_FINISHED): Remove define.
2085 (do_choose_thread): Delete function.
2086 (ChooserPage::OnActivate): Delete method.
2087 (ChooserPage::OnMessageApp): Delete method.
2088 (ChooserPage::OnInit): New method.
2089 (ChooserPage::OnNext): New method.
2090 (ChooserPage::OnBack): New method.
2091 (ChooserPage::OnMessageCmd): New method.
2092 * choose.h: Run indent.
2093 (ChooserPage::OnMessageApp): Delete declaration.
2094 (ChooserPage::OnActivate): Ditto.
2095 (ChooserPage::OnMessageCmd): New declaration.
2096 (ChooserPage::OnInit): Ditto.
2097 (ChooserPage::OnNext): Ditto.
2098 (ChooserPage::OnBack): Ditto.
2099 * desktop.cc (DesktopSetupPage::OnBack): Replace use of IDD_CHOOSER
2100 with IDD_CHOOSE.
2101 * fromcwd.cc (do_fromcwd): Replace use of IDD_CHOOSER with IDD_CHOOSE.
2102 * ini.cc (do_ini_thread): Replace use of IDD_CHOOSER with IDD_CHOOSE.
2103 * res.rc (IDD_CHOOSE): Remove dialog template.
2104 (IDD_CHOOSER): Alter dialog template to fit wizard size and format.
2105
2106 2002-05-12 Robert Collins <rbtcollins@hotmail.com>
2107
2108 * LogFile.cc (endLog): Work around an apparent libg++-3 bug causing
2109 corrupt log file entries.
2110 * geturl.cc: Convert to the new LogSingleton logging.
2111
2112 2002-05-12 Robert Collins <rbtcollins@hotmail.com>
2113
2114 * ini.cc (do_remote_ini): Use setup.bz2 if it exists in preference to
2115 setup.ini.
2116
2117 2002-05-12 Robert Collins <rbtcollins@hotmail.com>
2118
2119 * geturl.h: Declare getUrlToStream.
2120 * geturl.cc (getUrlToStream): New function.
2121 (get_url_to_membuf): Refactor to use getUrlToStream.
2122
2123 2002-05-11 Robert Collins <rbtcollins@hotmail.com>
2124
2125 * Makefile.am: Add a release target to automate some of the routine
2126 work.
2127 * Makefile.in: Regenerate.
2128
2129 2002-05-11 Robert Collins <rbtcollins@hotmail.com>
2130
2131 * choose.cc (scan_downloaded_files): On local installs remove all
2132 mirror sites if no cached copy of a package is found.
2133
2134 2002-05-10 Robert Collins <rbtcollins@hotmail.com>
2135
2136 * Makefile.in: Regenerate.
2137 * iniparse.y: Use left recursion, not right in the lines rule to
2138 avoid stack overflows.
2139 * README: Update TODO's.
2140 * io_stream_file.cc: Native builds need to include sys/stat.h
2141
2142 2002-05-06 John Marshall <jmarshall@acm.org>
2143
2144 * site.cc (SitePage::OnMessageCmd): recalculate navigation
2145 button activation when "Add" is pressed.
2146 (SitePage::CheckControlsAndDisableAccordingly): tweak comment.
2147
2148 2002-05-07 Robert Collins <rbtcollins@hotmail.com>
2149
2150 * Makefile.am (inlint_SOURCES): Add conditional objects to inilint
2151 depending on platform.
2152 Add file:// support.
2153 * configure.in: Set conditional MINGWTARGET if compiling against mingw
2154 libraries.
2155 * Makefile.in: Regenerate.
2156 * configure: Ditto.
2157 * io_stream_file.cc: Only use win32 calls when building for mingw.
2158
2159 2002-05-05 Robert Collins <rbtcollins@hotmail.com>
2160
2161 * Makefile.am (noinst_PROGRAMS): Make inilint configurable.
2162 * configure.in: Ditto.
2163 Fix incorrect header checking syntax.
2164 * aclocal.m4: Regenerate.
2165 * configure: Regenerate.
2166 * Makefile.in: Regenerate.
2167 * io_stream.cc: Remove platform specific and provider specific code.
2168 (io_stream::registerProvider): New method, registers a Url provider with
2169 the io_stream code.
2170 Make all methods consistently throw invalid_argument exceptions when
2171 a provider that is requested is not present.
2172 (findProvider): New private function, finds a provider.
2173 * io_stream.h: Declare io_stream::registerProvider.
2174 * io_stream_cygfile.cc: Create a Provider class to register with
2175 io_stream.cc.
2176 * io_stream_file.cc: Ditto.
2177 * archive.cc: Remove unneeded includes.
2178 * archive_tar.cc: Remove unneeded includes.
2179 * archive_tar.h: Add required include.
2180 * archive_tar_file.cc: Remove unneded includes.
2181 * choose.cc: Remove unneeded includes:
2182
2183 2002-05-04 Robert Collins <rbtcollins@hotmail.com>
2184
2185 * io_stream.cc: Use the new log interface thruout.
2186
2187 2002-05-04 Robert Collins <rbtcollins@hotmail.com>
2188
2189 * log.cc (log): Reimplement via LogSingleton.
2190 (log_save): Remove.
2191 (exit_setup): Remove.
2192 * log.h (log_save): Remove.
2193 (exit_setup): Remove.
2194 * LogSingleton.cc: New file.
2195 * LogSingleton.h: New file.
2196 * LogFile.cc: New file.
2197 * LogFile.h: New file.
2198 * Makefile.am (inilint_SOURCES): Add the new log interface.
2199 (setup_SOURCES): Add the new log interface and the concrete File
2200 implementation.
2201 * Makefile.in: Regenerate.
2202 * archive.cc: Use the new log interface thruout.
2203 * archive_tar.cc: Ditto.
2204 * main.cc: Ditto.
2205 * dialog.cc (fatal): Use the new log interface.
2206 * ini.cc (do_ini_thread): Use the log interface to exit.
2207 * isntall.cc (do_install_thread): Ditto.
2208 * netio.cc (auth_cmd): Ditto.
2209 * msg.cc (fatal): Ditto.
2210 * localdir.cc (save_local_dir): Save to different files depending on
2211 the mode, and if a root dir exists.
2212
2213 2002-05-04 Robert Collins <rbtcollins@hotmail.com>
2214
2215 * IniDBBuilder.cc: New file.
2216 * IniDBBuilder.h: New file.
2217 * IniDBBuilderPackage.cc: New file.
2218 * IniDBBuilderPackage.h: New file.
2219 * PackageTrust.h: New file.
2220 * IniState.h: Remove, wasn't thought out well enough.
2221 * Makefile.am (inilint_SOURCES): Add more requirements.
2222 (setup_SOURCES): Add new Builder base and concrete classes.
2223 * Makefile.in: Regenerate.
2224 * String++.cc (String::String): Implement int contructor.
2225 * String++.h (String): Declare int constructor.
2226 * archive_tar.cc (archive_tar::next_file_name): Return String() when
2227 no filename exists.
2228 * archive_tar.h (archive_tar_file): Remove get_next_filename method,
2229 it's not needed.
2230 * ini.cc: Replace IniState wuth IniDBBuilderPacakge.
2231 (find_routine): Use new IniDBBuilder to configure the parser.
2232 (do_local_ini): Ditto.
2233 (do_remote_ini): Ditto.
2234 * ini.h: Use IniDBBuilder to initialise parsing.
2235 * inilex.l (MD5): Parse the MD5 string correctly, we had the nibbles
2236 swapped.
2237 (ini_init): Use an IniDBBuilder rather than static variables.
2238 * iniparse.y: Hand off all the object creation to a builder, rather
2239 than hardcoding the behaviour. This allows run-time configured
2240 behaviour.
2241 * io_stream_cygfile.h (io_stream_cygfile): Remove get_next_filename
2242 method, it's not needed.
2243 * io_stream_file.h (io_stream_file): Ditto.
2244 * mount.cc (cygpath): Return String() for missing mounts.
2245 * package_meta.cc (packagemeta::SDesc): Return String() for blank
2246 descriptions.
2247 * package_meta.h (trusts): Remove - replaced by PackageTrust.h.
2248 (packagemeta::packagemeta): Fix incorrect syntax in String constructor
2249 usage.
2250 * cygpackage.cc (cygpackage::cygpackage): Fix incorrect syntax in
2251 String constructor usage.
2252 * site.h (site_list_type): Ditto.
2253
2254 2002-05-03 Robert Collins <rbtcollins@hotmail.com>
2255
2256 * String++.h: Declare a << operator that accepts String objects.
2257 * String++.cc: We need iostream for..
2258 (operator <<): this. Provide a << operator that accepts String objects.
2259 * ini.cc (yyerror): Remove the "C" classifier - it's not needed.
2260 Change from vargs to a String parameter.
2261 * inilintmail.cc: Remove the gui related headers.
2262 (yyerror): Implement this for parsing.
2263 * iniparse.y: Use the new yyerror syntax.
2264
2265 2002-05-03 Robert Collins <rbtcollins@hotmail.com>
2266
2267 * Makefile.am: Add IniState.h.
2268 * Makefile.in: Regenerate.
2269 * IniState.h: New file.
2270 * choose.cc: Don't include ini.h - it's not needed.
2271 * configure: Regenerate.
2272 * desktop.cc: Don't include ini.h - it's not needed.
2273 * download.cc: Ditto.
2274 * fromcwd.cc: Ditto.
2275 * ini.cc: Use IniState.h to track each parsing calling.
2276 (find_routine): Ditto.
2277 (do_remote_ini): Ditto.
2278 (do_ini_thread): Ditto.
2279 * ini.h (ini_init): Adjust parameters to include state object.
2280 * inilex.l: Declare parser state variable.
2281 (ini_init): Adjust parameters to include state object.
2282 * iniparse.y: Remove obsolete setup_timestamp and setup_version
2283 declarations.
2284 (setup_header): Use new state variable to track time and version.
2285 (add_correct_version): Ditto.
2286 * install.cc: Don't include ini.h - it's not needed.
2287
2288 2002-05-03 Robert Collins <rbtcollins@hotmail.com>
2289
2290 * nio-files.cc (NetIO): Use io_stream syntax for get_file_size.
2291 * io_stream_file.cc: Don't include filemanip.h.
2292 (io_stream_file::get_size): Implement here to remove filemanip
2293 dependency.
2294 * io_stream_cygfile.cc: Don't include filemanip.h.
2295 (io_stream_cygfile::get_size): Implement here to remove filemanip
2296 dependency.
2297 Implement a stat based version for when win32 is not available.
2298 * filemanip.h (get_file_size): Return size_t - it's more appropriate.
2299 * filemanip.cc: Don't include win32.h - be platform independent.
2300 Include strings.h and io_stream.h as part of that.
2301 (get_file_size): Leverage io_streams and remove win32 implementation.
2302 * download.cc (check_for_cached): Use io_stream syntax for
2303 get_file_size.
2304 (download_one): Ditto.
2305
2306 2002-05-02 Robert Collins <rbtcollins@hotmail.com>
2307
2308 * configure.in: Correct a typo in last change.
2309 * configure: Regenerate.
2310 * Makefile.in: Regenerate.
2311
2312 2002-05-02 Robert Collins <rbtcollins@hotmail.com>
2313
2314 * configure.in: Check for string.h and string.
2315 * configure: Regenerate.
2316 * Makefile.in: Regenerate.
2317
2318 2002-05-01 Robert Collins <rbtcollins@hotmail.com>
2319
2320 * res.rc (IDD_SPLASH): Remove white box.
2321
2322 2002-05-01 Robert Collins <rbtcollins@hotmail.com>
2323
2324 Oops! forgot to list these in the last checkin.
2325 * inilintmain.cc: New file.
2326 * md5.h: New file - imported md5 source, BSD style licence.
2327 * md5.cc: New file - imported md5 source, BSD style licence.
2328 * Exception.cc: New file.
2329 * Exception.h: New file.
2330 * MD5++.cc: New file.
2331 * MD5++.h: New file.
2332
2333 2002-05-01 Robert Collins <rbtcollins@hotmail.com>
2334
2335 * Makefile.am (AM_CFLAGS): Remove -mwindows, it's a linker flag.
2336 Remove -fno-rtti, we need it for exceptions.
2337 (AM_CXXFLAGS): Ditto.
2338 (WARNONLY_CFLAGS): Ditto.
2339 (EXTRA_PROGRAMS): Add with initial linter sources - not functional yet.
2340 (setup_LDFLAGS): Add and set to -mwindows.
2341 (setup_SOURCES): Add new sources.
2342 * Makefile.in: Regenerate.
2343 * README: Update TODO.
2344 * choose.cc (scan_downloaded_files): Use ini information if it's
2345 available.
2346 * configure: Regenerate.
2347 * download.cc (check_for_cached): Make reusable from elsewhere.
2348 Throw exceptions on errors (as opposed to failures).
2349 Check MD5 sum when it's known.
2350 (download_one): Never force a download.
2351 Handle corrupt package exceptions.
2352 * ini.cc (find_routine): Reverse escape the URL to correctly identify
2353 the site URL.
2354 * inilex.l (MD5): Provide a parsing rule (note: lowercase is required).
2355 * iniparse.y: Allow calculation of MD5 sums, and allow src only
2356 packages.
2357 (process_src): New helper function.
2358 * isntall.cc (install_one_source): Check MD5 sums when possible.
2359 Throw exceptions on errors.
2360 (do_install_thread): Handle exceptions for installation calls.
2361 * package_source.h: Store MD5 information.
2362 * propsheet.cc (PropSheet::Create): Add a useful comment.
2363 * res.rc (IDS_INSTALL_ERROR): Define.
2364 (IDS_CORRUPT_PACKAGE): Define.
2365 * resource.h (IDS_INSTALL_ERROR): Define.
2366 (IDS_CORRUPT_PACKAGE): Define.
2367 * rfc1738.cc (rfc1738_unescape_part): Implement.
2368 * rfc1738.h (rfc1738_unescape_part): Declare.
2369
2370 2002-04-29 Robert Collins <rbtcollins@hotmail.com>
2371
2372 * Makefile.am: Remove dependecy rules that automake emits.
2373 Correct badly copied dependency info for manually compiled files.
2374 (setup_SOURCES): Add all used headers.
2375 (EXTRA_DIST): Include non compilate but required sources.
2376 (setup_LDADD): Remove mingw32, it is autodetected.
2377 * Makefile.in: Regenerate.
2378 * String++.h: sys/types is a system header.
2379 * choose.cc (do_choose_thread): Make into a Win32 thread routine.
2380 Use ExitThread.
2381 (ChooserPage::OnMessageApp): Use Win32 threads. (_beginthread is not
2382 portable).
2383 * configure: Regenerate.
2384 * configure.in: Check for mingw32/cygwin specific headers and libraries.
2385 * cygpackage.h: Include the win32.h header to get correct macro
2386 definitions in all situations.
2387 * download.cc (do_download_reflector): Make into a Win32 thread routine.
2388 Use ExitThread.
2389 (do_download): Use Win32 threads.
2390 * ini.cc: Ditto.
2391 * install.cc: Ditto.
2392 * (WinMain): Adjust to build valid command line using application
2393 under both mingw32 and cygwin.
2394 * mount.cc (set)cygdrive_flags): Create new system flags if the
2395 user requests system and the value does not exist.
2396 * nio-http.cc: Define a _strnicmp for cygwin.
2397 * package_db.cc: Include <errno.h> if it exists.
2398 * site.cc (do_download_site_info_thread): Make into a Win32 thread
2399 routine.
2400 Use ExitThread.
2401 (do_download_site-Info): Use Win32 threads.
2402 * state.cc: Explicity declare variables to avoid header conflicts
2403 caused by '#define extern" on cygwin.
2404 * win32.h: Include <alloca.h> if it exists.
2405 (_MAX_PATH): Define as MAX_PATH when not defined by windows.h.
2406 (_access): Define as access if not defined by windows.h.
2407
2408 2002-04-27 Robert Collins <rbtcollins@hotmail.com>
2409
2410 * compress_gz.cc (compress_gz::error): EOF is not an error condition.
2411
2412 2002-04-27 Robert Collins <rbtcollins@hotmail.com>
2413
2414 * Makefile.am: Add libgetopt++ to the subdirs list.
2415 Search the libgetopt++ header directory.
2416 Link against libgetopt++.la.
2417 (setup_SOURCES): Remove GetOption.cc and getopt.c and Option.cc.
2418 (setup_LDADD): Explicitly include res.o.
2419 * Makefile.in: Regenerate.
2420 * aclocal.m4: Regenerate.
2421 * bootstrap.sh: Call libtoolize.
2422 * configure: Regenerate.
2423 * configure.in: Add libtool support and configure libgetopt++.
2424 * desktop.cc (NoShortcutsOption): Turn into a BoolOption.
2425 (DesktopSetupPage::OnInit): Use the simpler syntax.
2426 * desktop.h: Remove dependency on Option.h, and remove NoShortcustOption
2427 declaration.
2428 * main.cc: Include getopt++/GetOption.h.
2429 (main): Use simpler syntax.
2430 * cdefs.h: Remove.
2431 * getopt.h: Remove.
2432 * getopt.c: Remove.
2433 * GetOption.h: Remove.
2434 * GetOption.cc: Remove.
2435 * Option.h: Remove.
2436 * Option.cc: Remove.
2437
2438 2002-04-26 Robert Collins <rbtcollins@hotmail.com>
2439
2440 * Makefile.am: Add zlib and bz2lib to SUBDIRS.
2441
2442 2002-04-26 Robert Collins <rbtcollins@hotmail.com>
2443
2444 * aclocal.m4: New file, cached macros.
2445 * bootstrap.sh: New file, calls required autotools in appropriate
2446 order.
2447 * Makefile.am: New file, input Makefile for automake.
2448 * Makefile,in: Now a generated file - regenerate.
2449 * configure: Regenerate.
2450 * configure.in: Add automake support.
2451 * inilex.l: Change VERSION to PACKAGEVERSION to avoid a collision with
2452 automake's VERSION define.
2453 * iniparse.y: Ditto.
2454
2455 2002-04-26 Robert Collins <rbtcollins@hotmail.com>
2456
2457 * cdefs.h: New file, imported to allow getopt.c to build without
2458 cygwin headers.
2459 * getopt.h: New file, imported to allow building without cygwin headers.
2460 * getopt.c: Ditto.
2461 * bz2lib: New directory, contains copy of bz2lib.
2462 * cfgaux: New directory, contains autotool helper scripts.
2463 * Makefile,in: Adjust library and target definitions for building
2464 outside the sourceware tree.
2465 * compress_bz.h: Use new bz2lib header location.
2466 * mount.cc: Import key defines and enums to be independent of cygwin
2467 headers.
2468 * configure.in: Update to autoconf 2.53, and to be sourceware
2469 independent.
2470 * configure: Regenerate.
2471
2472 2002-04-12 Robert Collins <rbtcollins@hotmail.com>
2473
2474 * mklink2.cc (make_link_2): Tweak to work with current w32api
2475 headers.
2476
2477 2002-04-10 Pavel Tsekov <ptsekov@gmx.net>
2478
2479 * version.cc (canonicalize_version): Fix a call delete[]
2480 to delete the allocated address.
2481
2482 2002-03-29 Robert Collins <rbtcollins@hotmail.com>
2483
2484 * PickView.cc (PickView::set_headers): Set last_col correctly. Thanks
2485 to Ton van Overbeek for locating the bug area.
2486
2487 2003-03-27 Robert Collins <rbtcollins@hotmail.com>
2488
2489 * PickView.cc (PickView::insert_pkg): Be more generic with
2490 object use.
2491 (PickView::insert_category): Ditto.
2492 (PickView::~PickView): Create.
2493 * PickView.h (PickView::~PickView): Declare.
2494
2495 2003-03-27 Robert Collins <rbtcollins@hotmail.com>
2496
2497 * Makefile.in (OBJS): Add new commandline objects.
2498 * desktop.cc (NoShortCutsOption): New option code.
2499 (DesktopSetupPage::OnInit): Check whether to skip shortcuts.
2500 * desktop.h (NoShortCutsOption): New concrete command line option class.
2501 * main.cc (WinMain): Process command line options.
2502 * GetOption.h: New file, singleton command line class.
2503 * GetOption.cc: New file, implementation of the above.
2504 * Option.h : New file, abstract option for GetOption.
2505 * Option.cc: New file, implement constructor and destructor.
2506
2507 2002-03-26 Pavel Tsekov <ptsekov@gmx.net>
2508
2509 * mkdir.cc (mkdir_p): Stop processing if the path is exhausted.
2510
2511 2002-03-26 Ton van Overbeek <tvoverbe@cistron.nl>
2512
2513 * PickPackageLine.cc (PickPackageline::paint): Adjust clipping rectangle
2514 to textheight, so large fonts work.
2515
2516 2003-03-26 Robert Collins <rbtcollins@hotmail.com>
2517
2518 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Don't translate
2519 symlinks.
2520
2521 2003-03-26 Robert Collins <rbtcollins@hotmail.com>
2522
2523 * io_stream_cygfile.cc (cwd): New static for cwd storage.
2524 (io_stream_cygfile::normalise): New method.
2525 (io_stream_cygfile::io_stream_cygfile): Use it.
2526 (io_stream_cygfile::exists): Ditto.
2527 (io_stream_cygfile::remove): Ditto.
2528 (io_stream_cygfile::mklink): And again.
2529 (cygmkdir_p): Yes, again.
2530 (io_stream_cygfile::move): And once more.
2531 * io_stream_cygfile.h (io_stream_cygfile::normalise): Declare.
2532 (io_stream_cygfile::cwd): Ditto.
2533
2534 2003-03-26 Robert Collins <rbtcollins@hotmail.com>
2535
2536 * package_meta.cc (package_meta::~package_meta): Remove duplicate.
2537 (CategoryPackage::~CategoryPackage): Ditto. (Thanks to Ton van
2538 Overbeek for the report).
2539 * mklink2.cc: Moved from mklink2.c to avoid 'not a prototype error'.
2540 Make g++ compatible.
2541 * mklink2.c: Remove.
2542 * site.cc (site_list_type::init): Delete the correct memory addres.
2543 Thanks to Pavel Tsekov for tracking this down.
2544
2545 2002-03-20 Robert Collins <rbtcollins@hotmail.com>
2546
2547 * win32.h: Only define alloca if it's not already.
2548
2549 2002-03-20 Robert Collins <rbtcollins@hotmail.com>
2550
2551 * package_meta.h (packamgemeta::trustp): Make 'test' choice leave
2552 installed packages alone.
2553 * README: Update with latest requests.
2554 * Various: MTC fixes from setup200202 branch.
2555
2556 2002-03-19 Christopher Faylor <cgf@redhat.com>
2557
2558 * Makefile.in (setup_version.c): Add back magic which allows detection
2559 of setup.exe version number.
2560
2561 2002-03-17 Robert Collins <rbtcollins@hotmail.com>
2562
2563 * PickPackageLine.cc (PickPackageLine::paint): Fix incorrect clip region
2564 calculation on win9x systems.
2565
2566 2002-03-16 Robert Collins <rbtcollins@hotmail.com>
2567
2568 * install.cc (install_one_source): Write the correct length of a string
2569 to the lst file (Thanks to Pavel Tsekov for reporting the bug).
2570
2571 2002-03-15 Robert Collins <rbtcollins@hotmail.com>
2572
2573 * choose.cc (list_click): Always refresh the entire chooser, as our
2574 package state change mechanism is broken with the new improved list
2575 classes.
2576
2577 2002-03-15 Robert Collins <rbtcollins@hotmail.com>
2578
2579 * desktop.cc (make_passwd_group): Check for .lnk suffix on /etc/passwd
2580 and /etc/group.
2581
2582 2002-03-15 Robert Collins <rbtcollins@hotmail.com>
2583
2584 * PickPackageLine.cc (PickPackageLine::DrawCheck): New method factored
2585 out from paint().
2586 (PickPackageLine::paint): Use DrawCheck to draw the src tick box, and
2587 the new bin tickbox.
2588 (PickPackageLine::click): Handle the new bin tickbox.
2589 * PickPackageLine.h (PickPackageLine::DrawCheck): Declare this.
2590 * PickView.cc (pkg_headers): Add a Bin? column.
2591 (cat_headers): Ditto.
2592 (PickView::set_headers): Ditto.
2593 (PickView::init_headers): Ditto.
2594 * PickView.h (PickView): Ditto.
2595 * choose.cc (list_click): Use the new name for src_col to set the clip
2596 rectangle.
2597
2598 2002-02-24 Michael A Chase <mchase@ix.netcom.com>
2599
2600 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Fix up Robert's
2601 fixup.
2602
2603 2002-02-24 Michael A Chase <mchase@ix.netcom.com>
2604
2605 * desktop.cc (make_link): Add "file://" prefix to io_stream::mkpath_p()
2606 call.
2607 (make_passwd_group): Ditto.
2608 * localdir.cc (save_local_dir): Ditto.
2609 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Wrap long lines.
2610 Add "cygfile://" prefix to io_stream::open() calls.
2611
2612 2002-02-24 Robert Collins <rbtcollins@hotmail.com>
2613
2614 * log.cc (log_save): Fix creating /var/log.
2615 * packate_meta.cc (standard_dirs): Remove duplicate '/''s.
2616
2617 2002-02-24 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
2618
2619 * res.rc (STRINGTABLE): Add IDS_CYGWIN_SETUP and
2620 IDS_CYGWIN_SETUP_WITH_PROGRESS strings.
2621 * resource.h: Add IDS_CYGWIN_SETUP and
2622 IDS_CYGWIN_SETUP_WITH_PROGRESS IDs.
2623
2624 * splash.cc (OnInit): Qualify SetWindowText() call with global scope
2625 operator (::SetWindowText()).
2626
2627 * threebar.cc: Run indent.
2628 (cistring.h): Add include.
2629 (SetText1, SetText2, SetText3): Qualify SetWindowText() call with
2630 global scope operator.
2631 (SetBar2): Add logic for writing percent complete into window title.
2632
2633 * window.h: Run indent.
2634 (SetWindowText): New function.
2635 (String): Add forward declaration.
2636 * window.cc: Run indent.
2637 (String++.h): Add include.
2638 (SetWindowText): New function.
2639
2640 2002-02-24 Robert Collins <rbtcollins@hotmail.com>
2641
2642 * README: Update TODO list.
2643 * install.cc (install_one): Fix src package location.
2644 (do_install_thread): Fix creating directories.
2645
2646 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
2647
2648 * choose.cc: Include cygpackage.h for scan2 use.
2649 (set_existence): Ignore setup.ini mirrors when installing from cwd.
2650 (scan2): Process any valid file.
2651 Add cache entries when a file matching a setup.ini listed version is
2652 found.
2653 * filemanip.cc (parse_filename): Remove pkgtar - not used anywhere else.
2654 * filemanip.h (filemanip::pkgtar): Remove.
2655 * package_meta.cc (CategoryPackage::~CategoryPackage): New method.
2656 (packagemeta::~packagemeta): Move from package_meta.h
2657 Remove and delete all version and category information.
2658 * package_meta.h (CategoryPackage): Create a destructor.
2659 (packagemeta::~packagemeta): Move to .cc file.
2660
2661 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
2662
2663 * install.cc (install_one_source): Make NULL cached package names cause
2664 errors.
2665
2666 2002-02-18 Michael A Chase <mchase@ix.netcom.com>
2667
2668 * desktop.cc (make_passwd_group): Don't create passwd-grp.bat
2669 unnecessarily.
2670
2671 2002-02-18 Michael A Chase <mchase@ix.netcom.com>
2672
2673 * log.cc (log_save): Put "\n" at end of log lines instead of "'".
2674
2675 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
2676
2677 * mount.cc (create_mount): Avoid a const char*->char* warning.
2678 (read_mounts): Ditto.
2679
2680 2002-02-05 Jason Tishler <jason@tishler.net>
2681
2682 * download.cc (do_download_thread): Fix off-by-one error.
2683
2684 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
2685
2686 * configure.in (CXXFLAGS): Substitute at configure time, not runtime.
2687 * configure (CXXFLAGS): Regenerate.
2688 * Makefile.in (iniparse.o): Build via default rules - no errors now.
2689 * README: TODO list updates.
2690
2691 2002-02-19 Michael A Chase <mchase@ix.netcom.com>
2692
2693 * String++.cc (String::concat):: Remove.
2694 (String::vconcat):: Ditto.
2695 * String++.h (String::concat):: Remove.
2696 (String::vconcat):: Ditto.
2697 * archive_tar.cc: Don't include concat.h.
2698 * archive_tar_file.cc: Don't include concat.h.
2699 * compress_bz.cc (compress_bz::peek): Don't log unneeded messages.
2700 (compress_bz::seek): Ditto.
2701 (compress_bz::~compress_bz): Ditto.
2702 * compress_gz.cc (compress_gz::peek): Ditto.
2703 (compress_gz::error): Ditto.
2704 (compress_gz::~compress_gz): Ditto.
2705 * concat.cc (vconcat): Remove.
2706 (concat): Ditto.
2707 * concat.h (vconcat): Remove.
2708 (concat): Ditto.
2709 * desktop.cc (desktop_icon): Use new cygpath.
2710 (make_etc_profile): Ditto.
2711 (uexists): Ditto.
2712 (make_passwd_group): Ditto.
2713 (save_icon): Ditto.
2714 (check_desktop): Remove concat use.
2715 (check_start_menu): Ditto.
2716 * download.cc (download_one): Use new mkpath_p correctly.
2717 Use LOG_PLAIN.
2718 * fromcwd.cc: Don't include concat.h.
2719 * geturl.cc (get_url_to_membuf): Use String log() call.
2720 (get_url_to_file): Ditto.
2721 * install.cc: Don't include concat.h.
2722 (uninstall_one): Use LOG_PLAIN.
2723 (replace_one): Ditto.
2724 (install_one_source): Ditto.
2725 (install_one): More char to String conversion.
2726 (do_install_thread): Use new cygpath.
2727 Use new create_mount.
2728 * io_stream.cc (io_stream::move): Use new log().
2729 * io_stream_cygfile (io_stream_cygfile::io_stream_cygfile): Use new
2730 cygpath.
2731 (io_stream_cygfile::exists): Ditto.
2732 (io_stream_cygfile::remove): Ditto.
2733 (io_stream_cygfile::mklink): Ditto.
2734 (io_stream_cygfile::write): Ditto.
2735 (cygmkdir_p): Ditto.
2736 (io_stream_cygfile::move): Ditto.
2737 * io_stream_file.cc: Don't include log.h.
2738 (io_stream_file::write): Don't log unneeded messages.
2739 * localdir.cc: Don't include concat.h.
2740 (LocalDirPage::OnNext): Use LOG_PLAIN.
2741 * log.cc: Don't include log.h.
2742 (exit_setup): Use new cygpath.
2743 * log.h (log_level): Add new level LOG_PLAIN.
2744 * main.cc (WinMain): Use new log().
2745 * mount.cc (SLASH_P): New macro from concat.h.
2746 (cygpath): Make String version globally visible.
2747 Remove varargs version.
2748 * mount,h: Ditto.
2749 * msg.cc (mbox): Use LOG_PLAIN.
2750 * net.cc (NetPage::OnNext): Ditto.
2751 * nio-ftp.cc (ftp_line): Use new log().
2752 * nio-http.cc: Don't include log.h.
2753 (retry_get): Use alternative url variable.
2754 * package_db.cc: Don't include concat.h.
2755 (packagedb::flush): Don't use concat.
2756 * package_meta.cc: Don't include concat.h.
2757 (packagemeta::uninstall): Use new cygpath.
2758 * postinstall.cc (do_postinstall): Ditto.
2759 * root.cc (RootPage::OnNext): Use LOG_PLAIN.
2760 * script.cc: Don't include concat.h.
2761 (init_run_script): Use new cygpath.
2762 (run_script): More char * to String conversion.
2763 (try_run_script): Ditto.
2764 * site.cc: Don't include concat.h.
2765 (SitePage::OnNext): Use LOG_PLAIN.
2766 (SitePage::OnMessageCmd): Use new log().
2767 * source.cc (SourcePage::OnDeactivate): Use LOG_PLAIN.
2768
2769 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
2770
2771 * Makefile.in (OBJS): Add new object.
2772 * PickCategoryLine.cc (PickCategoryLine::paint): Print a "+" before the
2773 name.
2774 * PickCategoryLine.h (PickCategoryLine::bucket): Use the String class.
2775 * PickLine.h (Pickline::key): Change to a String to help plug leaks.
2776 (PickLine::Pickline): Accept a String for the key.
2777 * PickPackageLine.cc (PickPackageLine::paint): Convert all char use to
2778 Strings.
2779 * PickPackageLine.h (PickPackageLine::PickPackageLine): The key is
2780 automatically initialised now.
2781 * PickView.cc (PickView::note_width): Convert all char * use to Strings.
2782 (PickView::init_header): Move category length checking out of the inner
2783 loop for efficiency.
2784 Convert all char use to Strings.
2785 * PickView.h: Include the String++ header.
2786 (PickView::note_width): Update the prototype.
2787 * String++.cc: New file, implements a reference counting string class.
2788 * String++.h: New file, declares a reference counting string class.
2789 * archive.cc: Include String++ instead of concat.
2790 (archive::extract_file): Convert char * usage to Strings.
2791 * archive.h: Inlude the String++ header.
2792 (archive::extract_file): Update prototype.
2793 (archive::next_file_name): Convert to a String.
2794 (archive::linktarget): Ditto.
2795 * archive_tar.cc (archive_tar::next_file_name): Convert to String usage.
2796 (archive_tar::linktarget): Ditto.
2797 * arhive_tar.h: Update the copyright.
2798 Explicitly include the relevant headers.
2799 (tar_map_result_type): Convert to String usage.
2800 (archive_tar::next_file_name): Update prototype.
2801 (archive_tar::linktarget): Ditto.
2802 * category.cc (Category::Category): Update initialisers.
2803 Convert to String usage.
2804 (Categorycmp): Update to String usage.
2805 * category.h: Include the String++ header.
2806 (Category::Category): Update to String usage.
2807 (Category::name): Ditto.
2808 (Category::key): Ditto.
2809 * choose.cc: Remove concat.h, it's not needed.
2810 (scan2): Update to String usage.
2811 (do_choose): Ditto.
2812 * cygpackage.cc: Update includes for use of String class.
2813 (cygpackage::cygpackage): Update for String usage.
2814 (cygpackage::set_canonical_version): Ditto.
2815 (cygpackage::destroy): Ditto.
2816 (cygpackage::getfirstfile): Ditto.
2817 (cygpackage::getnextfile): Ditto.
2818 (cygpackage::Name): Ditto.
2819 (cygpackage::Vendor_version): Ditto.
2820 (cygpackage::Package_version): Ditto.
2821 (cygpackage::Canonical_version): Ditto.
2822 (cygpackage::set_sdesc): Ditto.
2823 (cygpackage::set_ldesc): Ditto.
2824 * cygpackage.h: Include String++.h for parsing this file.
2825 (cygpackage::cygpackage): Update for String usage.
2826 (cygpackage::set_canonical_version): Ditto.
2827 (cygpackage::destroy): Ditto.
2828 (cygpackage::getfirstfile): Ditto.
2829 (cygpackage::getnextfile): Ditto.
2830 (cygpackage::Name): Ditto.
2831 (cygpackage::Vendor_version): Ditto.
2832 (cygpackage::Package_version): Ditto.
2833 (cygpackage::Canonical_version): Ditto.
2834 (cygpackage::set_sdesc): Ditto.
2835 (cygpackage::set_ldesc): Ditto.
2836 (cygpackage::name): Ditto.
2837 (cygpackage::vendor): Ditto.
2838 (cygpackage::packagev): Ditto.
2839 (cygpackage::canonical): Ditto.
2840 (cygpackage::fn): Ditto.
2841 (cygpackage::sdesc): Ditto.
2842 (cygpackage::ldesc): Ditto.
2843 * desktop.cc: Update includes for use of String class.
2844 (batname): Update for String usage.
2845 (iconname): Ditto.
2846 (make_link): Ditto.
2847 (start)menu): Ditto.
2848 (desktop_icon): Ditto.
2849 (make_cygwin_bat): Ditto.
2850 (make_etc_profile): Ditto.
2851 (uexists): Ditto.
2852 (make_passwd_group): Ditto.
2853 (save_icon): Ditto.
2854 (check_desktop): Ditto.
2855 (check_startmenu): Ditto.
2856 * dialog.cc (eget): Update for String usage.
2857 (egetString): New function.
2858 (eset): New variant for Strings.
2859 * dialog.h: Include String++.h for parsing this file.
2860 (egetString): New function.
2861 (eset): New variant for Strings.
2862 * diskfull.cc (diskfull): Update for String usage.
2863 * diskfull.h: Include String++.h for parsing this file.
2864 (diskfull): Update for String usage.
2865 * download.cc: Update includes for use of String class.
2866 (check_for_cached): Update for String usage.
2867 (download_one): Ditto.
2868 * filemanip.cc (get_file_size): Ditto.
2869 (base): Ditto.
2870 (parse_filename): Ditto.
2871 (backslash): Ditto.
2872 * filemanip.h: Include String++.h for parsing this file.
2873 (fileparse): Update for String usage.
2874 (base): Ditto.
2875 (parse_filename): Ditto.
2876 Don't consider '_' to be a separator.
2877 (backslash): Ditto.
2878 * find.cc: Update includes for use of String class.
2879 (find_sub): Make more flexible.
2880 (find): Update for String usage.
2881 * find.h (find): Use Strings.
2882 * fromcwd.cc (found_file): Update for String usage.
2883 * geturl.cc: Ditto.
2884 (init_dialog): Ditto.
2885 (get_url_to_membuf): Ditto.
2886 (get_url_to_string): Ditto.
2887 (get_url_to_file): Ditto.
2888 * geturl.h: Ditto.
2889 (get_url_to_membuf): Ditto.
2890 (get_url_to_string): Ditto.
2891 (get_url_to_file): Ditto.
2892 * hash.h: Ditto.
2893 (add_subdirs): Ditto.
2894 * ini.cc: Update includes for String usage.
2895 (find_routine): Update for String usage.
2896 (do_remote_ini): Ditto.
2897 (do_ini_thread): Ditto.
2898 * ini.h (ini_init): Ditto.
2899 * inilex.l: Update includes for String usage.
2900 (ini_init): Update for String usage.
2901 * iniparse.y: Ditto.
2902 (add_correct_version): Ditto.
2903 * install.cc: Update includes for String usage.
2904 (install_one_source): Update for String usage.
2905 (uninstall_one): Ditto.
2906 (replace_one): Ditto.
2907 (install_one_source): Ditto.
2908 (do_install_thread): Ditto.
2909 * io_stream.cc: Update includes for String usage.
2910 (io_stream::open): Update for String usage.
2911 (io_stream::mkpath_p): Ditto.
2912 (io_stream::remove): Ditto.
2913 (io_stream::mklink): Ditto.
2914 (io_stream::move_copy): Ditto.
2915 (io_stream::move): Ditto.
2916 (io_stream::exists): Ditto.
2917 * io_stream.h: Update includes to allow correct parsing.
2918 (io_stream::open): Update for String usage.
2919 (io_stream::mkpath_p): Ditto.
2920 (io_stream::remove): Ditto.
2921 (io_stream::mklink): Ditto.
2922 (io_stream::move_copy): Ditto.
2923 (io_stream::move): Ditto.
2924 (io_stream::exists): Ditto.
2925 * io_stream_cygfile.cc: Update includes for String usage.
2926 (get_root_dir_now): Update for String usage.
2927 (io_stream_cygfile::io_stream_cygfile): Ditto.
2928 (io_stream_cygfile::~io_stream_cygfile): Ditto.
2929 (io_stream_cygfile::exists): Ditto.
2930 (io_stream_cygfile::remove): Ditto.
2931 (io_stream_cygfile::mklink): Ditto.
2932 (cygmkdir_p): Ditto.
2933 (io_stream_cygfile::set_mtime): Ditto.
2934 (io_stream_cygfile::move): Ditto.
2935 (io_stream_cygfile::get_size): Ditto.
2936 * io_stream_cygfile.h: Update includes for String usage.
2937 (io_stream_cygfile::io_stream_cygfile): Update for String usage.
2938 (io_stream_cygfile::~io_stream_cygfile): Ditto.
2939 (io_stream_cygfile::exists): Ditto.
2940 (io_stream_cygfile::remove): Ditto.
2941 (io_stream_cygfile::mklink): Ditto.
2942 (cygmkdir_p): Ditto.
2943 (io_stream_cygfile::set_mtime): Ditto.
2944 (io_stream_cygfile::move): Ditto.
2945 (io_stream_cygfile::get_size): Ditto.
2946 (io_stream_cygfile::fname): Ditto.
2947 (io_stream_cygfile::lmode): Ditto.
2948 * io_stream_file.cc: Update includes for String usage.
2949 (io_stream_file::io_stream_file): Update for String usage.
2950 (io_stream_file::~io_stream_file): Ditto.
2951 (io_stream_file::exists): Ditto.
2952 (io_stream_file::remove): Ditto.
2953 (io_stream_file::mklink): Ditto.
2954 (io_stream_file::set_mtime): Ditto.
2955 (io_stream_file::move): Ditto.
2956 (io_stream_file::get_size): Ditto.
2957 * io_stream_file.h: Update includes for String usage.
2958 * io_stream_file.cc: Update includes for String usage.
2959 (io_stream_file::io_stream_file): Update for String usage.
2960 (io_stream_file::~io_stream_file): Ditto.
2961 (io_stream_file::exists): Ditto.
2962 (io_stream_file::remove): Ditto.
2963 (io_stream_file::mklink): Ditto.
2964 (io_stream_file::set_mtime): Ditto.
2965 (io_stream_file::move): Ditto.
2966 (io_stream_file::get_size): Ditto.
2967 (io_stream_file::fname): Ditto.
2968 (io_stream_file::lmode): Ditto.
2969 * localdir.cc: Update includes for String usage.
2970 (save_local_dir): Update for String usage.
2971 (check_if_enable_next): Ditto.
2972 (load_dialog): Ditto.
2973 (browse_cb): Ditto.
2974 (LocalDirPage::OnInit): Ditto.
2975 (LocalDirPage::OnNext): Ditto.
2976 * log.cc: Update includes for String usage.
2977 (struct LogEnt): Update for String usage.
2978 (log): Ditto.
2979 (log_save): Ditto.
2980 (exit_setup): Ditto.
2981 * log.h: Update includes for String usage.
2982 (log_level): Update for String usage.
2983 (log): Ditto.
2984 (log_save): Ditto.
2985 * main.cc (WinMain): Update for String usage.
2986 * mklink2.c (make_link_2): Update for String usage.
2987 * mklink2.h (make_link_2): Update for String usage.
2988 * mount.cc: Update includes for String usage.
2989 (mount_table): Update for String usage.
2990 (find2): Ditto.
2991 (create_mount): Ditto.
2992 (remove1): Ditto.
2993 (remove_mount): Ditto.
2994 (read_mounts): Ditto.
2995 (set_root_dir): Ditto.
2996 (get_root_dir): Ditto.
2997 (path_prefix_p): Ditto.
2998 (cygpath): Ditto.
2999 * mount.h: Update includes for String usage.
3000 (create_mount): Update for String usage.
3001 (remove_mount): Ditto.
3002 (cygpath): Ditto.
3003 (set_root_dir): Ditto.
3004 (get_root_dir): Ditto.
3005 * msg.cc (mbox): Ditto.
3006 * net.cc (NetPage::OnNext): Ditto.
3007 * package_db.cc (packagedb::flush): Ditto.
3008 (packagedb::packages): Ditto.
3009 (packagedb::categories): Ditto.
3010 * package_db.h: Update includes for String usage.
3011 (packagedb::packages): Update for String usage.
3012 (packagedb::categories): Ditto.
3013 * package_meta.cc: Update includes for String usage.
3014 (hash::add_subdirs): Update for String usage.
3015 (packagemeta::uninstall): Ditto.
3016 (packagemeta::SDesc): Ditto.
3017 (packagemeta::action_caption): Ditto.
3018 * package_meta.h: Update includes for String usage.
3019 (packagemeta::packagemeta): Update for String usage.
3020 (packagemeta::~packagemeta): Ditto.
3021 (packagemeta::uninstall): Ditto.
3022 (packagemeta::SDesc): Ditto.
3023 (packagemeta::action_caption): Ditto.
3024 (package_source.cc site::site): Ditto.
3025 (packagesource::set_canonical): Ditto.
3026 (packagesource::set_cached): Ditto.
3027 * package_source.h: Update includes for String usage.
3028 (site::site): Update for String usage.
3029 (packagesource::set_canonical): Ditto.
3030 (packagesource::set_cached): Ditto.
3031 (packagesource::packagesource): Ditto.
3032 (packagesource::sites): Ditto.
3033 (packagesource::cached): Ditto.
3034 * package_version.h: Update includes for String usage.
3035 (Dependency): Update for String usage.
3036 (packageversion): Ditto.
3037 * postinstall.cc: Update includes for String usage.
3038 (do_postinstall): Update for String usage.
3039 * res.rc (IDD_LOCAL_DIR): Fix typo again!
3040 * rfc1738.cc (rfc1738_escape_part): Update for String usage.
3041 * rfc1738.h: Update includes for String usage.
3042 (rfc1738_escape_part): Update for String usage.
3043 * root.cc: Update includes for String usage.
3044 (check_if_enable_next): Update for String usage.
3045 (save_dialog): Ditto.
3046 (browse_cb): Ditto.
3047 (directory_is_absolute): Ditto.
3048 (directory_is_rootdir): Ditto.
3049 (directory_has_spaces): Ditto.
3050 (RootPage::OnInit): Ditto.
3051 (RootPage::OnNext): Ditto.
3052 * script.cc: Update includes for String usage.
3053 (init_run_script): Update for String usage.
3054 (run): Ditto.
3055 (run_script): Ditto.
3056 (try_run_script): Ditto.
3057 * script.h: Update includes for String usage.
3058 (run_script): Update for String usage.
3059 (try_run_script): Ditto.
3060 * site.cc site_list): Ditto.
3061 (all_site_list): Ditto.
3062 (other_url): Eliminate.
3063 (site_list_type::init): Update for String usage.
3064 (site_list_type::site_list_type): Ditto.
3065 (get_site_list): Ditto.
3066 (get_saved_sites): Ditto.
3067 (do_download_site_info_thread): Ditto.
3068 (SitePage::OnNext): Ditto.
3069 (SitePage::OnActivate): Ditto.
3070 (SitePage::PopulateListBox): Ditto.
3071 (SitePage::OnMessageCmd): Handle empty url's.
3072 * site.h: Update includes for String usage.
3073 (site_list_type::site_list_type): Update for String usage.
3074 (site_list_type::init): Ditto.
3075 (site_list_type::~site_list_type): Ditto.
3076 (site_list_type::url): Ditto.
3077 (site_list_type::displayed_url): Ditto.
3078 (site_list_type::key): Ditto.
3079 * source.cc (SourcePage::OnDeactivate): Ditto.
3080 * state.h: Update includes for String usage.
3081 (local_dir): Update for String usage.
3082 (trust_level): Remove.
3083 * version.cc: Update includes for String usage.
3084 (canonicalize_version): Update for String usage.
3085 * version.h: Update includes for String usage.
3086 (canonicalize_version): Update for String usage.
3087
3088 2002-02-15 Christopher Faylor <cgf@redhat.com>
3089
3090 * filemanip.c (parse_filename): Revert previous change.
3091
3092 2002-02-14 Christopher Faylor <cgf@redhat.com>
3093
3094 * filemanip.c (parse_filename): Don't treat '_' as a version number
3095 introducer.
3096
3097 2002-01-29 Christopher Faylor <cgf@redhat.com>
3098
3099 * configure: Regenerate.
3100
3101 2002-01-27 Robert Collins <rbtcollins@hotmail.com>
3102
3103 * res.rc (IDD_LOCAL_DIR): Fix typo reported by Rene
3104 <Hoeck@extern.lrz-muenchen.de>
3105
3106 2002-01-27 Robert Collins <rbtcollins@hotmail.com>
3107
3108 * README: Update Todo's.
3109 * list.h: Run indent.
3110 (list): New methods checksize and insert to reduce code duplication.
3111 (list::registerbykey): Use them.
3112 (list::registerbyobject): Ditto.
3113 (list::removebyindex): Copy each object individually - safe for non
3114 trivial objects.
3115 (list::checksize): Implement.
3116 (list::insert): Implement.
3117
3118 2002-01-27 Robert Collins <rbtcollins@hotmail.com>
3119
3120 * Makefile.in: Remove the dlmalloc object by default.
3121 * install.cc (do_install_thread): Remove the mallinfo call for 'working
3122 around' the crashing issue.
3123 * package_db.h: Include <string.h> - it's needed to parse this.
3124 * package_source.cc (site::site): Move here from the header file.
3125 * package_source.h (site): Stop the constructor being inlinable.
3126
3127 2002-01-26 Robert Collins <rbtcollins@hotmail.com>
3128
3129 * filemanip.cc (find_tar_ext): Add a descriptive comment.
3130
3131 2002-01-25 Michael A Chase <mchase@ix.netcom.com>
3132
3133 * filemanip.cc (find_tar_ext): Clean up tests for .tar.gz and .tar.
3134 * fromcwd.cc (do_fromcwd): Expand FIXME comment in source file check.
3135 * install.cc (install_one_source): Add space between words in log()
3136 call.
3137
3138 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
3139
3140 * log.cc (exit_setup): When saving to the download dir, explicity
3141 specify the path.
3142
3143 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
3144
3145 * archive.cc (extract_file): Separate out the prefix and the URL
3146 scheme.
3147 * archive.h (archive::extract_file): Ditto.
3148 * install.cc (install_one_source): Ditto. Use the new
3149 archive::extract_file syntax.
3150 (replace_one): Use the new syntax.
3151 (io_stream.cc): Add some log info for links.
3152
3153 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
3154
3155 * PickCategoryLine.cc (PickCategoryLine::actiontext): Remove.
3156 (PickCategoryLine::paint): Use the new action method.
3157 (PickCategoryLine::click): Set the action for all children.
3158 (PickCategoryLine::set_action): New method.
3159 * PickCategoryLine.h (PickCategoryLine::-actions): Remove.
3160 (PickCategoryLine::current_default): Use packagemeta _actions class.
3161 * PickLine.h (PickLine::set_action): New abstract method that requires
3162 including package_meta.h.
3163 * PickPackageLine.cc (PickPackageLine::set_action): New method.
3164 * PickPackageLine.h (PickPackageLine::set_action): Declare this.
3165 * list.h (getbykey): A const correctness fix.
3166 * package_meta.cc: Run indent.
3167 (packagemeta::Default_action): New const.
3168 (packagemeta::Install_action): Ditto.
3169 (packagemeta::Reinstall_action): Ditto.
3170 (packagemeta::Uninstall_action): Ditto.
3171 (packagemeta::_actions::caption): New method.
3172 (packagemeta::_actions::operator++): Ditto.
3173 (packagemeta::set_action): New overload.
3174 * package_meta.h (packagemeta::_actions): New class.
3175 (packagemeta::set_action): Declare this.
3176
3177 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
3178
3179 * Makefile.in (OBJS): Remove supp.o - it appears accidental.
3180 * choose.cc: Don't define alloca anymore, it's done in win32.h
3181
3182 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
3183
3184 * PickPackageLine.cc: New file.
3185 * PickPackageLine.h: New file.
3186 * PickLine.cc: New file.
3187 * PickLine.h: New file.
3188 * PickCategoryLine.cc: New file.
3189 * PickCategoryLine.h: New file.
3190 * PickView.cc: New file.
3191 * PickView.h: New file.
3192 * Makefile.in: Add new objects to setup.exe.
3193 Backout -fno-exceptions option.
3194 * choose.cc: Include PickView.h.
3195 Remove view related defines and static variables.
3196 (_pkg_headers): Moved to PickView.cc.
3197 (_cat_headers): Ditto.
3198 (view::views::Unknown): Ditto.
3199 (view::views::PackageFull):
3200 (view::views::Package):
3201 (view::views::Category):
3202 (pkgtrustp): Moved to package_meta.cc.
3203 (add_required): Moved to package_meta.cc.
3204 (pick_category_line::empty): Moved to PickCategoryLine.cc
3205 (paint): Adjust for moved static variables.
3206 (view::scroll): Moved to PickView.cc.
3207 (list_vscroll): Adjust for moved static variables.
3208 (list_hscroll): Ditto.
3209 (list_click): Ditto.
3210 (note_width): Moved to PickView.cc.
3211 (view::view): Ditto.
3212 (view::set_view_mode): Ditto.
3213 (view::mode_caption): Ditto.
3214 (view::views::caption): Ditto.
3215 (view::set_headers): Ditto.
3216 (DoInsertItem): Ditto.
3217 (view::init_headers): Ditto.
3218 (view::insert_pkg): Ditto.
3219 (view::insert_category): Ditto.
3220 (view::clear_view): Ditto.
3221 (view::views::operator++): Ditto.
3222 (view::click): Ditto.
3223 (default_trust): Adjust for moved statics.
3224 (pick_pkg_line::paint): Moved to PickPackageLine.cc.
3225 (pick_pkg_line::click): Ditto.
3226 (pick_category_line::actiontext): Moved to PickCategoryLine.cc
3227 (pick_category_line::paint): Ditto.
3228 (pick_category_line::click): Ditto.
3229 (set_view_mode): Adjust for moved statics.
3230 (create_listview): Ditto.
3231 * choose.h: Remove Category and packagemeta forward defines -
3232 not needed.
3233 Don't include unneeded headers list and package_meta.
3234 (_header): Move to PickView.h.
3235 (pick_line): Move to PickLine.h.
3236 (pick_pkg_line): Move to PickPackageLine.h.
3237 (pick_category_line): Move to PickCategoryLine.h.
3238 (view): Move to PickView.h.
3239 * ini.h (trusts): Move to package_meta.h.
3240 * package_meta.h (trusts): New enum.
3241 (packagemeta::set_requirements): New helper method.
3242 (packagemeta::trustp): Ditto.
3243
3244 2002-01-21 Christopher Faylor <cgf@redhat.com>
3245
3246 * choose.h (view): Move forward declaration of views into public area
3247 or g++ v3 will complain.
3248
3249 2002-01-21 Christopher Faylor <cgf@redhat.com>
3250
3251 * Makefile.in (CXXFLAGS): Add -fno-exceptions.
3252 * win32.h (alloca): Define as __builtin_alloca.
3253 * io_stream_memory.cc: Add include file.
3254
3255 2002-01-21 Robert Collins <rbtcollins@hotmail.com>
3256
3257 * archive_tar.cc (archive_tar::~archive_tar): Mark the stream as
3258 destroyed.
3259 * archive_tar_file.cc (archive_tar_file::~archive_tar_file): Ditto.
3260 * compress.cc (compress::~compress): Be less verbose.
3261 * compress_bz.cc (compress_bz::~compress_bz): Ditto.
3262 Mark the stream as destroyed.
3263 * compress_gz.cc (compress_gz::~compress_gz): Mark the stream as
3264 destroyed.
3265 * io_stream.cc (io_stream::~io_stream): Only warn when the stream is not
3266 marked as destroyed.
3267 * io_stream_cygfile.cc (io_stream_cygfile::~io_stream_cygfile): Mark the
3268 stream as destroyed.
3269 * io_stream_file.cc (io_stream_file::~io_stream_file): Ditto.
3270 * io_stream_memory.cc (io_stream_memory::~io_stream_memory): Ditto.
3271
3272 2002-01-21 Robert Collins <rbtcollins@hotmail.com>
3273
3274 * Makefile.in (CFLAGS): Allow customisable malloc debug flags.
3275 (OBJS): Link in malloc objects.
3276 * category.cc (category): Use new char, not strdup.
3277 * choose.cc (pick_pkg_line::paint): Allow for the regionsize to shrink.
3278 (do_choose): Use new char, not malloc.
3279 * concat.cc (vconcat): Ditto.
3280 * cygpackage.cc (cygpackage): Use new char, not strdup.
3281 (set_canonical_version): Ditto.
3282 (cygpackage::destroy): Use delete[], not free.
3283 * desktop.cc (uexists): Ditto.
3284 * dialog.cc (egest): Use new char, not strdup.
3285 * dlmalloc.c: New file - Doug Lea's malloc 2.7.0
3286 * hash.cc (hash::hash): Use delete instead of free.
3287 (hash::add): Use new char, not strdup.
3288 * ini.cc (do_remote_ini): Use delete[] not free.
3289 * inilex.l: Use new char, not strdup.
3290 (ini_init): Ditto.
3291 * iniparse.y: Ditto.
3292 Use a local package_db rather than a static one.
3293 * install.cc (struct mallinfo): Workaround an apparent dlmalloc bug.
3294 (do_install_thread): Call mallinfo to force a consistency check. Appears
3295 to fix a 'inuse' error in -DDEBUG builds.
3296 Use delete[] for strings.
3297 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): Use new
3298 char, not strdup.
3299 (io_stream_cygfile::~io_stream_cygfile): Use delete[], not free.
3300 (io_stream_cygfile::remove): Use new char, not strdup.
3301 * io_stream_file.cc (io_stream_file::io_stream_file): Use new char, not
3302 strdup.
3303 (io_stream_file::io_stream_file): Use delete[], not free.
3304 (io_stream_file::remove): Use new char, not strdup.
3305 * io_stream_memory.cc (memblock::~memblock): Use delete[], not free.
3306 * io_stream_memory.h (memblock): Use new char, not malloc.
3307 * localdir.cc (LocalDirPage::OnInit): Use new char, not strdup.
3308 * main.cc (WinMain): Use new char, not strdup.
3309 * mount.cc (find2): Use new char, not malloc.
3310 (read_mounts): Ditto.
3311 (cygpath): Use new char, not strdup.
3312 * netio.cc (NetIO::~NetIO): Use delete[], not free.
3313 (NetIO::set_url): Use new char, not strdup.
3314 (NetIO::get_ftp_auth): Use delete[], not free.
3315 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Ditto.
3316 Use new char instead of strdup.
3317 * nio-http.cc (base64_encode): Use new char, not malloc.
3318 * package_meta.cc (hash::add_subdirs): Use new char instead of strdup.
3319 * package_source.h (~ packagesource): Use delete[] instead of delete.
3320 * port.h (strdup): Deprecate the use of strdup.
3321 * rfc1738.cc (rfc1738_do_escape): Use new char, not calloc.
3322 * script.cc (init_run_script): Us delete[], not free.
3323 (run_script): Ditto.
3324 * simpsock.cc (SimpleSocket::fill): Use new char, not malloc.
3325 (SimpleSocket::invalidate): Use delete[], not free.
3326 * site.cc (site_list_type::init): Use new char instead of strdup.
3327 * site.h (~site_list_type): Use delete[], not free.
3328
3329 2002-01-20 Robert Collins <rbtcollins@hotmail.com>
3330
3331 * Makefile.in (OBJS): Add win32.o - win32 support functions.
3332 * README: Update todos.
3333 * archive.cc (extract_file): Support a suffix for appending to extracted
3334 files.
3335 * archive.h: Ditto.
3336 * choose.cc (set_view_mode): Use the new view::views class.
3337 (view::views::Unknown): New static for defaulting view::views variables.
3338 (view::views::PackageFull): New static for the current view.
3339 (view::views::Package): Ditto.
3340 (view::views::Category): Ditto.
3341 (topbucket::paint): Remove.
3342 (topbucket::empty): Rename to pick_category_line::empty.
3343 (topbucket::~topbucket): Remove.
3344 (paint): Use the new view::views class.
3345 Don't paint 'all' as a category when showing package categoies.
3346 (pick_category_line::actiontext): New method.
3347 (pick_category_line::paint): Make showing the category optional, and
3348 show the 'category action'.
3349 (pick_category_line::click): Make showing the category optional, and
3350 differentiate between the name being clicked, and the action
3351 description.
3352 (view::view): Use the new view::views class.
3353 (view::set_view_mode): Ditto.
3354 (view::mode_caption): Ditto.
3355 (view::views::caption): New method.
3356 (view::set_headers): Use the new view::views class.
3357 (view::clear_view): Ditto.
3358 (viewsplusplus): Replaced by
3359 (view::views::operator++): New operator.
3360 (set_view_mode): Use the new view::views class.
3361 (create_listview): Ditto.
3362 (dialog_cmd): Ditto.
3363 * choose.h (actions): Remove.
3364 (views): Remove.
3365 (pick_line): Add a new convenience constructor.
3366 (top_bucket): Remove.
3367 (pick_category_line): Reparent under pick_line, and adsorb top_bucket.
3368 (view::views): New class.
3369 * ini.h: Don't include choose.h
3370 (is_download_action): Remove.
3371 (is_upgrade_action): Remove.
3372 (is_uninstall_action): Remove.
3373 (is_full_action): Remove.
3374 * install.cc (num_replacements): New static.
3375 (rebootneeded): Ditto.
3376 (replace_one): Handle upgrades separate from removal or new installs.
3377 (install_one_source): Handle in use files.
3378 (install_one): Don't repeat upgrades.
3379 (do_install_thread): Initialize new statics.
3380 Order actions as uninstall, replace, install.
3381 Warn about rebooting if needed.
3382 * res.rc (IDS_REBOOT_REQUIRED): New string.
3383 * resource.h (IDS_REBOOT_REQUIRED): Give value.
3384 * win32.h: Declare class Win32, and update copyright and intent message.
3385 * win32.cc: New file.
3386
3387 2002-01-15 Corinna Vinschen <corinna@vinschen.de>
3388
3389 * io_stream.cc (io_stream::gets): Eliminate trailing new line chars.
3390 * package_meta.cc (packagemeta::uninstall): Check for additional
3391 Windows shortcut. Unset R/O file attribute before trying to delete
3392 file.
3393
3394 2002-01-09 Robert Collins <rbtcollins@hotmail.com>
3395
3396 * choose.cc (pkgtrustp): Fall back to installed if a package is not
3397 present in the current trust level. For prev, fall back via curr.
3398 (set_existence): Allow sources with no sites, but cached files to be
3399 kept.
3400 (pick_category_line::paint): Start drawing clickable categories.
3401 * fromcwd.cc (found_file): Reinstate local file scanning.
3402
3403 2002-01-07 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
3404
3405 * fromcwd.cc: Run indent.
3406 (do_fromcwd): Reverse sense of comment. Set next_dialog
3407 to IDD_CHOOSER instead of IDD_CHOOSE.
3408 * ini.cc (find_routine): Remove "/" from "/setup.ini".
3409
3410 2001-01-07 Robert Collins <rbtcollins@hotmail.com>
3411
3412 * category.cc (Categorycmp): Add a const safe version.
3413 * category.h (Categorycmp): Add a const safe version.
3414 (Category): Add operator ==.
3415 * choose.cc (fill_missing_category): Add every package to "All".
3416 (pick_category_line::paint): Add support for hidden labels, and a tree
3417 depth.
3418 (pick_category_line::click): Ditto.
3419 (view::view): Pass in a top level category to use.
3420 (view::insert_pkg): Special case - skip category "All".
3421 (view::insert_category): Ditto.
3422 (view::clear_view): Set the contents label state.
3423 (create_listview): Pass in a top level category to view().
3424 * choose.h (topbucket): Make bucket available to derived classes.
3425 (pick_category_line): Add support for hidden labels, and a tree depth.
3426 Remove our second copy of bucket.
3427 (view): Pass in a top level category to the constructor.
3428 Use pick_category_line to allow three level display.
3429
3430 2001-01-06 Robert Collins <rbtcollins@hotmail.com>
3431
3432 * cygpackage.h (cygpackage): Make set_[s|l]desc virtual.
3433 * iniparse.y (add_correct_version): Copy descriptions across.
3434 * package_meta.cc (SDesc): Iterate through versions, return the first
3435 with a description.
3436 * package_version.h (packageversion): Add new virtuals set_[l|s]desc.
3437
3438 2001-01-04 Robert Collins <rbtcollins@hotmail.com>
3439
3440 * script.cc (run_script): Change cygpath:// to cygfile://.
3441 * install.cc (do_install_thread): Fix off-by-one errors.
3442
3443 2001-01-04 Robert Collins <rbtcollins@hotmail.com>
3444
3445 * package_db.cc (packagedb::flush): Fix an off-by-one error.
3446
3447 2002-01-04 Jan Nieuwenhuizen <janneke@gnu.org>
3448
3449 * Makefile.in (realclean): more clean.
3450 (OBJS): Add script.o.
3451 * postinstall.cc (run_script_in_etc_postinstall): New function.
3452 (do_postinstall): Split off new funtion init_run_script ().
3453 (init_run_script):
3454 (run):
3455 (run_script): Move to script.cc. Replace some deprecated remove
3456 and move calls.
3457 * script.h:
3458 * script.cc: New file.
3459 * Forward port cygwin-20010707.jcn3.patch.
3460 * package_meta.cc (uninstall): Run pre- and postremove scripts.
3461 * install.cc: Typo fix.
3462 (do_install): Run script initialisation.
3463
3464 2001-01-04 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
3465
3466 * cistring.cc: Run d2u.
3467 * cistring.h: Run d2u.
3468
3469 * desktop.cc (etc_profile): Remove "test -f ./.bashrc && . ./.bashrc"
3470 from the generated /etc/profile. Bash will source this file
3471 automatically, and having this here merely results in .bashrc being
3472 executed twice. Run d2u.
3473 * desktop.h: Run d2u.
3474
3475 * propsheet.cc: Run d2u.
3476 (PropSheetProc): New function. Add minimize box here instead of in
3477 PropertyPage::DialogProc.
3478 (PropSheet::Create): Change to use creation callback PropSheetProc.
3479 (DLGTEMPLATEEX): Add 'hidden' Windows struct definition.
3480
3481 * propsheet.h: Run indent, d2u.
3482 * proppage.h: Run indent, d2u.
3483
3484 * proppage.cc: Run d2u.
3485 (PropertyPage::DialogProc): Remove minimize-box-adding
3486 functionality. Remove commented-out "PropSheet_SetWizButtons" calls.
3487 Add support for calling virtual OnMessageCmd. Add setting of fonts in
3488 WM_INITDIALOG handler.
3489 (resource.h): New include for resource IDs.
3490
3491 * res.rc: Resize and rearrange property page dialog templates
3492 to bring them in line with "Microsoft's Backward Compatible Wizard 97"
3493 specification. Run d2u.
3494 (IDD_SITE): Add an edit control and an "Add" button in order to
3495 combine the IDD_SITE and IDD_OTHER_URL functionality onto one page.
3496 (IDD_OTHER_URL): Remove dialog template.
3497 (IDD_DLSTATUS): Remove dialog template.
3498
3499 * site.cc: Run d2u.
3500 (SitePage::OnBack): Remove NEXT() macro invocation.
3501 (SitePage::OnActivate): New member function.
3502 (load_dialog): Remove. Functionality subsumed into
3503 SitePage::OnActivate.
3504 (save_dialog): Change to support both list and user URLs. Remove
3505 OTHER_IDX and mirror_idx logic.
3506 (SitePage::PopulateListBox): New member function.
3507 (SitePage::CheckControlsAndDisableAccordingly): New member function.
3508 (SitePage::OnMessageCmd): New override.
3509 (check_if_enable_next): Remove.
3510 (dialog_cmd): Remove.
3511 (do_download_site_info_thread): Remove calls to NEXT() macro.
3512 (SitePage::Create): Call the single-param PropertyPage::Create
3513 overload.
3514 (other_url): New static taken from other.cc.
3515 (SitePage::OnNext): Remove mirror_idx logic.
3516 (SitePage::OnInit): Remove "Other URL" entry from list box. Remove
3517 list box populating code, now handled in SitePage::PopulateListBox.
3518 (mirror_idx, NO_IDX, OTHER_IDX): Remove.
3519 (save_site_url): Fix potential buffer overflow problem. Switched to
3520 TCHAR in grossly premature preparation for multilingual support.
3521 * site.h: Run d2u.
3522 (SitePage::OnActivate): New member function.
3523 (SitePage::CheckControlsAndDisableAccordingly) New member.
3524 (SitePage::OnMessageCmd): New override.
3525 (do_download_site_info_thread): Add MessageBox call on failure to
3526 download site list.
3527
3528 * splash.cc: Run d2u.
3529 (SplashPage::OnInit): Set the font for the title.
3530 * splash.h: Run d2u.
3531
3532 * threebar.cc: Run d2u.
3533 * threebar.h: Run d2u.
3534
3535 * window.h: Run d2u.
3536 (Window::IsButtonChecked): New member function declaration.
3537 (Window::OnMessageCmd): New member function.
3538 (Window::SetDlgItemFont): New member function declaration.
3539 (Window::MAXFONTS, Window::Fonts, Window::FontCounter): New data
3540 members.
3541 * window.cc: Run d2u.
3542 (Window::IsButtonChecked): New member function definition.
3543 (Window::SetDlgItemFont): New member function definition.
3544 (Window::Window): Add initialization for FontCounter.
3545 (Window::~Window): Delete any fonts we created.
3546
3547 * geturl.cc: Run d2u.
3548 (progress): Remove the "3" field width from the "%3d"
3549 percent-complete format indicator. Causes line to not start at
3550 beginning of text box, and does little to help with "jumping", since
3551 the "bytes downloaded so far" field is variable-width anyway. Change
3552 kb/s format field to "%03.1" to 0-pad the kb/s number in the event of
3553 painfully slow connections, or temporary slowdowns in faster
3554 connections should such more-instantaneous functionality become
3555 available.
3556
3557 * net.h: Run d2u.
3558 (NetPage::OnMessageCmd): New member function declaration.
3559 (NetPage::CheckIfEnableNext): New member function declaration.
3560 * net.cc: Run d2u.
3561 (NetPage::OnMessageCmd): New member function definition.
3562 (dialog_cmd): Remove, subsumed into NetPage::OnMessageCmd.
3563 (check_if_enable_next): Remove.
3564 (NetPage::CheckIfEnableNext): New member function, subsumes
3565 check_if_enable_next.
3566 (propsheet.h): Add include.
3567 (NetPage::Init): Add call to CheckIfEnableNext.
3568 (load_dialog): Remove call to check_if_enable_next.
3569 (NetPage::Create): Call single-template-ID-parameter overload of
3570 PropertyPage::Create instead of three-parameter one.
3571
3572 * Makefile.in (OBJS): Remove other.o.
3573 * other.cc: Remove file.
3574
3575 2002-01-01 Robert Collins <rbtcollins@hotmail.com>
3576
3577 * README: Update TODO's.
3578 * choose.cc (set_existence): Delete non installed packages with no
3579 mirrors.
3580 (fill_missing_category): Fix an off-by-one error.
3581 (default_trust): Ditto. Also delete any unused categories.
3582 (view::init_headers): Fix an off-by-one error.
3583 (set_view_mode): Ditto.
3584 (set_view_mode): Ditto.
3585 (create_listview): Ditto.
3586 (dialog_cmd): Ditto.
3587 (do_choose): Ditto.
3588 * io_stream.cc: Indent.
3589 * io_stream.h: Ditto.
3590 * package_db.cc: Ditto.
3591 * package_meta.h: Const correctness for SDesc ();
3592 * proppage.cc: Run d2u and indent.
3593 * propsheet.cc: Run d2u and indent.
3594 * window.cc: Run d2u and indent.
3595 * window.h: Run d2u and indent.
3596
3597 2001-12-28 Christopher Faylor <cgf@redhat.com>
3598
3599 * Makefile.in (iniparse.o): Accommodate newer bisons.
3600
3601 2001-12-23 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
3602
3603 * window.h (Window): New file, new class.
3604 * window.cc (Window): New file, new class.
3605
3606 * threebar.h (ThreeBarProgressPage): New file, new class.
3607 * threebar.cc (ThreeBarProgressPage): New file, new class.
3608
3609 * splash.h (SplashPage): New file, new class.
3610 * splash.cc (SplashPage): Replace file with implementation of new
3611 class.
3612
3613 * source.h (SourcePage): New file, new class.
3614 * source.cc: Run indent.
3615 (SourcePage): Add class implementation to this file.
3616 (do_source): Remove, functionality subsumed by SourcePage::Create()
3617 and SourcePage::OnDeactivate().
3618 (dialog_proc): Remove, functionality subsumed by
3619 SourcePage::OnActivate().
3620
3621 * site.h: Run indent.
3622 (SitePage): Add class declaration.
3623 * site.cc: Run indent.
3624 (SitePage): Add class implementation.
3625 (do_download_site_info_thread): New function.
3626 (context): New var. Context info for do_download_site_info_thread().
3627 (do_download_site_info): New function.
3628 (SitePage::Create, SitePage::OnInit SitePage::OnNext)
3629 (SitePage::OnBack): SitePage class implementation..
3630 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL handlers, now handled
3631 by SitePage members.
3632 (dialog_proc): Remove, now handled by SitePage::OnInit and base class
3633 functionality.
3634 (do_site): Remove, now handled by do_download_site_info_thread() and
3635 SitePage::OnNext functionality.
3636 (get_site_list): Remove dismiss_url_status_dialog() call.
3637
3638 * root.h (RootPage): New file, new class.
3639 * root.cc: Run indent.
3640 (dialog_cmd): Pass parent HWND parameter to note(), yesno().
3641 (dialog_proc): Remove.
3642 (do_root): Remove
3643 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL clauses from switch.
3644 (RootPage::OnInit): New member function. Move get_root_dir() logic to
3645 here from do_root().
3646 (RootPage::Create): New member function.
3647 (RootPage::OnNext): New member function. Move IDOK logic from
3648 dialog_cmd() to here.
3649 (RootPage::OnBack): New member function.
3650
3651 * propsheet.h (PropSheet): New file, new class.
3652 * propsheet.cc (PropSheet): New file, new class.
3653
3654 * proppage.h (PropertyPage): New file, new class.
3655 * proppage.cc (PropertyPage): New file, new class.
3656
3657 * postinstall.cc (do_postinstall): Add owner parameter.
3658
3659 * other.cc (do_other): Add owner parameter.
3660
3661 * nio-file.cc (NetIO::Purl): Pass NULL parent param to note().
3662 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Pass NULL parent param to
3663 get_ftp_auth().
3664 * nio-http.cc (retry_get): Pass NULL parent param to get_auth(),
3665 get_proxy_auth(),
3666 and get_ftp_auth().
3667 * nio-ie5.cc (NetIO::_url): Pass NULL parent param to note(),
3668 get_auth(), get_proxy_auth().
3669
3670 * netio.h (get_auth, get_proxy_auth, get_ftp_auth): Add owner param.
3671 * netio.cc (auth_common, NetIO::get_auth, NetIO::get_proxy_auth,
3672 NetIO::get_ftp_auth)
3673 (auth_common): Add owner param. Pass owner param to DialogBox.
3674 (NetIO::get_auth, NetIO::get_proxy_auth, NetIO::get_ftp_auth): Pass
3675 owner param to auth_common().
3676
3677 * net.h (NetPage): New file, new class.
3678 * net.cc: Run indent.
3679 (net.h, threebar.h): Add includes.
3680 (Progress): Add extern.
3681 (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, now handled by
3682 property sheet logic. Saved temporarily for reference.
3683 (NetPage::Create, NetPage::OnInit, NetPage::OnDeactivate,
3684 NetPage::OnNext, NetPage::OnBack):
3685 New implementation of NetPage class members.
3686 (do_net): Remove.
3687 (dialog_proc): Remove.
3688
3689 * msg.h (fatal, note, yesno): Add owner param.
3690 * msg.c (fatal, note, yesno, mbox): Add owner param.
3691 (mbox): Remove MB_TOPMOST from MessageBox call. Unnecessary and wrong
3692 now that we have a parent.
3693
3694 * main.cc: Run indent.
3695 (commctrl.h, proppage.h, propsheet.h, splash.h, source.h)
3696 (localdir.h, net.h, site.h, choose.h, threebar.h, desktop.h): Include
3697 headers.
3698 (root_dialog_proc): extern into this file.
3699 (Progress): Progress dialog defined here, used in several other files.
3700 (WinMain): Instantiate and create Splash, Source, Root, LocalDir, Net,
3701 Site, Chooser, Desktop pages and MainWindow sheet. Call
3702 InitCommonControls() to make sure Windows is set up for our use of
3703 property sheets. Add pages to sheet.
3704 Call MainWindow.Create() to "DoModal". Remove main loop, that logic is
3705 now handled by the PropSheet class.
3706 (root.h): Add include.
3707
3708 * log.cc (log_save): Pass NULL parent to fatal().
3709 (exit_setup): Pass NULL parent to note().
3710
3711 * localdir.h (LocalDirPage): New file, new class.
3712 * localdir.cc: Run indent.
3713 (localdir.h): New include.
3714 (threebar.h): New include.
3715 (Progress): extern into this file.
3716 (LocalDirPage::Create, LocalDirPage::OnInit, LocalDirPage::OnActivate)
3717 (LocalDirPage::OnNext, LocalDirPage::OnBack): Implementation of
3718 LocalDirPage.
3719 (LocalDirPage::OnNext): Move log() call from do_local_dir() to here.
3720 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL handlers.
3721 (do_local_dir): Remove.
3722 (dialog_proc): Remove.
3723 (cwd): Remove, not used by anything.
3724
3725 * install.cc: Run indent.
3726 (process.h, threebar.h): New includes.
3727 (Progress): extern into this file.
3728 (ins_dialog, ins_action, ins_pkgname, ins_filename, ins_pprogress)
3729 (ins_iprogress, ins_diskfull, init_event): Remove, now handled by
3730 ThreeBarProgressPage.
3731 (dialog_cmd, dialog_proc, dialog): Removed, handled in
3732 ThreeBarProgressPage.
3733 (init_dialog): Remove all mention of the above ins_* handles. Now
3734 handled in ThreeBarProgressPage. Altered SetWindowText()s to call
3735 ThreeBarProgressPage instance Progress directly.
3736 (progress): Alter bar update logic to call ThreeBarProgressPage
3737 instance Progress directly.
3738 (uninstall_one): Alter SetWindowText()s to call ThreeBarProgressPage
3739 instance Progress directly.
3740 (install_one_source): Alter SetWindowText()s to call
3741 ThreeBarProgressPage
3742 instance Progress directly. Pass NULL parent to note().
3743 (do_install_thread): Rename from do_install(), added owner param.
3744 Alter SetWindowText()s to call ThreeBarProgressPage instance Progress
3745 directly.
3746 Remove dismiss_url_status_dialog() call, no longer necessary. Remove
3747 ShowWindow(<hide>) call, also unnecessary now. Pass owner handle to
3748 fatal().
3749 (do_install_reflector): New function.
3750 (do_install): New function.
3751
3752 * ini.cc (process.h, threebar.h): New includes.
3753 (Progress): externed into this file.
3754 (find_routine): Pass NULL parent to note().
3755 (do_local_ini): Add owner param.
3756 (do_remote_ini): Add owner param. Pass owner to get_url_to_membuf()
3757 and note(). Remove call to dismiss_url_status_dialog().
3758 (do_ini_thread): Rename from do_ini(). Add owner param. Pass owner to
3759 do_local_ini(), do_remote_ini(), yesno(), and note(). Set next_dialog
3760 to IDD_CHOOSER on exit.
3761 (do_ini_thread_reflector): New function.
3762 (context): New var. Context for do_ini_thread.
3763 (do_ini): New function.
3764
3765 * geturl.h (get_url_to_membuf, get_url_to_string, get_url_to_file): Add
3766 owner param.
3767 * geturl.cc (gw_dialog, gw_url, gw_rate, gw_progress, gw_pprogress,
3768 gw_iprogress)
3769 (gw_progress_text, gw_pprogress_text, gw_iprogress_text, init_event):
3770 Removed.
3771 (threebar.h): New include.
3772 (Progress): externed into this file.
3773 (dialog_cmd, dialog_proc, dialog): Removed, handled by
3774 ThreeBarProgressPage now.
3775 (init_dialog): Remove "if (gw_dialog == 0)" clause. Alter
3776 SetWindowText()s
3777 and bar setting SendMessage()s to call ThreeBarProgressPage instance
3778 Progress directly. Remove "one bar only" logic, this is now handled
3779 explicitly in the ThreeBarProgressPage class.
3780 (progress): Altered bar and text update logic to call
3781 ThreeBarProgressPage instance Progress directly. Changed kbps
3782 calculation to floating point and now print out a single decimal
3783 place.
3784 (get_url_to_membuf): Add owner param. Pass it to init_dialog.
3785 (get_url_to_string): Add owner param. Pass it to get_url_to_membuf.
3786 (get_url_to_file): Add owner param. Pass it to init_dialog. Alter bar
3787 update logic to call ThreeBarProgressPage instance Progress directly.
3788 (dismiss_url_status_dialog): Remove.
3789
3790 * fromcwd.cc (do_fromcwd): Add owner param. Initialize found_ini to
3791 false, was true.
3792
3793 * download.cc: Run indent.
3794 (process.h, threebar.h): New includes.
3795 (Progress): externed into this file.
3796 (download_one): Add owner param. Pass it to get_url_to_file().
3797 (do_download_thread): Renamed from do_download. Add owner param. When
3798 calculating total_download_bytes, take binpicked and srcpicked into
3799 account. Remove call to dismiss_url_status_dialog(), no longer needed.
3800 Pass owner handle to download_one() and yesno().
3801 (do_download_reflector, do_download): New functions.
3802 (context): New var. Context for do_download_thread().
3803
3804 * dialog.h (D(x)): Add owner param.
3805
3806 * desktop.h (DesktopSetupPage): New file, new class.
3807 * desktop.cc: Run indent.
3808 (desktop.h): Add include.
3809 (dialog_proc, do_desktop): Remove, now handled in
3810 DesktopSetupPage::OnInit().
3811 (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, handled in
3812 DesktopSetupPage::OnFinish(), DesktopSetupPage::OnBack(), and PropSheet
3813 resp.
3814 (DesktopSetupPage::Create, DesktopSetupPage::OnInit)
3815 (DesktopSetupPage::OnBack, DesktopSetupPage::OnFinish): Implementation
3816 of DesktopSetupPage.
3817
3818 * cistring.h: New file, new class.
3819 * cistring.cc: New file, new class.
3820
3821 * choose.h: Run indent.
3822 (Chooser): New class declaration.
3823 * choose.cc: Run indent.
3824 (do_choose): Add owner param. Pass it to DialogBox() and
3825 fatal().
3826 (Chooser): New class implementation.
3827
3828 * res.rc (IDS_VERSION_INFO): New string.
3829 (IDD_SOURCE, IDD_LOCAL_DIR, IDD_ROOT, IDD_SITE, IDD_OTHER_URL)
3830 (IDD_DLSTATUS, IDD_INSTATUS, IDD_SPLASH, IDD_CHOOSE, IDD_DESKTOP):
3831 Change WS_POPUP to WS_CHILD. Numerous positioning/size changes
3832 throughout.
3833 (IDD_CHOOSE): Give template the WS_EX_CONTROLPARENT style to enable
3834 TAB control navigation etc. Give the controls a reasonable tab order.
3835 Grouped radio buttons. Something's still not right, can't tab away
3836 from back/next/cancel group reliably.
3837 * resource.h (IDD_CHOOSER): New dialog ID.
3838
3839 * Makefile.in (OBJS): Add cistring.o, proppage.o, propsheet.o,
3840 threebar.o, and window.o.
3841
3842 2001-12-21 Robert Collins <rbtcollins@hotmail.com>
3843
3844 * choose.cc (listview_proc): Update the scrollbar when the headers are
3845 dragged.
3846 (pick_pkg_line::paint): Clip columns to prevent overlap.
3847
3848 2001-12-20 Robert Collins <rbtcollins@hotmail.com>
3849
3850 * Makefile.in: Add libcomctl32.a for setup.exe.
3851 * archive.h (archive): Prevent non-child direct creation of the class.
3852 * archive_tar.h (archive_tar): Prevent inaccurate synthetic copy and
3853 assignment.
3854 * choose.cc: Include commctrl for the choose header.
3855 (NEW_COL_SIZE_SLOP): Define without magic numbers.
3856 (pkgtrustp): Convert to function.
3857 (set_action): Remove.
3858 (add_required, fill_missing_category,default_trust): Use list syntax for
3859 package list.
3860 Use new set_action.
3861 (choose_caption): Remove.
3862 (topbucket::paint): New method.
3863 (topbucket::empty): Ditto.
3864 (topbucket::click): Ditto.
3865 (topbucket::~topbucket): Ditto.
3866 (paint): Remove i,ii and p as they are obsolete.
3867 Remove header drawing code.
3868 Use new chooser method to paint the chooser.
3869 Use new chooser itemcount method.
3870 (scroll_common): Rename to view::scroll.
3871 Scroll the header window separately.
3872 (list_vscroll, list_hscroll, list_click): Update for new chooser
3873 methods.
3874 (listview_proc): Look for header messages.
3875 (note_width): Accept stringless calls.
3876 (pick_line::set_line): Remove.
3877 (pick_line::paint): Remove.
3878 (pick_pkg_line::paint): Paint this one line, using the header column
3879 widths.
3880 (pick_category_line::paint): Paint this category, and anything in the
3881 bucket.
3882 (pick_line::click): Remove.
3883 (pick_pkg_line::click): Handle a click.
3884 (pick_category_line::click): Handle a click.
3885 (_view): Rename all to view.
3886 (view::view): Initialise the control contents.
3887 (view::set_headers): Work with the header control.
3888 (view::init_headers): Use list syntax for package list.
3889 Rearrange the width logic a little.
3890 (view::insert_pkg): Update to use the hierarchy.
3891 (view::insert_category): Ditto.
3892 (view::insert_at, view::insert_under): Remove.
3893 (view::clear_view): Update to use the hierarchy.
3894 (view::click): Update to use the hierarchy.
3895 (set_view_mode): Use list syntax for package list.
3896 Update for new chooser methods.
3897 (DoInsertItem): New helper function. (Needs a home somewhere).
3898 (create_listview): Remove choose control code and use the constructor
3899 instead.
3900 (dialog_cmd,scan2,do_choose): Use list syntax for package list.
3901 * choose.h: Include newly required headers list and package_meta.
3902 (_voew): Rename to view.
3903 (pick_line): Convert to an ABC.
3904 (pick_pkg_line): New class.
3905 (pick_catgory_line): New class.
3906 (topbucket): New class.
3907 (view::scroll): New method created from listview_scroll function.
3908 * desktop.cc (make_passwd_group): Use list syntax for package list.
3909 * download.cc (do_download): Use list syntax for package list.
3910 * fromcwd.cc (found_file): Use list syntax for package list.
3911 * iniparse.y (pacakges): Use list syntax for package list.
3912 * install.cc (uninstall_one): Use list syntax for package list.
3913 (do_install): Use list syntax for package list.
3914 * io_stream.h (io_stream): Prevent non-child direct creation of the
3915 class.
3916 Prevent inaccurate synthetic copy and assignment.
3917 * list.h: Include required header stdlib.
3918 Work on const correctness.
3919 * package_db.cc (packagedb::getpackagebyname): Remove.
3920 (packagedb::packagedb): Remove custom list code, and make db a local.
3921 (packagedb::getfirstpackage): Remove.
3922 (packagedb::getnextpackage): Remove.
3923 (packagedb::addpackage): Remove.
3924 (flush): Remove custom list code.
3925 (packagedb::registerpackage): Remove.
3926 (packagedb::packages): New static member.
3927 (packagedb::task): New static member.
3928 * package_db.h (PackageDBActions): New enum.
3929 (packagedb): Remove getfirstpackage, getnextpackage, getpackagebyname,
3930 addpackage, registerpackage, packages, packagecount, curr_package, db.
3931 Add packages, task.
3932 * pacakge_meta.cc: Include package_db.h.
3933 (packagemeta::action_caption): New method.
3934 (packagemeta::set_action): New method.
3935 * package_meta.h (CategoryPackage): Initialise key.
3936 (packagemeta): Initialise key.
3937 Add set_action and action_caption methods.
3938 Prevent inaccurate synthetic copy and assignment.
3939 * resource.h (IDC_CHOOSE_LISTHEADER): New ID.
3940 * source.cc: Include package_db for db manipulation.
3941 (save_dialog): Set the db task.
3942 * win32.h: Tell the w32 include headers what IE version to
3943 expect/require.
3944
3945 2001-12-06 Robert Collins <rbtcollins@hotmail.com>
3946
3947 * README: Wishlist updates.
3948
3949 2001-12-04 Robert Collins <rbtcollins@hotmail.com>
3950
3951 * package_db.cc (getnextpackage): Don't overrun the array.
3952
3953 2001-12-04 Robert Collins <rbtcollins@hotmail.com>
3954
3955 * Makefile.in (OBJS): Add setup_version.o.
3956 (version.c): Rename to setup_version.
3957 * choose.cc (set_action): Prevent NULL pointer dereference.
3958 (package_sort): Remove.
3959 * fromcwd.cc (canonicalize_version): Moved to version.cc.
3960 (check_ini): New function for use with find to see if there is a cached
3961 setup.ini.
3962 (do_fromcwd): Check for a cached setup.ini from any mirror site.
3963 * ini.cc (find_routine): New function, for finding cached setup.ini's.
3964 (do_local_ini): New function, drives parsing of local ini's.
3965 (do_remote_ini): New function, drives parsing and caching of remote
3966 ini's.
3967 (do_ini): Move guts to do_remote_ini and do_local_ini.
3968 * list.h (removebyindex): New method.
3969 * other.cc (save_dialog): Use new site_list and all_site_list to add the
3970 new site to the site picklist.
3971 (dialog_cmd): Only save the dialog when exiting the dialog.
3972 * res.rc (IDD_SITE): Make IDC_URL_LIST a multiple-selection control.
3973 * site.cc (site_list_type): Move to site.h
3974 (site_list): New global, sites chosen by the user.
3975 (all_site_list): New global, all potential sites.
3976 (site_list_type::init): New method, parses a mirror.lst URL string into
3977 a site_list_type object.
3978 (site_list_type::site_list_type): New method.
3979 (check_if_enable_next): Examine the control, not a local variable.
3980 (load_dialog): Select all the user chosen sites by default.
3981 (save_dialog): Adjust for multiple selection semantics.
3982 (save_site_url): Save all user chosen sites.
3983 (dialog_cmd): Don't save the dialog when the listbox recieves a message
3984 - thats not needed.
3985 Remove obsolete other_url reference.
3986 (dialog_proc): Use all_site_list instead of site_list.
3987 (site_sort): Remove.
3988 (get_site_list): Remove malloc use - use list template instead.
3989 Move site_list_type initialisation to site_list_type::init().
3990 (get_initial_list_idx): Renamed to ...
3991 (get_saved_sites): this. Also read in multiple sites to the site_list.
3992 (do_site): Use all_site_list not site_list.
3993 Log all chosen sites.
3994 * site.h: New file, defines site related class, functions and variables.
3995 * state.h: Add comment about use of state.h
3996 (mirror_site): Remove.
3997 (other_url): Remove.
3998 (MIRROR_SITE): Remove.
3999 * version.cc: New file, for version-handling and related functions.
4000
4001 2001-12-02 Robert Collins <rbtcollins@hotmail.com>
4002
4003 * Makefile.in: Add filemanip.o to setup.
4004 * archive.cc (archive::extract_file): Use new io_stream method 'copy'.
4005 * archive_tar.h (archive_tar_file): Implement get_size virtual.
4006 (archive_tar): Ditto.
4007 * choose.cc (set_action): Use [] operator instead of getnth - its more
4008 readable.
4009 (paint): Ditto.
4010 (_view::init_headers): Ditto.
4011 (_view::insert_pkg): Ditto.
4012 (set_view_mode): Ditto.
4013 (scan2): Ditto.
4014 (do_choose): Ditto.
4015 (base): Moved to filemanip.cc.
4016 (find_tar_ext): Ditto.
4017 (parse_filename): Ditto.
4018 (_Info::_Info): Remove.
4019 * compress_bz.h (compress_bz): Implement get_size virtual.
4020 * compress_gz.h (compress_gz): Implement get_size virtual.
4021 * cygpackage.cc (cygpackage::destroy): Use array delete for char *
4022 objects.
4023 * download.cc (get_file_size): Move to filemanip.cc.
4024 (check_for_cached): Use [] operator instead of getnth - its more
4025 readable.
4026 (download_one): Ditto.
4027 * filemanip.cc: New file.
4028 * geturl.cc (init_dialog): Make url a pointer to const as it is not
4029 modified.
4030 (get_url_to_membuf): New function - contains get_url_to_string worker
4031 code.
4032 (get_url_to_string): Becomes a trivial wrapper to get_url_to_membuf.
4033 * geturl.h: Declare new prototype.
4034 * ini.cc (do_ini): Use get_url_to_membuf and pass ini_init an io_stream.
4035 Tidy up the error code a little.
4036 * ini.h: Remove __cplusplus protection for ini_init.
4037 (_Info): Remove.
4038 * inilex.l: Remove old globals.
4039 (ini_init): Use an io_stream for getting the characters.
4040 (ini_getchar): Ditto.
4041 * iniparse.y: Declare yylex as a C++ function.
4042 (add_correct_version): Use [] operator instead of getnth - its more
4043 readable.
4044 * io_stream.cc (io_stream::move_copy): Use the copy method.
4045 (io_stream::copy): New method to simply copy from one stream to another.
4046 * io_stream.h (io_stream): New static method copy, and virtual method
4047 get_size.
4048 * io_stream_cygfile.cc (io_stream_cygfile::get_size): Implement this.
4049 * io_stream_cygfile.h (io_stream_cygfile::get_size): Declare this.
4050 * io_stream_file.cc (io_stream_file::get_size): Implement this.
4051 * io_stream_file.h (io_stream_file::get_size): Declare this.
4052 * io_stream_memory.h: Include errno as it's neded to parse the header.
4053 (io_stream_memory::get_size): Implement this.
4054 (io_stream_memory::st_size): Delete this.
4055 * list.h: Change getnth into the [] operator.
4056 * netio.cc (NetIO::NetIO): Change prototype to reflect Purl not being
4057 modified.
4058 (NetIO::set_url): Ditto.
4059 (NetIO::open): Ditto.
4060 * netio.h: As for netio.cc.
4061 * nio-file.cc (NetIO_File::NetIO_File): Change prototype to reflect
4062 Purl not being modified.
4063 * nio-file.h: Ditto.
4064 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Ditto.
4065 * nio-ftp.h (NetIO_FTP::NetIO_FTP): Ditto.
4066 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Ditto.
4067 * nio-http.h (NetIO_HTTP::NetIO_HTTP): Ditto.
4068 * nio-i5.cc (NetIO_IE5::NetIO_IE5): Ditto.
4069 * nio-i5.h (NetIO_IE5::NetIO_IE5): Ditto.
4070 * package_meta.cc (packagemeta::~packagemeta): Bugfix: use array delete.
4071 * package_source.cc (packagesource::set_canonical): Ditto.
4072 (packagesource::set_cached): Ditto.
4073 * package_source.h (site::~site): Ditto.
4074 * site.cc: Change site_list_type to a class, and search and replace
4075 sort_key to key globally.
4076
4077 2001-12-01 Robert Collins <rbtcollins@hotmail.com>
4078
4079 * package_source.cc (packagesource::set_canonical): Filename was out by
4080 one.
4081
4082 2001-11-30 Robert Collins <rbtcollins@hotmail.com>
4083
4084 * Makefile.in (OBJS): Remove category_list - it's not needed.
4085 * README: More wishlist updates.
4086 * category.cc (Category::Category): Initialise new members.
4087 (Categorycmp): New function.
4088 * category.h (Category): New member key for template use.
4089 * category_list.cc: Remove.
4090 * category_list.h: Remove.
4091 (Categorycmp): New function prototype.
4092 * choose.cc: Remove category_list - not needed.
4093 (set_action): Only show the 'source' option when the source is actually
4094 available.
4095 (add_required): Fix recursion limiter to 5.
4096 (fill_missing_category): Use list access.
4097 (default_trust): Ditto.
4098 (pick_line::paint): Ditto.
4099 (_view::init_headers): Ditto.
4100 (_view::insert_pkg): Ditto.
4101 (_view::insert_category): Ditto.
4102 (_view::click): Ditto.
4103 (set_view_mode): Ditto.
4104 (do_choose): Ditto.
4105 * cygpackage.h: Remove category_list - not needed.
4106 * geturl.cc (get_url_to_string): Fix null byte insertion.
4107 * inipatse.y: Remove category_list - not needed.
4108 (categories): Use list access.
4109 * package_db.cc: Ditto.
4110 * package_db.h: Remove category_list - not needed.
4111 (packagedb): Use the list template for categories.
4112 * package_meta.cc (add_category): Ditto.
4113 * package_meta.h (CategoryPackage): Link to the category as well.
4114 (packagemeta): Use a list of CategoryPackages instead of Categories
4115 for more memory efficient cross-referencing.
4116
4117 2001-11-30 Robert Collins <rbtcollins@hotmail.com>
4118
4119 * package_db.cc (packagedb::flush): Write a canonical version for all
4120 packages irrespective of the media they were installed from.
4121
4122 2001-11-29 Robert Collins <rbtcollins@hotmail.com>
4123
4124 * Makefile.in (OBJS): Add package_source and rfc1738.
4125 * README: Wishlist update.
4126 * category_list.cc (register_category): Use references.
4127 * category_list.h (CategoryList): Ditto.
4128 * choose.cc (isinstalled): Remove.
4129 (pkgtrustp): New macro.
4130 (set_action): Use packagemeta.
4131 (add_required): Ditto.
4132 (choose_caption): Example package to choose caption, rather than state
4133 flags.
4134 (check_existence): Remove.
4135 (set_existence): Remove old code.
4136 (fill_missing_category): Use packagemeta.
4137 (keep_or_skip): Remove.
4138 (default_trust): Use packagemeta and set trust values directly.
4139 (pick_line::set_line): Use packagemeta.
4140 (_view::insert_pkg): Ditto.
4141 (_view::insert_category): Ditto.
4142 (_view::click): Ditto.
4143 (set_view_mode): Ditto. Also remove "exclude" code.
4144 (create_listview): Use packagemeta.
4145 (dialog_cmd): Ditto.
4146 (getpkgbyname): Remove
4147 (scan2): Use packagemeta. Temporarily comment out the holefinding code.
4148 (read_installed_db): Remove.
4149 (package_sort): Use packagemeta.
4150 (do_choose): Use packagemeta. Don't sort the packages - the db does
4151 that.
4152 * choose.h: Use packagemeta.
4153 * cygpackage.cc (cygpackage::cygpackage): Initialise all variables.
4154 (cygpackage::cygpackage): Ditto.
4155 (cygpackage::set_canonical_version): Copy the passed string.
4156 (cygpackage::~cygpackage): Move cleanup code to destroy().
4157 (cygpackage::destroy): New function.
4158 (cygpackage::getfirstfile): Use a separate buffer.
4159 (cygpackage::getnextfile): Ditto.
4160 (cygpackage::Canonical_version): New function.
4161 (cygpackage::set_sdesc): Ditto.
4162 (cygpackage::set_ldesc): Ditto.
4163 * cygpackage.h (cygpackage::Canonical_version): New method.
4164 (cygpackage::set_sdesc): New method.
4165 (cygpackage::set_ldesc): New method.
4166 (cygpackage::SDesc): New method.
4167 (cygpackage::LDesc): New method.
4168 (cygpackage::set_canonical_version): New method.
4169 * desktop.cc: Include packagedb headers.
4170 (make_password_group): Use packagemeta.
4171 * download.cc: Include packagedb headers.
4172 (check_for_cached): New method to find any cached file and fill out the
4173 database info.
4174 (download_one): Take a packagesource, support multiple mirrors.
4175 (do_download): Use packagemeta.
4176 * from cwd.cc: Include packagedb headers.
4177 (found_file): Use packagemeta.
4178 * ini.cc (do_ini): Beginning of multiple-mirror support.
4179 * ini.h (CategoryPackage): Remove.
4180 (Dependency): Remove.
4181 (Package): Remove.
4182 (new_package,getpkgbyname,getpackagecategorybyname,add_category):
4183 Remove.
4184 * inilex.l: Support multiple mirrors.
4185 * iniparse.y: Include packagedb headers.
4186 (parser): Use packagemeta.
4187 (new_package): Remove.
4188 (add_correct_version): New function.
4189 (new_requirement): Remove.
4190 (add_category): Remove.
4191 * install.cc (uninstall_one): Use packagemeta.
4192 (install_one_source): New function.
4193 (install_one): Use packagemeta.
4194 (do_install): Use packagemeta.
4195 * io_stream.cc (io_stream::move): Bugfix on move/copy case.
4196 * io_stream_cygfile.cc (io-stream_cygfile::set_mtime): Do not reopen the
4197 file after setting the mtime, it makes no sense, and results in 0 length
4198 files.
4199 * io_stream_file.cc (io-stream_file::set_mtime): Ditto.
4200 * list.h: New file, template class for a form of list.
4201 * package_db.cc (packagedb::registerpackage): New function.
4202 * package_db.h (packagedb::npackages ()): New method.
4203 * package_meta.cc (packagemeta::add_version): Use list template.
4204 (packagemeta::set_installed): Ditto.
4205 (packagemeta::add_category): New method.
4206 * package_meta.h: Include necessary headers to parse the class.
4207 (CategoryPackage): New class.
4208 (packagemeta): Initialise all members.
4209 (packagemeta::SDesc): New method.
4210 (packagemeta::Categories): New method.
4211 (packagemeta::add_category): Ditto.
4212 (packagemeta::versions): Change to be a list instance.
4213 * package_source.cc (packagesource::set_canonical): New method.
4214 (packagesource::set_cached): New method.
4215 * package_source.h: Include necessary headers to parse the class.
4216 (site): New class.
4217 (packagesource::packagesource): Initialize all members.
4218 (packagesource): Make this class non-abstract.
4219 * package_version.cc (packageversion::packageversion): New method.
4220 * package_version.h (Dependency): New class.
4221 (packageversion::Canonical_vesion): New method.
4222 (packageversion::SDesc): New method.
4223 (packageversion::LDesc): New method.
4224 (packageversion::new_requirement): Ditto.
4225 (packageversion::srcpicked, binpicked): What to install.
4226 (packageversion::src, bin): Installation source data.
4227 * rfc1738.cc: New file. Escapes special characters in URL's.
4228 * rfc1738.h: Ditto.
4229
4230 2001-11-26 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4231
4232 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Stop header parsing when
4233 SimpleSocket::gets() returns a zero-length string, so that we
4234 don't end up eating the entire stream thinking it's all header info.
4235
4236 2001-11-23 Robert Collins <rbtcollins@hotmail.com>
4237
4238 * install.cc (badrename): Remove.
4239 (do_install): Use packagedb flush method to write
4240 /etc/setup/installed.db.
4241 * io_stream.cc (io_stream::move_copy): New method.
4242 (io_stream::move): New method.
4243 * io_stream.h (io_stream): New methods move and move_copy.
4244 * io_stream_cygfile.cc (io_stream_cygfile::move): New method.
4245 * io_stream_cygfile.h (io_stream_cygfile): New method move.
4246 * io_stream_file.cc (io_stream_file::move): New method.
4247 * io_stream_file.h (io_stream_file): New method move.
4248 * package_db.cc (packagedb::flush): New method.
4249 * package_db.h (packagedb): New method flush.
4250
4251 2001-11-23 Robert Collins <rbtcollins@hotmail.com>
4252
4253 * Makefile.in (OBJS): Add package_version.
4254 * ategory.cc (Category::Category): Update constructors.
4255 * category_list.cc (CategoryList::register_category): Insert correctly.
4256 * choose.cc: Include package_version.h, not package.h.
4257 * cygpackage.cc: Ditto.
4258 (cygpackage::uninstall): New method.
4259 * cygpackage.h (cygpackage): Rename genericpackage to packageversion.
4260 New method uninstall.
4261 * hash.cc (add, has, enumerate): Change prototype to be accurate.
4262 * hash.h (hash): Change prototypes to be accurate.
4263 * ini.h (_Info): New parameterless constructor.
4264 (CategoryPackage): New constructor.
4265 (Package): Ditto.
4266 * install.cc: Don't include unneeded headers.
4267 Include package database headers.
4268 (hash::add_subdirs): Remove.
4269 (uninstall_one): Use packagemeta->uninstall to perform the
4270 uninstallation. Don't uninstall source packages.
4271 (do_install): Just can uninstall_one once as we ignore source packages
4272 now. Don't copy the installed.old database accross, instead iterate
4273 through the packagedb packages list and write the installed packages
4274 out.
4275 * package_db.cc: Include package_version.h, not package.h.
4276 (packagedb::packagedb): Never let db be undefined.
4277 Record the installation filename, so we can reconstruct installed.db.
4278 (packagedb::addpackage): Insert packages in alpha sorted order.
4279 (packagedb::categories): Initialise correctly.
4280 * package_meta.cc: Include win32 and mount headers as a workaround to
4281 current io_stream limitations. Include a TODO about that.
4282 (standard_dirs): New, from install.cc.
4283 (hash::add_subdirs): New, from install.cc.
4284 (packagemeta::set_installed): Rename genericpackage to packageversion.
4285 (packagemeta::uninstall): New method.
4286 * package_meta.h: Rename genericpackage to packageversion.
4287 (packagemeta): Update constructor.
4288 (add_version, set_installed): Rename genericpackage to packageversion.
4289 (uninstall): New method.
4290 (installed_from): New member.
4291 * package_source.cc: New file.
4292 * package_source.h: New file.
4293 * package_version.cc: New file.
4294 * package_version.h: New file.
4295 * package.cc: Removed.
4296 * package.h: Removed.
4297
4298 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
4299
4300 * Makefile.in (OBJS): Add category.o and category_list.o.
4301 * category.h: New file.
4302 * category.cc: New file.
4303 * category_list.h: New file.
4304 * category_list.cc: New file.
4305 * choose.cc: Include category headers.
4306 (fill_missing_category): Use package_db to access global categories.
4307 (_view::insert_pkg): Ditto.
4308 (_view::insert_category): Ditto.
4309 (set_view_mode): Ditto.
4310 (getcategorybyname): Remove.
4311 * cygpackage.h: Include category_list.h to parse this correctly.
4312 (cygpackage): New virtual &Categories.
4313 * ini.h (_CategoryPackage): More C to C++ conversion.
4314 (Category): Remove.
4315 (getcategorybyname): Remove.
4316 (register_category): Remove.
4317 * iniparse.y: Include package db and category headers.
4318 (categories): Use package_db to access global categories.
4319 (category): Remove.
4320 (ncategories): Remove.
4321 (register_category): Remove.
4322 * package.h: New virtual &Categories.
4323 * package_db.cc (packagedb::packagedb): Don't read the installed db
4324 twice.
4325 (packagedb::categories): Declare.
4326 * package_db.h (packagedb): New member categories for global categories
4327 list.
4328
4329 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
4330
4331 * choose.h: Don't include ini.h
4332 * ini.h: Allow pure c++ in the header file.
4333
4334 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
4335
4336 * install.cc (do_install): Write a version 2 installed.db file.
4337 * package_db.cc (packagedb::packagedb): Read version 1 and 2
4338 installed.db files.
4339
4340 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
4341
4342 * Makefile.in (OBJS): Add package abstraction objects.
4343 * choose.cc: Include package abstraction headers.
4344 (read_installed_db): Use packagedb class and ignore installed sources.
4345 * cygpackage.cc: New file.
4346 * cygpackage.h: New file.
4347 * filemanip.h (get_file_size): Use unixy types.
4348 * package.h: New file.
4349 * package.cc: New file.
4350 * package_db.cc: New file.
4351 * package_db.h: New file.
4352 * package_meta.cc: New file.
4353 * package_meta.h: New file.
4354
4355 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
4356
4357 * REAME: Updates to wishlist.
4358
4359 2001-11-16 Robert Collins <rbtcollins@hotmail.com>
4360
4361 * README: Updated and added my list of wishlist and todo items.
4362
4363 2001-11-14 Robert Collins <rbtcollins@hotmail.com>
4364
4365 * Makefile.in (OBJS): Include io_stream_memory in setup.exe.
4366 * archive_tar.cc (archive_tar::write): New prototype.
4367 (archive_tar::seek): New method.
4368 * archive.h (archive_tar_file): Update write() and add seek().
4369 (archive_tar): Ditto.
4370 * archive_tar_file.cc (archive_tar_file::write): New prototype.
4371 (archive_tar_file::seek): New method.
4372 * compress_bz.cc (compress_bz::write): New prototype.
4373 (compress_bz::seek): New function.
4374 * compress_bz.h (compress_bz): Update write() and add seek().
4375 * compress_gz.cc (compress_gz::write): New prototype.
4376 (compress_gz::seek): New function.
4377 * compress_gz.h (compress_gz): Update write() and add seek().
4378 * geturl.cc: Include io_stream headers.
4379 (GUBuf): Remove.
4380 (get_url_to_string): Use a io_stream_memory buffer instead of GUBuf.
4381 * io_stream.h (io_stream_seek_t): New enum.
4382 (io_stream): Update write() and add seek().
4383 * io_stream_cygfile.cc (io_stream_cygfile::write): New prototype.
4384 (io_stream_cygfile::seek): New function.
4385 * io_stream_cygfile.h (io_stream_cygfile): Update write() and add
4386 seek().
4387 * io_stream_file.cc (io_stream_file::write): New prototype.
4388 (io_stream_file::seek): New function.
4389 * io_stream_file.h (io_stream_file): Update write() and add seek().
4390
4391 2001-11-13 Brian Keener <bkeener@thesoftwaresource.com>
4392
4393 * localdir.cc: Add headers unistd.h and port.h.
4394 (save_local_dir): Expand search logic to include local directory for
4395 location of file last-cache.
4396 (dialog_cmd): Skip IDD_ROOT when downloading and use Back button.
4397 (do_local_dir): Expand search logic to include local directory for file
4398 last-cache.
4399 * res.rc (IDD_CHOOSE_DIALOG): Add hotkey to View button.
4400 * Source.cc (dialog_cmd): Skip IDD_ROOT if select Download from
4401 Internet.
4402 (do_source): Default to Install from Internet on first entry or
4403 previous selection if backing up from IDD_ROOT or IDD_LOCAL_DIR.
4404
4405 2001-11-13 Robert Collins <rbtcollins@hotmail.com>
4406
4407 * choose.cc (find_tar_ext): Only match at the end of the string.
4408 (getpkgbyname): Prevent NULL pointer dereference.
4409
4410 2001-11-13 Robert Collins <rbtcollins@hotmail.com>
4411
4412 * Makefile.in (CFLAGS): Add warnings and -Werr.
4413 (WARNONLY_FLAGS): For sources that produce (harmless) errors no matter
4414 what.
4415 (OBJS): Add io_stream class' objects.
4416 (autoload.o): Use WARNONLY_FLAGS.
4417 (inilex.o): Ditto.
4418 (iniparse.o): Ditto.
4419 * archive.cc: New file.
4420 * archive.h: New file.
4421 * archive_tar.cc: New file.
4422 * archive_tar.h: New file.
4423 * archive_tar_file.cc: New file.
4424 * autoload.c: Fix compiler warnings (unused, deprecated conversion).
4425 * choose.cc: Use io_stream.h, not mount.h.
4426 Run indent.
4427 (find_tar_ext): Rewritten to use strstr, and to accept .tar as an
4428 extension.
4429 (read_installed_db): Use io_streams.
4430 * choose.h: Run indent.
4431 * compress.cc: New file.
4432 * compress.h: New file.
4433 * compress_bz.cc: New file.
4434 * compress_bz.h: New file.
4435 * compress_gz.cc: New file.
4436 * compress_gz.h: New file.
4437 * concat.cc: Run indent.
4438 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4439 * concat.h: Run indent.
4440 * desktop.cc: Run indent.
4441 Include mklink2.h rather than redefining by hand.
4442 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4443 (etc_profile): Fix compiler warning (deprecated conversion).
4444 (make_link): Fix compiler warning (deprecated conversion).
4445 Tidy up use of args variable - consolidate into argbuf.
4446 (start_menu): Fix compiler warning (deprecated conversion).
4447 (desktop_icon): Fix compiler warning (deprecated conversion).
4448 (make_etc_profile): Fix compiler warning (deprecated conversion).
4449 (uexists): Fix compiler warning (deprecated conversion).
4450 (check_desktop): Fix compiler warning (deprecated conversion).
4451 (check_startmenu): Fix compiler warning (deprecated conversion).
4452 * dialog.cc: Run indent.
4453 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4454 (fatal): Fix compiler warning (deprecated conversion).
4455 * dialog.h: Run indent.
4456 * diskfull.cc: Run indent.
4457 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4458 * download.cc: Run indent.
4459 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4460 (download_one): Fix compiler warning (signed vs unsigned comparison).
4461 * filemanip.h: Run indent.
4462 * find.cc: Run indent.
4463 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4464 (find): Fix compiler warning (deprecated conversion).
4465 * find.h: Run indent.
4466 * fromcwd.cc: Run indent.
4467 * geturl.cc: Run indent.
4468 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4469 (dialog_cmd): Return a value.
4470 (dialog_proc): Remove unused variables.
4471 Return a value.
4472 (get_url_to_file): Fix compiler warning (deprecated conversion).
4473 * geturl.h: Run indent.
4474 * hash.cc: Run indent.
4475 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4476 * hash.h: Run indent.
4477 * ini.cc: Run indent.
4478 Use io_streams.
4479 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4480 (do_ini): Use io_streams for local io.
4481 * ini.h: Run indent.
4482 * inilex.l (ignore_line): Fix compiler warning (is not a prototype).
4483 Fix compiler warning (brackets for truth assignment).
4484 * install.cc: Run indent.
4485 Fix compiler warning (/* in comment).
4486 Use io_streams.
4487 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4488 (dialog_cmd): Return a value.
4489 (dialog_proc): Return a value.
4490 (start_tics): Deleted - was unused.
4491 (badrename): Fix compiler warnings (unused, deprecated conversion).
4492 (standard_dirs): Fix compiler warning (deprecated conversion).
4493 (exists): Remove.
4494 (uninstall_one): Convert to io_streams.
4495 (install_one): Convert to io_streams.
4496 (do_install): Convert to io_streans.
4497 Fix compiler warning (deprecated conversion).
4498 * io_stream.cc: New file.
4499 * io_stream.h: New file.
4500 * io_stream_cygfile.cc: New file.
4501 * io_stream_cygfile.h: New file.
4502 * io_stream_file.cc: New file.
4503 * io_stream_file.h: New file.
4504 * localdir.cc: Run indent.
4505 Use io_streams.
4506 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4507 (get_root_dir_now): Remove.
4508 (save_local_dir): Convert to io_streams.
4509 (dialog_cmd): Return a value.
4510 (do_local_dir): Convert to io_streams.
4511 (log.cc): Run indent.
4512 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4513 (log): Fix compiler warning (deprecated conversion).
4514 (log_save): Fix compiler warning (deprecated conversion).
4515 * log.h: Run indent.
4516 (log): Fix compiler warning (deprecated conversion).
4517 (log_save): Fix compiler warning (deprecated conversion).
4518 * main.cc: Run indent.
4519 Don't include "netio.h".
4520 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4521 (netio_test): Remove.
4522 (sid_auth): Fix compiler warning (partially bracketed initialiser).
4523 (WinMain): Return a value.
4524 * mkdir.cc: Run indent.
4525 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4526 * mklink2.c: Run indent.
4527 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4528 (mkcygsymlink): New function.
4529 * mklink2.h: New file.
4530 * mount.cc: Run indent.
4531 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4532 (create_mount): Remove unused variables.
4533 (cygpath): Fix compiler warning (signed vs unsigned comparison).
4534 * mount.h: Run indent.
4535 * msg.cc: Run indent.
4536 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4537 (msg): Fix compiler warning (deprecated conversion).
4538 (mbox): Fix compiler warning (deprecated conversion).
4539 * msg.h: Run indent.
4540 (msg): Fix compiler warning (deprecated conversion).
4541 * net.cc: Run indent.
4542 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4543 (dialog_cmd): Return a value.
4544 * netio.cc: Run indent.
4545 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4546 (auth_cmd): Return a value.
4547 * netio.h: Run indent.
4548 * nio-file.cc: Run indent.
4549 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4550 (NetIO_File::NetIO_File): Fix compiler warning (deprecated conversion).
4551 * nio-file.h: Run indent.
4552 * nio-ftp.cc: Run indent.
4553 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4554 * nio-ftp.h: Run indent.
4555 * nio-http.cc: Run indent.
4556 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4557 * nio-http.h: Run indent.
4558 * nio-ie5.cc: Run indent.
4559 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4560 * nio-ie5.h: Run indent.
4561 * other.cc: Run indent.
4562 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4563 (dialog_cmd): Return a value.
4564 * port.h: Run indent.
4565 * postinstall.cc: Run indent.
4566 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4567 (cmd): Fix compiler warning (deprecated conversion).
4568 (eun): Fix compiler warning (deprecated conversion).
4569 * root.cc: Run indent.
4570 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4571 * simpsock.cc: Run indent.
4572 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4573 * simpsock.h: Run indent.
4574 * site.cc: Run indent.
4575 Use io_streams.
4576 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4577 (get_root_dir_now): Remove.
4578 (save_site_url): Convert to io_streams.
4579 (dialog_cmd): Return 0.
4580 (get_initial_list_idx): Convert to io_streans.
4581 * source.cc: Run indent.
4582 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4583 (check_if_enable_next): Remove.
4584 (load_dialog): Remove unused variables.
4585 (save_dialog): Ditto.
4586 (dialog_cmd): Return a value.
4587 * splash.cc: Return a value.
4588 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4589 (dialog_cmd): Return a value.
4590 * state.cc: Run indent.
4591 (cvsid): Fix compiler warnings (unused, deprecated conversion).
4592 * state.h: Run indent.
4593 * tar.h: Remove.
4594 * tar.cc: Remove.
4595
4596 2001-11-12 Christopher Faylor <cgf@redhat.com>
4597
4598 * desktop.cc (start_menu): Change start menu name to "Cygwin".
4599 (check_startmenu): Ditto.
4600
4601 2001-11-11 Christopher Faylor <cgf@redhat.com>
4602
4603 * choose.cc (parse_filename): Finish reorganization by correctly
4604 decrementing p in memmove.
4605
4606 2001-11-11 Christopher Faylor <cgf@redhat.com>
4607
4608 * choose.cc (parse_filename): Reorganize code to work around gcc
4609 optimization problem.
4610
4611 2001-11-09 Gareth Pearce <tilps@hotmail.com>
4612
4613 * choose.cc (set_action): Allow skip as an option for installed
4614 packages that have version number not listed in setup.ini.
4615
4616 2001-11-10 Robert Collins <rbtcollins@hotmail.com>
4617
4618 * choose.cc (set_cation): Backout last change.
4619 (choose_caption): Ditto.
4620
4621 2001-11-10 Robert Collins <rbtcollins@hotmail.com>
4622
4623 * ini.h (actions): Remove - transferred to choose.h.
4624 (views): Ditto.
4625 * choose.h: Protect class's from "C" compilers.
4626 (actions): New enum, from ini.h. This may not be the 'right' place
4627 but that place doesn't exist yet.
4628 (_views): New enum, from ini.h.
4629 * choose.cc (set_action): Handle installed packages with a version not
4630 in setup.ini.
4631 (choose_caption): Ditto.
4632 * iniparse.y: Rearrange header order to handle new ini.h.
4633
4634 2001-11-10 Robert Collins <rbtcollins@hotmail.com>
4635
4636 * ini.h (_Info): Fix compiler warnings (signed vs unsigned comparison).
4637 (registry_category): Fix compiler warning (deprecated conversion).
4638 * iniparse.y (registry_category): Ditto.
4639 * choose.cc (cvsid): Fix compiler warnings (unused, deprecated
4640 conversion).
4641 (add_requried): Remove unused variable.
4642 (choose_caption): Handle all enumeration values via a default.
4643 (paint): Fix compiler warnings (unused, deprecated conversion).
4644 (scroll_common): Fix compiler warnings (unused, signed vs unsigned
4645 comparison).
4646 (list_clicK): Fix compiler warnings (signed vs unsigned comparison).
4647 (note_width): Fix compiler warnings (deprecated conversion).
4648 (keep_or_skip): Fix compiler warnings (unused).
4649 (_view::mode_caption): Fix compiler warnings (deprecated conversion).
4650 (set_view_mode): Fix compiler warnings (unused).
4651 (create_listview): Fix compiler warnings (unused, incorrect format,
4652 reaches end of function).
4653 (dialog_proc): Fix compiler warnings (unused).
4654 (read_installed_db): Fix compiler warnings (unused, deprecated
4655 conversion).
4656 * choose.h (_header): Fix compiler warnings (deprecated conversion).
4657 (_view): Ditto.
4658
4659 2001-11-08 Pavel Tsekov <ptsekov@syntrex.com>
4660
4661 * simpsock.h (SimpleSocket::invalidate): Declare new method.
4662 * simpsock.cc (SimpleSocket::invalidate): Implement new method.
4663 (SimpleSocket::SimpleSocket): Initialize buf to zero. Do not allocate
4664 memory for buf in the constructor.
4665 (SimpleSocket::~SimpleSocket): Use SimpleSocket::invalidate().
4666 (SimpleSocket::printf): Use SimpleSocket::write() instead of send().
4667 (SimpleSocket::write): Check object consistency - return -1 on error.
4668 invalidate() the object on socket write error.
4669 (SimpleSocket::fill): Check object consistency - return -1 on error.
4670 invalidate() the object if socket read error is encountered and there
4671 is no more data available in the internal read buffer.
4672 Allocate memory for the internal read buffer.
4673 (SimpleSocket::gets): Return zero (NULL pointer) if error is encountered
4674 during fill() and no more data is available in the internal read buffer.
4675 (SimpleSocket::read): Check object consistency - return -1 on error.
4676 invalidate() the object if socket read error is encountered.
4677 * nio-ftp.cc (NetIO_FTP:NetIO_FTP): Allow 125 as valid response code to
4678 the RETR command (fix for MS IIS ftp server 5 - possibly others too).
4679 (NetIO_FTP::ok): Check if the SimpleSocket object is ok().
4680 (NetIO_FTP::read): Use NetIO_FTP::ok().
4681 * nio-http.cc: Check for valid return value of SimpleSocket::gets().
4682 (NetIO_HTTP::ok): Check if the SimpleSocket object is ok().
4683
4684 2001-11-09 Robert Collins <rbtcollins@hotmail.com>
4685
4686 * simpsock.cc (cvsid): Avoid compiler warnings (not used, deprecated
4687 conversion).
4688 (SimpleSocket::SimpleSocket): Avoid compiler warnings (deprecated
4689 conversion).
4690 (SimpleSocket::printf): Ditto.
4691 (SimpleSocket::write): Ditto.
4692 * simpsock.h (SimpleSocket): Avoid compiler warnings for constructor,
4693 printf and write.
4694 * nio-ftp.cc (cvsid): Avoid compiler warnings (not used, deprecated
4695 conversion).
4696 (NetIO_FTP::NetIO_FTP): Remove unused variable done.
4697 * nio-http.cc (cvsid): Avoid compiler warnings (not used, deprecated
4698 conversion).
4699
4700 2001-11-07 Charles Wilson <cwilson@ece.gatech.edu>
4701
4702 * geturl.cc (get_url_to_string): clean up memory leak
4703 (get_url_to_file): ditto
4704
4705 2001-11-06 Robert Collins <rbtcollins@hotmail.com>
4706
4707 * localdir.cc (dialog_cmd): Go back to IDD_ROOT in every case.
4708 * source.cc (dialog_cmd): Go forward to IDD_ROOT in every case.
4709
4710 2001-11-06 Pavel Tsekov <ptsekov@syntrex.com>
4711
4712 * fromcwd.cc (found_file): Free() memory containing the version and
4713 filepath information for a given package, before replacing the pointers
4714 which reference this memory.
4715
4716 2001-11-06 Robert Collins <rbtcollins@hotmail.com>
4717
4718 * fromcwd: Fix compiler warnings for cvsid.
4719 (canonicalize_version): Fix compilter warnings.
4720 (do_fromcwd): Ditto.
4721 * version.h: Fix compiler warnings for canonicalize_version.
4722
4723 2001-11-03 Robert Collins <rbtcollins@hotmail.com>
4724
4725 * res.rc (IDD_CHOOSE): Move the view caption to the right hand side.
4726
4727 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
4728
4729 * res.rc (IDD_CHOOSE): Tweak for use on a 640x480 screen.
4730
4731 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
4732
4733 * choose.cc (set_action): Correctly allow skip for any uninstalled
4734 package.
4735
4736 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
4737
4738 * choose.cc (default_trust): Change the "Required" forced install
4739 category to "Base".
4740
4741 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
4742
4743 * choose.cc: Ran indent.
4744 (set_action): When the requested trust level is missing and the level
4745 was not user requested, set the action to ACTION_SAME_CURR.
4746
4747 2001-11-01 Christopher Faylor <cgf@redhat.com>
4748
4749 * Makefile.in (mingw_getopt.o): Fix typo in non-verbose compilation.
4750
4751 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
4752
4753 * choose.cc (_view::init_headers): Resync with the paint logic.
4754
4755 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
4756
4757 * choose.cc (add_required): Allow SKIP and SRC_ONLY for currently
4758 installed packages.
4759
4760 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
4761
4762 * choose.cc (default_trust): Autoset currently installed packages per
4763 the user's selection of prev/curr/exp.
4764
4765 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
4766
4767 * splash.cc (dialog_proc): Return TRUE as specified in the WIN32 API.
4768
4769 2001-11-02 Pavel Tsekov <ptsekov@syntrex.com>
4770
4771 * geturl.cc (is_showing): Remove.
4772 (is_local_install): New static variable. Controls whether the
4773 progress dialog and the supporting thread will be created.
4774 (dialog_proc): Return TRUE to WM_INITDIALOG as specified by the WIN32
4775 API.
4776 (init_dialog): Remove usage of SetForegroundWindow and is_showing.
4777 This prevents the progress dialog to gain control over the
4778 application and fixes the "setup.exe going to background" problem.
4779 (progress): Use is_local_install.
4780 (get_url_to_string): Set is_local_install.
4781 (dismiss_url_status_dialog): Use is_local_install.
4782 * install.cc (dialog_proc): Return TRUE as specified in WIN32 API.
4783 (init_dialog): Remove usage of SetForegroundWindow.
4784 This prevents the progress dialog to gain control over the
4785 application and fixes the "setup.exe going to background" problem.
4786
4787 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
4788
4789 * choose.cc (list_click): Change r to row for clarity.
4790 When we shrink the list below 1 page, scroll to the top of the list.
4791 (_view::click): Return the actual change for contractions.
4792 (dialog_proc): Return TRUE to WM_INITDIALOG as specified by the Win32
4793 API.
4794
4795 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
4796
4797 * choose.cc (dialog_cmd): Swap cygwin root selection and local dir
4798 selection order.
4799 * localdir.cc: Ran indent.
4800 (get_root_dir_now): New function.
4801 (save_local_dir): New function.
4802 (dialog_cmd): Use it and swap cygwin root selection and local dir
4803 selection order.
4804 (do_local_dir): If there is a saved local dir, read it in.
4805 * net.cc (dialog_cmd): Swap cygwin root selection and local dir
4806 selection order.
4807 * root.cc (dialog_cmd): Ditto.
4808 * source.cc (dialog_cmd): Ditto.
4809
4810 2001-11-01 Robert Collins <rbtcollins@hotmail.com>
4811
4812 * choose.cc(list_vscroll): Return 0 as required by win32.
4813 (list_hscroll): Ditto.
4814 (list_click): Ditto.
4815
4816 2001-11-01 Robert Collins <rbtcollins@hotmail.com>
4817
4818 * argv.cc: Remove.
4819 * argv.h: Remove.
4820 * main.cc(WinMain): Use __argv to retrieve command line parameters.
4821 * Makefile,in: Remove argv.o.
4822
4823 2001-11-01 Matt Hargett <matt@use.net>
4824
4825 * geturl.cc (progress): Change int to unsigned int to eliminate
4826 lint warnings.
4827 * (get_url_to_string): Check for NULL pointer.
4828 * mount.cc (find2): Use free instead of delete for malloc'd
4829 memory.
4830 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Fix memory leak.
4831
4832 2001-10-31 Robert Collins <rbtcollins@hotmail.com>
4833
4834 * choose.cc(_view::insert_under): Handle linen > nlines and lines[linen]
4835 with neither a package nor a category. The lines[linen] bug was reported
4836 by Matt (matt@usa.net).
4837 (read_installed_db): Bugfix for testing whether a package has a source
4838 tarball. Reported by Matt (matt@usa.net).
4839 * geturl.cc(dialog): Rename gw_dialog to local_gw_dialog to avoid
4840 programmer confusion and lint errors. Reported by Matt (matt@usa.net).
4841
4842 2001-10-31 Robert Collins <rbtcollins@hotmail.com>
4843
4844 * argv.cc: New file, converts arguments for -mwindows
4845 programs. (Simplified derivation from dcrt0.cc.)
4846 * argv.h: New file.
4847 * Makefile,in: Add argv.o and mingw_getopt.o to setup.exe object list.
4848 Add mingw_getopt.o build rule.
4849 * main.cc(WinMain): Initialise argv and argc for use by getopt.
4850
4851 2001-10-27 Christopher Faylor <cgf@redhat.com>
4852
4853 * res.rc: Rearrange info on top line slightly.
4854
4855 2001-10-27 Christopher Faylor <cgf@redhat.com>
4856
4857 * desktop.cc (make_passwd_group): Move file creation earlier in the
4858 process to ensure that passwd-grp.bat reflects desired operation.
4859
4860 2001-27-10 Trevor Forbes <t4bs@hotmail.com>
4861
4862 * postinstall.cc (each): Remove "*.done" file else rename will fail.
4863
4864 2001-10-16 Christopher Faylor <cgf@redhat.com>
4865
4866 * res.rc: Oops. Take 640x480 screen size into account.
4867
4868 2001-10-16 Christopher Faylor <cgf@redhat.com>
4869
4870 * res.rc: Enlarge chooser screen.
4871
4872 2001-10-12 Christopher Faylor <cgf@redhat.com>
4873
4874 * Makefile.in: Accomodate changes to w32api_include macro.
4875
4876 2001-10-12 Christopher Faylor <cgf@redhat.com>
4877
4878 * Makefile.in: Use correct flags for windres.
4879
4880 2001-10-12 Christopher Faylor <cgf@redhat.com>
4881
4882 * Makefile.in (CFLAGS): Remove -nostdinc from CFLAGS.
4883
4884 2001-10-12 Christopher Faylor <cgf@redhat.com>
4885
4886 * choose.cc (pick_line::paint): Reorganize after botched patch.
4887
4888 2001-10-12 Christopher Faylor <cgf@redhat.com>
4889
4890 * choose.cc (pick_line::paint): Add missing declaration.
4891
4892 2001-10-10 Ralf Habacker <Ralf.Habacker@freenet.de>
4893
4894 * choose.cc (pick_line::paint): Add package name to sdesc for display.
4895
4896 Wed Sep 26 21:39:00 Robert Collins rbtcollins@hotmail.com
4897
4898 * choose.cc (_view::insert_pkg): Correctly exit loop.
4899 * iniparse.y (register_category): Always insert new categories.
4900
4901 Fri Sep 21 13:56:32 2001 Christopher Faylor <cgf@cygnus.com>
4902
4903 * inilex.l (yylex): For comments, eat all characters up to, but not
4904 including newline.
4905
4906 Sun Aug 26 12:50:01 2001 John Marshall <jmarshall@acm.org>
4907
4908 * fromcwd.cc (found_file): Use correct package name when adding an
4909 unknown package rather than random stack garbage.
4910
4911 Sun Aug 12 14:25:21 2001 Christopher Faylor <cgf@cygnus.com>
4912
4913 * desktop.cc (make_passwd_group): .bat files need \r\n endings.
4914
4915 Wed Aug 8 13:53:47 2001 Christopher Faylor <cgf@cygnus.com>
4916
4917 * desktop.cc (etc_profile): Leave environment variables untouched.
4918
4919 2001-08-07 Corinna Vinschen <corinna@vinschen.de>
4920
4921 * autoload.c: Add dynamic load statements for NT/W2K
4922 advapi32 functions not available in 9x/ME.
4923 * main.cc (set_default_dacl): New function.
4924 (WinMain): Call `set_default_dacl' if running on NT/W2K.
4925
4926 Sat Aug 4 21:35:53 2001 Christopher Faylor <cgf@cygnus.com>
4927
4928 * ini.h (_CategoryPackage): Change pkg field to pkgname for
4929 consistency.
4930 * choose.cc: Use pkgname field when referencing _CategoryPackage
4931 throughout.
4932 (fill_missing_category): Don't add excluded packages.
4933 (default_trust): Ditto.
4934 (_view::insert_pkg): Ditto.
4935 * iniparse.y (register_category): Use consistent variable name.
4936
4937 2001-07-09 Egor Duda <deo@logos-m.ru>
4938
4939 * choose.cc: Use system foreground color for text output.
4940
4941 Sat Jul 7 00:40:28 2001 Christopher Faylor <cgf@cygnus.com>
4942
4943 * choose.cc (set_action): Use default trust for determining reinstall
4944 and source only.
4945 (default_trust): Set default trust.
4946 (pick_line::paint): Allow source selection when reinstalling or
4947 retrieving.
4948
4949 Fri Jul 6 18:08:49 2001 Christopher Faylor <cgf@cygnus.com>
4950
4951 * choose.cc (isinstalled): Modify to properly accomodate special case
4952 of "download only".
4953 (set_action): Check downloaded components, not installed components if
4954 "download only".
4955 (set_existence): Always include full list of files when "download
4956 only".
4957
4958 Fri Jul 6 00:37:05 2001 Christopher Faylor <cgf@cygnus.com>
4959
4960 * choose.cc (pick_line::paint): Properly display "na" field when no
4961 source exists.
4962
4963 Thu Jul 5 00:34:23 2001 Christopher Faylor <cgf@cygnus.com>
4964
4965 * choose.cc (scan2): Ensure that older versions do not show up in
4966 "Test" slot.
4967
4968 Mon Jul 2 15:47:59 2001 Christopher Faylor <cgf@cygnus.com>
4969
4970 * choose.cc (set_action): Allow "Skip" action if trust != installed.
4971 * res.rc: Fix copyright.
4972
4973 Sat Jun 30 14:05:21 2001 Michael A Chase <mchase@ix.netcom.com>
4974
4975 * res.rc (IDD_LOCAL_DIR): Change caption to match the other dialog
4976 boxes.
4977 (IDD_CHOOSE): Adjust horizontal size so package names are visible.
4978
4979 * choose.cc: Restore some more changes from 2001-06-25, throughout.
4980 (paint): Wrap some excessively long lines.
4981 (pick_line::paint): Ditto. Move the arrow in the "Current" column
4982 right to where it belongs. Move the source checkbox slightly to the
4983 right.
4984 (do_choose): List categories and required packages in setup.log.full.
4985
4986 Sat Jun 30 23:04:59 2001 Christopher Faylor <cgf@cygnus.com>
4987
4988 * choose.cc (scan2): Restore source scanning eliminated by previous
4989 checkin.
4990
4991 Sat Jun 30 15:18:33 2001 Christopher Faylor <cgf@cygnus.com>
4992
4993 * ini.h (struct _Info): Add "derived" element.
4994 * choose.cc (scan2): Try to place unknown tar files into proper slot
4995 when package exists in setup.ini but tar file does not.
4996
4997 Sat Jun 30 13:39:00 2001 Robert Collins <rbtcollins@hotmail.com>
4998
4999 * choose.cc (create_listview): Call set_view_mode with VIEW_CATEGORY.
5000 (do_choose): Log the first category name.
5001
5002 Fri Jun 29 23:07:44 2001 Christopher Faylor <cgf@cygnus.com>
5003
5004 *ini.h: Reapply 2001-06-25 changes.
5005 * choose.cc (add_required): Ditto. Default to "Keep" state if
5006 UNINSTALL and product is installed. Default to curr state if SKIP,
5007 etc.
5008 (keep_or_skip): New function. Returns skip or keep state depending on
5009 installed state of package.
5010 (default_trust): Use keep_or_skip to set state.
5011 (_view::insert_pkg): Use calloc to allocate lines.
5012 (set_view_mode): Adapt 2001-06-25 change to set_full_list here.
5013
5014 Sat Jun 30 11:01:00 2001 Robert Collins <rbtcollins@hotmail.com>
5015
5016 * choose.cc: Remove globals full_list, headers, package_indexes and
5017 nindexes.
5018 Add globals cat_headers, pkg_headers and chooser.
5019 (add_required): New function.
5020 (paint): Use the chooser for header details.
5021 Call into the chooser to paint each line.
5022 (list_click): Use new global variables.
5023 Call into the chooser to handle the click.
5024 Repaint the entire view if packages have been added or removed.
5025 (note_width): Get passed a headers struct rather than using a global
5026 variable.
5027 (fill_missing_category): New function.
5028 (default_trust): Skip non-"Required" or "Misc" packages.
5029 (pick_line::set_line (Package *)): New function.
5030 (pick_line::set_line (Category *)): New function.
5031 (pick_line::paint): New function.
5032 (pick_line::click): New function.
5033 (_view::_view): New function.
5034 (_view::set_view_mode): New function.
5035 (_view::mode_caption): New function.
5036 (_view::set_headers): New function.
5037 (_view::init_header): New function.
5038 (_view::insert_pkg): New function.
5039 (_view::insert_category): New function.
5040 (_view::insert_at): New function.
5041 (_view::insert_under): New function.
5042 (_view::clear_view): New function.
5043 (viewsplusplus): New function.
5044 (_view::client): New function.
5045 (set_view_mode): Use new chooser functionality.
5046 (set_full_list): Use new global variables.
5047 (create_listview): Instantiate chooser.
5048 Remove all hardcoded headers[] code.
5049 (dialog_cmd): On trust changes, check dependencies.
5050 (getcategorybyname): New function.
5051 (getpackagecategorybyname): New function.
5052 (scan2): Use case-insensitive package comparison.
5053 (do_choose): Use fill_missing_category ().
5054 Show some category data.
5055 * ini.h: Protect against multiple inclusion.
5056 (views) New enum.
5057 (_CategoryPackage): New struct.
5058 (_Category): New struct.
5059 (_Package): Change category to Category * from char *.
5060 (extern Category category): New global variable.
5061 (extern in ncategories): Ditto.
5062 (getcategorybyname): New prototype.
5063 (catpackagecategorybyname): New prototype.
5064 (register_category): New prototype.
5065 (add_category): New prototype.
5066 * iniparse.y: Parse multiple categories per package.
5067 (category): New global variable.
5068 (ncategories): New global variable.
5069 (new_package): Compare package against NULL, not 0.
5070 (new_requirement): Source formatting fix.
5071 (register_category): New function.
5072 (add_category): New function.
5073 * res.rc: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW.
5074 IDC_CHOOSE_VIEWCAPTION: New control.
5075 * resource.h: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW.
5076 IDC_CHOOSE_VIEWCAPTION: New control.
5077 Increment _APS_NEXT_CONTROL_VALUE.
5078
5079 Mon Jun 25 00:56:37 2001 Michael A Chase <mchase@ix.netcom.com>
5080
5081 * choose.cc (paint): Wrap excessively long lines.
5082 (list_click): Ditto.
5083 (create_listview): Ditto.
5084 (do_choose): Ditto. Replace TABs and remove CRs in lines written to
5085 setup.log.full. Allow "Yes" for source exists in setup.log.full when
5086 installing from local directories.
5087
5088 Mon Jun 25 00:56:37 2001 Christopher Faylor <cgf@cygnus.com>
5089
5090 * choose.cc (set_action): Only clear srcpicked when moving to next
5091 state. Allow source installation if it exists in the current "trust"
5092 state. Don't move to skip state when package is installed.
5093 (list_click): Don't allow source clicking when no source is available.
5094 (set_full_list): Display package when not is_full_action.
5095 * ini.h (is_full_action): Define.
5096
5097 Sun Jun 17 12:06:14 2001 Christopher Faylor <cgf@cygnus.com>
5098
5099 * install.cc (check_for_old_cygwin): New function. First stab at
5100 checking for old cygwin versions.
5101 (do_install): Call check_for_old_cygwin if there were no errors during
5102 the install.
5103
5104 Sat Jun 16 11:33:51 2001 Michael A Chase <mchase@ix.netcom.com>
5105
5106 * choose.cc (_Info::_Info): Test _source paramenter for non-NULL rather
5107 than zeroed "source" element.
5108
5109 Fri Jun 15 20:54:43 2001 Christopher Faylor <cgf@cygnus.com>
5110
5111 * choose.cc (scan2): Insert unknown tar archives, found on disk, into
5112 the highest available "hole" in the trust array.
5113
5114 Fri Jun 15 00:20:48 2001 Christopher Faylor <cgf@cygnus.com>
5115
5116 * choose.cc (set_existence): Use pointer method for indexing in trust
5117 array.
5118 (create_listview): Ditto.
5119 (scan2): Ditto. Also, use consistent variable name for indexing into
5120 trust array.
5121 * ini.h (Package): Reorganize info array for easier scanning.
5122
5123 Fri Jun 15 00:01:51 2001 Christopher Faylor <cgf@cygnus.com>
5124
5125 * choose.cc (isinstalled): Eliminate special download only test.
5126 (set_action): Don't move to next state if in ACTION_SAME range and not
5127 incrementing.
5128 (choose_caption): Display "Retrieve" rather than "Reinstall" when just
5129 downloading.
5130 (do_choose): Sort packages after all packages have been read.
5131 Accomodate the fact that first element in trust array is empty so that
5132 log files don't report the wrong trust value.
5133 * iniparse.y (new_package): Malloc space for package name or suffer
5134 memory corruption.
5135
5136 Thu Jun 14 22:43:59 2001 Robert Collins <rbtcollins@hotmail.com>
5137
5138 * ini.h (Dependency): New structure. Declare new function.
5139 * inilex.l (yylex): Detect new setup.ini options - category and
5140 requires.
5141 * iniparse.y: Declare new setup.ini token values.
5142 (yyparse): Parse new token values.
5143 (new_requirement): New function.
5144
5145 Thu Jun 14 22:43:26 2001 Christopher Faylor <cgf@cygnus.com>
5146
5147 * choose.cc (read_installed_db): Eliminate obsolete code.
5148
5149 Thu Jun 14 22:11:53 2001 Christopher Faylor <cgf@cygnus.com>
5150
5151 * choose.cc (set_action): Set trust on "redo".
5152 (_Info::_Info): New constructor.
5153 (read_installed_db): Use new constructor. Use trusts type for
5154 iterator.
5155 * ini.h (struct _Info): Label struct, add constructor.
5156 (Package): Make installed_ix a type 'trusts.'
5157 * install.cc (uninstall_one): Unset any installed info for current
5158 package.
5159 (install_one): Allocate new Info struct for installed reflecting new
5160 installed info.
5161 (do_install): Don't output line to installed.db if package is being
5162 uninstalled.
5163
5164 Thu Jun 14 20:33:01 2001 Robert Collins <rbtcollins@hotmail.com>
5165
5166 * choose.cc (getpkgbyname): Use consistent method for scanning package
5167 array.
5168
5169 Wed Jun 13 23:33:08 2001 Christopher Faylor <cgf@cygnus.com>
5170
5171 * choose.cc: Add some comments.
5172 (getpkgbyname): Use strcasecmp for comparisons.
5173
5174 Wed Jun 13 16:07:00 2001 Christopher Faylor <cgf@cygnus.com>
5175
5176 * install.cc (do_install): Avoid checking for download action if
5177 package wasn't currently retrieved.
5178
5179 Wed Jun 13 11:27:22 2001 Christopher Faylor <cgf@cygnus.com>
5180
5181 * choose.cc: Eliminate extra array throughout. Use element in package
5182 structure instead. Use pointers rather than array indexes where
5183 appropriate.
5184 (set_action): New function to set next action based on current.
5185 (choose_caption): New function. Returns display caption.
5186 (check_existence): Change arguments. Use pointer to 'info' structure.
5187 (set_existence): Use pointer rather than array index.
5188 (default_trust): Use trusts enum for second argument.
5189 (set_full_list): Honor exclude element in package structure.
5190 (build_labels): Eliminate.
5191 (base): Make global. Use const char * argument.
5192 (get_package_version): Eliminate.
5193 (getpkgbyname): New function.
5194 (read_installed_db): Use parse_filename to get version info.
5195 * desktop.cc (make_passwd_group): Use getpkgbyname function.
5196 * download.cc (get_file_size): const argument.
5197 (do_download): Use is_download_action to determine when something
5198 should be downloaded.
5199 * filemanip.h: Add some functions.
5200 * ini.cc (do_ini): Use NULL rather than 0 for pointer assignment.
5201 * ini.h: Use enums for actions and trusts.
5202 (is_download_action): New macro.
5203 (is_upgrade_action): Ditto.
5204 (is_uninstall_action): Ditto.
5205 (struct Package): Add new fields.
5206 * inilex.l (yylex): Detect new setup.ini options.
5207 * iniparse.y: Declare new tokens.
5208 (yyparse): Detect exclude keyword. Fill out version field even if
5209 version == 0.
5210 (new_package): Use greater granularity when allocating package array to
5211 avoid repeated calls to realloc.
5212 * install.cc (exists): const argument.
5213 (uninstall_one): Take pkg argument.
5214 (install_one): Ditto. Eliminate unneeded arguments which can be
5215 derived from package info.
5216 (do_install): Iterate over package array using a pointer. Use
5217 is_download_action to control when package should be downloaded.
5218 * tar.cc (tar_open): const argument.
5219 * tar.h: Refloect const argument.
5220
5221 2001-05-31 Michael Chase mchase@ix.netcom.com
5222
5223 * main.cc (WinMain): Add setup version to starting setup.log entry
5224
5225 Tue May 29 21:37:58 2001 Yukihiko Sohda <sohda@is.titech.ac.jp>
5226
5227 * inilex.l: Add + to list of valid string characters.
5228
5229 Mon May 28 20:54:50 2001 Christopher Faylor <cgf@cygnus.com>
5230
5231 * Makefile.in: Remove more stuff in the clean target.
5232
5233 Mon May 28 18:24:59 2001 Christopher Faylor <cgf@cygnus.com>
5234
5235 * Makefile.in: Correctly generate iniparse.h.
5236
5237 Tue Mar 6 19:14:00 2001 Corinna Vinschen <corinna@vinschen.de>
5238
5239 * geturl.cc (get_url_to_file): Add parameter `allow_ftp_auth'.
5240 * geturl.h: Change declaration of `get_url_to_file' accordingly.
5241 * netio.cc (NetIO::NetIO): Add parameter `allow_ftp_auth'.
5242 Set member `ftp_auth'.
5243 (NetIO::open): Add parameter `allow_ftp_auth'. Use it in calls
5244 to constructors of derived classes.
5245 (NetIO::get_ftp_auth): New method.
5246 * netio.h: Change class definition accordingly.
5247 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Add parameter `allow_ftp_auth'.
5248 Take global variables `net_ftp_user' and `net_ftp_passwd' into account.
5249 Add code for ftp authentication retry.
5250 * nio-ftp.h: Change class definition accordingly.
5251 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Add parameter `allow_ftp_auth'.
5252 Add code for ftp authentication retry in case of proxy connection.
5253 * nio-http.h: Change class definition accordingly.
5254 * res.rc: Add FTP authentication dialog.
5255 * resource.h: Add new constants used in res.rc.
5256 * state.h: Add variables `net_ftp_user' and `net_ftp_passwd'.
5257
5258 Sun May 27 17:12:23 2001 Christopher Faylor <cgf@cygnus.com>
5259
5260 * res.rc (IDD_SPLASH): Add a copyright year.
5261
5262 Sun May 27 15:42:18 2001 Christopher Faylor <cgf@cygnus.com>
5263
5264 * Makefile.in: Make iniparse.y produce a c++ file.
5265 * choose.cc (set_existence): Revert 2001-05-27 change.
5266 * ini.cc: Remove "C" from declaration of yyparse.
5267 * iniparse.y (yyparse): Fill out version field by default when a binary
5268 install is detected and no version has been set yet.
5269 * install.cc (do_install): Mount things earlier so that we can use
5270 proper mount table settings. Don't remove mounts since they are now
5271 honored.
5272 * mount.cc (create_mount): Reread the mount table after establishing a
5273 new mount.
5274 (read_mounts): Explicitly clear root_here to allow multiple uses of
5275 this function. Ensure that there is no garbage in the table when we've
5276 exhausted all of the mounts in the registry.
5277 (cygpath): Accomodate ./ in path.
5278
5279 Sun May 27 02:59:07 2001 Christopher Faylor <cgf@cygnus.com>
5280
5281 Use parse_filename method to parse filenames throughout. Use
5282 get_root_dir to retrieve the current root directory throughout. Set
5283 const in argument list, where appropriate, throughout.
5284 * choose.cc (set_existence): Detect case of uninstalled package with no
5285 version.
5286 (parse_filename): New function.
5287 * filemanip.h (fileparse): New structure.
5288 * mount.cc (read_mounts): Remember where we found the root mount.
5289 (set_root_dir): New function.
5290 (get_root_dir): Ditto.
5291 * mount.h: Declare new functions.
5292 * site.cc (get_root_dir_now): Renamed from get_root_dir.
5293 (save_site_url): Use new function name.
5294 (get_initial_list_idx): Ditto.
5295
5296 Sat May 26 21:23:59 2001 Christopher Faylor <cgf@cygnus.com>
5297
5298 * choose.cc: Use a constant throughout to deal with chooser icon
5299 length.
5300 * res.rc (IDD_CHOOSE): Increase size of chooser box.
5301
5302 2001-05-07 Brian Keener <bkeener@thesoftwaresource.com>
5303
5304 * choose.cc (do_choose): Fix incorrect assignment of trust setting to
5305 use when Redownload or Sources Only selected.
5306
5307 Thu May 10 22:35:59 2001 Christopher Faylor <cgf@cygnus.com>
5308
5309 Reformat file after botched patch formatting.
5310 * choose.cc (which_trust): Eliminate variable.
5311 (default_trust): Don't set which_trust.
5312 (do_choose): Use selected trust when reinstalling or installing source.
5313
5314 Thu May 10 21:04:18 2001 Christopher Faylor <cgf@cygnus.com>
5315
5316 Change concat to cygpath throughout.
5317 Change map_filename to cygpath throughout.
5318 * concat.cc (vconcat): New function.
5319 (concat): Use vconcat.
5320 * concat.h: Reflect above.
5321 * install.cc (map_filename): Eliminate.
5322 (install_one): Free dest_file.
5323 * mount.cc (find2): Expect input key to be pointing to mount record.
5324 (in_table): New function.
5325 (is_admin): Move from root.cc.
5326 (read_mounts): New function.
5327 (path_prefix_p): New function.
5328 (cygpath): New function.
5329 * mount.h: Define new functions and structure.
5330 * root.cc (in_table): Move to mount.cc.
5331 (do_root): Call read_mounts to initialize root stuff and mount table.
5332 * site.cc (get_root_dir): Ditto.
5333
5334 2001-05-09 Matt Hargett <matt@use.net>
5335
5336 * Makefile.in: Remove *.rc from clean.
5337
5338 Tue May 8 23:33:38 2001 Christopher Faylor <cgf@cygnus.com>
5339
5340 * choose.cc (scan2): Fix incorrect setting of TRUST_CURR rather than
5341 TRUST_PREV which produced "0" versions.
5342
5343 2001-05-07 Brian Keener <bkeener@thesoftwaresource.com>
5344
5345 * resource.h: Add new field IDC_CHOOSE_INST_TEXT. Modify
5346 _APS_NEXT_CONTROL_VALUE to account for addition of
5347 IDC_CHOOSE_INST_TEXT.
5348 * res.rc (IDD_CHOOSE): Modify choose dialog to use new field
5349 IDC_CHOOSE_INST_TEXT for screen text. Modify choose Dialog to allow
5350 hot keys to select Prev, Curr, Exp.
5351 * ini.h: Add new actions for ACTION_REDO and ACTION_SRC_ONLY. Modify
5352 define for LOOP_PACKAGES to include new actions ACTION_REDO and
5353 ACTION_SRC_ONLY.
5354 * choose.cc: Add new Trusts for TRUST_REDO and TRUST_SRC_ONLY.
5355 (paint): Modify to check TRUST_SRC_ONLY when determining Bitmap for
5356 source Checkbox to use.
5357 (build_labels): Add logic to allow for selection of Source only
5358 Download/ReDownload/Install/Reinstall and also to Redownload/Reinstall
5359 current version binary.
5360 (dialog_proc): Add conditional display for file selection prompt based
5361 on download vs install using IDC_CHOOSE_INST_TEXT.
5362 (do_choose): Add new logic for TRUST_REDO and TRUST_SRC_ONLY selection
5363 and modify logic for TRUST_UNINSTALL, TRUST_KEEP, and TRUST_NONE to
5364 handle the instance where Source Download/Install was selected. Modify
5365 log file to store appropriate information regarding Action selected and
5366 the new actions that were added (I.E.: ACTION_REDO and
5367 ACTION_SRC_ONLY).
5368 * download.cc: Add include for <unistd.h> and "port.h".
5369 (download_one): Modify parameter list to include the selected action
5370 for the file to be downloaded. Modify size check against expected size
5371 to include check for ACTION_REDO and ACTION_SRC_ONLY. Modify rename of
5372 .tmp file to also remove the destination file if exists due to ability
5373 to redownload source and binary now.
5374 (do_download): Modify to also use ACTION_REDO and ACTION_SRC_ONLY in
5375 calculation of Download Bytes. Modify to also use ACTION_REDO and
5376 ACTION_SRC_ONLY in determining files selected for download.
5377 * install.cc (uninstall_one): Add check to treat a Reinstall like an
5378 upgrade so current version will be uninstalled prior to reinstall.
5379 (do_install): Add logic to handle ACTION_REDO and ACTION_SRC_ONLY for
5380 uninstalling and installing binary and source packages.
5381 * desktop.cc (make_passwd_group): Modify logic to account for a Source
5382 only cygwin install when checking for cygwin to determine need for
5383 mkpasswd and mkgroup.
5384
5385 Mon May 7 23:33:30 2001 Matt Hargett <matt@use.net>
5386
5387 * winsup/cinstall/res.rc: Added accelerators and improved focus order.
5388 Removed WS_DISABLED from "OK" buttons to accomodate default focus
5389 changes in net.cc and source.cc.
5390 * winsup/cinstall/net.cc (dialog_proc): If no radio button is selected,
5391 a default is selected.
5392 * winsup/cinstall/source.cc (dialog_proc): Ditto.
5393 (check_if_enable_next): Removed. No longer needed since a radio button
5394 will always be selected.
5395 (load_dialog): Removed call to check_if_enable_next.
5396 (dialog_cmd): Ditto. Also added default to switch.
5397
5398 Tue Apr 24 23:42:02 2001 Christopher Faylor <cgf@cygnus.com>
5399
5400 * res.rc: Resize affected text.
5401
5402 Tue Apr 24 23:35:31 2001 Christopher Faylor <cgf@cygnus.com>
5403
5404 * net.cc (do_net): Default to direct download.
5405 * res.rc: Move default selections to the top.
5406
5407 2001-04-18 Earnie Boyd <earnie@users.sourceforge.net>
5408
5409 * win32.h: Remove the definitions for _UNION_NAME and _STRUCT_NAME.
5410 Must now include <windows.h> and not the pieces.
5411 * choose.cc (create_listview): Clean up type mismatch problems.
5412 * dialog.h (NEXT(id)): Ditto.
5413 * geturl.cc (dialog): Ditto.
5414 * install.cc (dialog): Ditto.
5415 * splash.cc (load_dialog): Ditto.
5416
5417 Wed Apr 18 18:59:21 2001 Christopher Faylor <cgf@cygnus.com>
5418
5419 * tar.cc (class gzbz): Define dummy virtual functions.
5420
5421 Wed Apr 18 16:01:21 2001 Christopher Faylor <cgf@cygnus.com>
5422
5423 * Makefile.in: Add bz2 include/library support.
5424 * filemanip.h: New file.
5425 * choose.cc (find_tar_ext): New function. Returns TRUE if .tar.gz or
5426 .tar.bz2 found.
5427 (scan2): Reorganize to use find_tar_ext, accomodating .bz2 extension.
5428 (read_installed_db): Ditto.
5429 (do_choose): Ditto.
5430 * fromcwd.cc (found_file): Ditto.
5431 (do_fromcwd): Ditto.
5432 * tar.cc (class gzbz): New super class for uncompression support.
5433 (gz): New class for gzip support.
5434 (bz): New class for bzip2 support.
5435 (tar_open): Use gzbz class to control file opening.
5436 (tar_ftell): Ditto for returning position in file.
5437 (skip_file): Ditto for reading file.
5438 (tar_next_file): Ditto.
5439 (tar_read_file): Ditto.
5440 (tar_close): Ditto for close.
5441
5442 * zlib/configure.in: Force NM substitution.
5443
5444 * source.cc (do_source): Default to "Install from Internet".
5445
5446 2001-03-16 Brian Keener <bkeener@thesoftwaresource.com>
5447
5448 * nio-file.cc (NetIO_File::NetIO_File): Use `get_file_size' instead of
5449 `stat'.
5450 * choose.cc (list_click): Correct inability to select source code for
5451 download.
5452 (scan2): Modify to skip source tarballs when scanning disk for
5453 installable packages.
5454
5455 2001-03-10 Chris Abbey <chris_abbey@yahoo.com>
5456
5457 * install.cc: install sources into /usr/src instead
5458 of /, also include the sizes of source tarballs
5459 in total_bytes.
5460 * download.cc: include sizes of source tarballs in
5461 total_download_bytes.
5462
5463 Tue Mar 6 19:31:00 2000 Corinna Vinschen <corinna@vinschen.com>
5464
5465 * download.cc (get_file_size): Remove `static'.
5466
5467 Tue Mar 6 19:11:00 2000 Corinna Vinschen <corinna@vinschen.com>
5468
5469 * tar.cc (tar_open): Use `get_file_size' instead of `stat'.
5470
5471 2001-03-06 Brian Keener <bkeener@thesoftwaresource.com>
5472
5473 * choose.cc (paint): Modify message for nothing to download vs
5474 nothing to install/update based on installation method.
5475 (list_click): Modify to skip versions in selection process if
5476 installing from local directory and installation file does not exist.
5477 Also leaves Source Action set to N/A if the source file does not exist
5478 and installing from local directory.
5479 (check_existence): New method to check current existence of installation
5480 files based on selected installation method.
5481 (set_existence): New method to set the current existence of installation
5482 files based on selected installation method.
5483 (best_trust): Modify decision process for best trust to base decision on
5484 current trust selected (IE: Prev, Curr, or Test), existence of file and
5485 installation method selected.
5486 (default_trust): Add logic to capture the current trust level and the
5487 trust selected for the given package.
5488 (set_full_list): Expand decision criteria for displaying a package in
5489 the selection list to include file existence/non-existence and selected
5490 installation method.
5491 (build_labels): Modify criteria for label addition to include
5492 installation method and file existence/non-existence.
5493 (create_listview): Modify to establish package trust level for each
5494 package before setting up the display list. Also modification to set
5495 current trust button as the default.
5496 (dialog_cmd): Set response for Prev, Curr, Test button push to perform
5497 a reset of the selection list in addition to setting the default trust.
5498 (get_package_version): New method to provide reusable code for
5499 determining the package version from the file name for a specified
5500 trust.
5501 (scan2): Modify to use new method get_package_version and
5502 also enhance handling of the build for the structures package and
5503 extra.
5504 (read_installed_db): Modify to use the new method
5505 get_package_version and also enhance handling of the build for the
5506 structures package and extra.
5507 (do_choose): Add additional initialization of package and extra
5508 structures. Modify to use read_installed_db all the time despite
5509 install method. Modify output to setup.log.full log file to increase
5510 readability by adding additional spacing, expanded code and available
5511 versions.
5512 * ini.h: Add new fields install_exists, source_exists and
5513 partial_list_display to the structure definition for package.
5514 * res.rc (IDD_CHOOSE): Modify choose dialog Prev, Curr, and Test
5515 pushbuttons by replacing with Radio Buttons thus allowing the
5516 operator to better determine which is selected.
5517
5518 2001-02-20 Brian Keener <bkeener@thesoftwaresource.com>
5519
5520 * download.cc (do_download): Add new variables total_download_bytes and
5521 total_download_bytes_sofar for download progress meter. Add loop
5522 to accumulate the total bytes to download from the selected packages.
5523 * geturl.cc: Add state.h and diskfull.h to include list. Add new
5524 variables gw_iprogress, gw_pprogress, gw_progress_text,
5525 gw_pprogress_text, and gw_iprogress_text to allow for addition of
5526 total packages download progress meter and disk full percent
5527 progress meter. Add variables total_download_bytes and
5528 total_download_bytes_sofar for use by progress meters.
5529 (dialog_proc): Add new variables gw_iprogress, gw_pprogress,
5530 gw_progress_text, gw_pprogress_text, and gw_iprogress_text to
5531 allow for addition of total packages download progress meter and disk
5532 full percent progress meter.
5533 (init_dialog): Ditto.
5534 (progress): Ditto.
5535 (get_url_to_file): Ditto.
5536 * geturl.h: Add external definition for total_download_bytes and
5537 total_download_bytes_sofar.
5538 * res.rc: Add two additional progress meters (IDC_DLS_IPROGRESS)
5539 and (IDC_DLS_PPROGRESS) and three text objects (IDC_DLS_PROGRESS_TEXT)
5540 and (IDC_DLS_IPROGRESS_TEXT, IDC_DLS_PPROGRESS_TEXT) for use in the
5541 download meters.
5542 * resource.h: Add new fields for progress meters and text and update
5543 _APS_NEXT_CONTROL_VALUE.
5544
5545 Wed Feb 21 13:05:00 2000 Corinna Vinschen <vinschen@redhat.com>
5546
5547 * download.cc (get_file_size): Check for INVALID_HANDLE_VALUE instead
5548 for NULL.
5549
5550 Wed Feb 21 11:21:00 2000 Corinna Vinschen <vinschen@redhat.com>
5551
5552 * download.cc (download_one): Add missing parenthesis.
5553
5554 Mon Feb 19 18:59:00 2000 Corinna Vinschen <vinschen@redhat.com>
5555
5556 * download.cc (get_file_size): New function. Eliminates the need
5557 to call `stat'.
5558 (download_one): Call `get_file_size' instead of `stat'. This
5559 workarounds a problem with mingw's `stat' call.
5560
5561 2001-02-07 Earnie Boyd <earnie@users.sourceforge.net>
5562
5563 * Makefile.in: (%.o: %.rc): Specify --include-dir $(w32api_include).
5564 This is to allow cinstall to build with 2.95.2-7 and to make the
5565 use of headers consistent.
5566
5567 2000-12-26 Earnie Boyd <earnie_boyd@yahoo.com>
5568
5569 * Makefile.in (autoload.o): Add target to specify -fno-inline-functions
5570
5571 Tue Dec 26 03:46:00 2000 Matt Hargett <matt@use.net>
5572
5573 * winsup/cinstall/res.rc: Added accelerators and improved focus
5574 order.
5575
5576 2000-12-10 Egor Duda <deo@logos-m.ru>
5577
5578 * choose.cc (paint): Use system background color for text output.
5579
5580 Sun Dec 10 19:05:25 2000 Christopher Faylor <cgf@cygnus.com>
5581
5582 * Makefile.in: Use CXX for linking and for compiling .cc files.
5583 * configure.in: Find correct c++ compiler.
5584 * configure: Regenerate.
5585
5586 2000-11-17 DJ Delorie <dj@redhat.com>
5587
5588 * splash.cc (load_dialog): Make message more obvious.
5589 * res.rc: Ditto.
5590
5591 Fri Nov 17 17:15:21 2000 Christopher Faylor <cgf@cygnus.com>
5592
5593 * Makefile.in: Use g++ to link so that libstdc++.a gets used. This is
5594 necessary for newer compilers.
5595
5596 Wed Nov 9 2:19:00 2000 Corinna Vinschen <vinschen@redhat.com>
5597
5598 * desktop.cc: Include "ini.h" and "version.h".
5599 (make_passwd_group): Skip the function on 9x/ME boxes when an
5600 older version of Cygwin has been installed which doesn't
5601 support mkpasswd/mkgroup on 9x/ME.
5602 * install.cc: Move the `LOOP_PACKAGES' and `pi' macros to...
5603 * ini.h: ...here.
5604
5605 Wed Nov 8 17:10:00 2000 Corinna Vinschen <vinschen@redhat.com>
5606
5607 * desktop.cc (make_passwd_group): Don't exit when started
5608 on 9x/ME since mkpasswd/mkgroup are usable on 9x/ME now.
5609
5610 Sun Nov 5 12:51:42 2000 Jason Tishler <jt@dothill.com>
5611
5612 * install.cc (do_install): Add call to set_cygdrive_flags to sync
5613 the mount modes.
5614 * mount.cc (set_cygdrive_flags): New function.
5615 (get_cygdrive_flags): Ditto.
5616 (default_cygdrive): Ditto.
5617 (set_cygdrive_flags): Ditto.
5618 * mount.h: Add prototype for set_cygdrive_flags.
5619
5620 2000-10-23 DJ Delorie <dj@redhat.com>
5621
5622 * ini.h: add source actions
5623 * fromcwd.cc: check for available sources
5624 * res.rc: add checkbox bitmaps
5625 * resource.h: ditto
5626 * check-*.bmp: new
5627 * choose.cc: add source column
5628 * download.cc: download sources if called for
5629 * install.cc: [un]install sources too
5630
5631 2000-10-22 DJ Delorie <dj@redhat.com>
5632
5633 * choose.cc (build_labels): Don't skip TRUST_PREV completely; only
5634 ignore it wrt full_list if there's already a version installed.
5635 (do_choose): Sort the list.
5636 (package_sort): New.
5637
5638 2000-10-12 DJ Delorie <dj@redhat.com>
5639
5640 * res.rc: Add more error strings.
5641 * resource.h: Ditto.
5642 * iniparse.y (new_package): re-initialize if needed.
5643 * download.cc (do_download): Keep track of errors; notify and
5644 allow retry.
5645 * install.cc (do_install): Ditto.
5646
5647 2000-10-05 DJ Delorie <dj@redhat.com>
5648
5649 * Makefile.in: fix %.cc rule
5650
5651 2000-10-04 DJ Delorie <dj@redhat.com>
5652
5653 * desktop.cc: quote HOME and USER, don't . ./.profile
5654
5655 * choose.cc (build_labels): don't include in partial list just
5656 because there's a *previous* version available.
5657
5658 * install.cc (do_install): if installing from local directory with
5659 setup.ini and the file isn't found, look in "." also. Note errors.
5660
5661 2000-10-02 DJ Delorie <dj@redhat.com>
5662
5663 * ini.cc (do_ini): save setup.ini locally
5664
5665 2000-10-02 Chris Abbey <cabbey@bresnanlink.net>
5666
5667 * desktop.cc: quote escapes in prompt
5668
5669 2000-10-02 Jason Tishler <jt@dothill.com>
5670
5671 * root.cc (is_admin): New function.
5672 (read_mount_table): Check for administrative priviledges and set
5673 installation scope as appropriate.
5674
5675 2000-09-28 DJ Delorie <dj@redhat.com>
5676
5677 * nio-ftp.cc (ftp_line): handle continuations more robustly
5678
5679 2000-09-14 Brian Keener <bkeener@thesoftwaresource.com>
5680
5681 * res.rc: increased the size of the site dialog (IDD_SITE) & the
5682 corresponding list box to provide for more URL's to be listed.
5683 Modified the position of the Back, Next and Cancel buttons to
5684 correspond to the new size of the dialog.
5685
5686 2000-09-13 DJ Delorie <dj@redhat.com>
5687
5688 * install.cc (do_install): update disk fullness once per package
5689 to improve performance
5690
5691 * choose.cc (create_listview): call ReleaseDC
5692
5693 Mon Sep 11 22:40 2000 Harold L Hunt II <harold@compasstechnologies.com>
5694
5695 * mkdir.cc: Create directories when ERROR_FILE_NOT_FOUND is
5696 returned, as it seems Samba 2.0.6+ returns this instead of
5697 ERROR_PATH_NOT_FOUND
5698
5699 Mon Sep 11 19:35:24 2000 Christopher Faylor <cgf@cygnus.com>
5700
5701 * site.cc (get_initial_list_idx): Don't default to saved URL if it
5702 refers to sources.
5703
5704 2000-09-07 DJ Delorie <dj@redhat.com>
5705
5706 * splash.cc: use version.h, not local decl
5707 * res.rc: add "old version" message
5708 * resource.h: ditto
5709 * version.h: new
5710 * fromcwd.cc (canonicalize_version): make global
5711 * iniparse.y: add setup-version support, fix bug in blank line
5712 handling
5713
5714 * inilex.l: add [exp] as alias for [test], add setup-version
5715 * Makefile.in (version.c): add setup-version tag
5716
5717 * desktop.cc (do_desktop): remove 1.1 version number
5718 (do_desktop_setup): ditto
5719
5720 * ini.cc (do_ini): zero out package list just in case we redo it.
5721
5722 2000-09-07 Jeffrey Juliano <juliano@cs.unc.edu>
5723
5724 * choose.cc (list_click): Check for nindexes==0; if so, return.
5725
5726 2000-09-06 Andrej Borsenkow <Andrej.Borsenkow@mow.siemens.ru>
5727
5728 * localdir.cc: new, local package directory selection dialog; cd
5729 into selected directory
5730 * Makefile.in (OBJS): add localdir.o
5731 * dialog.h: add prototype for do_local_dir
5732 * main.cc (WinMain): initialize local_dir to cwd; add call to
5733 do_local_dir
5734 * net.cc (dialog_cmd): make DO_LOCAL_DIR next dialog
5735 * source.cc (dialog_cmd): ditto
5736 * res.rc: add DO_LOCAL_DIR dialog; remove "current directory" from
5737 presented choices in IDD_SOURCE; add IDS_ERR_CHDIR error string
5738 * resource.h: defines for DO_LOCAL_DIR dialog; define IDS_ERR_CHDIR
5739 * root.cc (dialog_cmd): make DO_LOCAL_DIR previous dialog
5740 * state.h: add local_dir variable
5741
5742 2000-09-06 Brian Keener <bkeener@thesoftwaresource.com>
5743
5744 * desktop.cc: added logic to handle to the new dialog and to
5745 default the setting for the new checkboxes based on whether the
5746 desktop icon or start menu link already exist.
5747 (desktop_icon): correction to desktop directories for desktop icon
5748 creation. Additional logic added for Win95 which does not appear
5749 to have Common Directories so if Common selected and null uses
5750 normal directory.
5751 (start_menu): Additional logic added for Win95 which does not
5752 appear to have Common Directories so if Common selected and null
5753 uses normal directory.
5754 (do_desktop_setup): moved the saving of the icon, creation of the
5755 bat file, profile, passwd, Start Menu link and desktop shortcut to
5756 this method from do_desktop. Made the creation of the desktop
5757 icon and start menu link conditional on settings of new dialog
5758 created for desktop.
5759 * install.cc (do_install): changed next from IDD_S_DESKTOP to
5760 IDD_DESKTOP.
5761 * main.cc (WinMain): changed case IDD_S_DESKTOP to IDD_DESKTOP.
5762 * res.rc: added new resource to create a desktop dialog with 2
5763 checkboxes for creating the desktop icon and start menu link.
5764 * resource.h: changed IDD_S_DESKTOP to IDD_DESKTOP and added two
5765 new controls: IDC_ROOT_MENU and IDC_ROOT_DESKTOP for new dialog.
5766 * state.h: added root_menu and root_desktop for use in dialog.
5767
5768 2000-08-29 DJ Delorie <dj@redhat.com>
5769
5770 * choose.cc (scan_downloaded_files): scan for existing files, so
5771 that the user only sees new downloads.
5772
5773 * nio-ie5.cc (NetIO_IE5): pre-check for wininet.dll, enable dial-up
5774 * site.cc (do_site): if we can't download the mirror list, go back
5775 to the net setup box to choose another transport.
5776 * autoload.c: add more functions
5777 * Makefile.in (ALL_DEP_LDLIBS): remove wininet.a
5778 * resource.h: add WININET message
5779
5780 * net.cc (do_net): no longer default to IE5
5781 * simpsock.h (class SimpleSocket): new, simplify socket operations
5782 * simpsock.cc: ditto
5783 * nio-http.h: new, for direct http protocol
5784 * nio-http.cc: ditto
5785 * nio-ftp.h: new, for direct http protocol
5786 * nio-ftp.cc: ditto
5787 * netio.cc (set_url): move initialization here to handle redirections
5788 (open): add direct http/ftp
5789 * netio.h (NetIO::set_url): new
5790
5791 * log.cc (log_save): create directory for log if needed
5792
5793 * hash.cc, hash.h: new
5794 * Makefile: add hash.o
5795 * choose.cc: enable "uninstall" option
5796 * download.cc: invert action test to accomodate uninstalling
5797 * ini.h: add ACTION_UNINSTALL
5798 * install.cc: add uninstall functionality
5799 * res.rc: make install tag changeable
5800 * resource.h: add uninstall resources
5801
5802 * res.rc: update mirror list URL
5803
5804 2000-08-24 DJ Delorie <dj@redhat.com>
5805
5806 * log.cc, log.h: new files
5807 * Makefile.in (OBJS): add log.o
5808 * tar.cc: use exit_setup instead of exit
5809 * dialog.cc (fatal): use exit_setup instead of ExitProcess
5810 * msg.cc (fatal): ditto
5811 * install.cc (dialog_cmd): ditto
5812 * ini.cc (do_ini): ditto
5813 * main.cc (main): add logging
5814 * source.cc (do_source): ditto
5815 * root.cc (do_source): ditto
5816 * site.cc (do_site): ditto
5817 * other.cc (do_other): ditto
5818 * net.cc (do_net): ditto
5819 * choose.cc (do_choose): ditto
5820 * download.cc (do_download): ditto
5821 * install.cc (do_install): ditto
5822 * msg.cc (fatal): ditto
5823
5824 * res.rc: mark password boxes as *being* password boxes.
5825
5826 * fromcwd.cc (canonicalize_version): use multiple buffers so that
5827 multiple calls won't use the same buffer.
5828 * choose.cc (create_listview): don't default to full list if no changes
5829 (base): return computed value, not temporary :-(
5830 (do_choose): don't use installed.db if we're only downloading.
5831
5832 2000-08-23 DJ Delorie <dj@redhat.com>
5833
5834 * nio-ie5.cc (NetIO_IE5): Fix authentication logic
5835 * nio-ie5.h (flush_io): new
5836 * netio.cc (load_dialog): note when we're initializing the dialog
5837 box, and ignore changes to the edit fields then.
5838
5839 2000-08-21 DJ Delorie <dj@redhat.com>
5840
5841 * README: Update
5842
5843 * fromcwd.cc (found_file): don't remember the canonicalized version
5844
5845 * choose.cc (paint): print "nothing to do" message when list is empty.
5846 (build_labels): Use version "0.0" if no version is available.
5847 (create_listview): default to full list if nothing to install/update.
5848 (base): new, returns basename of file
5849 (read_installed_db): compare base names, not full paths
5850
5851 2000-08-11 DJ Delorie <dj@redhat.com>
5852
5853 * choose.cc: add new chooser dialog
5854 * fromcwd.cc: use IDD_CHOOSE
5855 * ini.cc: use IDD_CHOOSE
5856 * main.cc: use IDD_CHOOSE
5857 * ini.h: cosmetic changes
5858 * res.rc: add choose dialog, bitmaps
5859 * choose-spin.bmp: new
5860 * choose-rtarrow.bmp: new
5861 * resource.h: add choose dialog controls
5862
5863 * mount.cc: remove debug statement
5864
5865 2000-08-08 DJ Delorie <dj@redhat.com>
5866
5867 * Makefile.in (version.c): make version checking more robust
5868 * splash.cc (load_dialog): handle case where there's no version
5869
5870 2000-08-07 DJ Delorie <dj@redhat.com>
5871
5872 * (all): add cvsid tags
5873 * Makefile.in: generate version.c from ChangeLog, add splash.o
5874 * splash.o: new
5875 * res.rc: add splash screen
5876
5877 2000-08-02 DJ Delorie <dj@redhat.com>
5878
5879 * net.cc: remove proxy password code
5880 * res.rc: remove proxy user/pass from net, add auth dialogs
5881 * netio.cc,h: add sys/proxy auth methods
5882 * nio-ie5: use them, check for http status codes
5883 * state.h: add system authorization
5884
5885 * concat.cc (concat): canonicalize x:// to x:/ (exception to ://
5886 meaning an url)
5887
5888 2000-08-02 Norman Vine <nhv@yahoo,com>
5889
5890 * msg.cc (mbox): added MB_TOPMOST to MessageBox type flags
5891
5892 2000-08-01 DJ Delorie <dj@redhat.com>
5893
5894 * postinstall.cc (each): don't rename files we ignore
5895 (do_postinstall): set CYGWINROOT to root_dir, chdir there
5896
5897 * desktop.cc: have /etc/profile call ~/.profile and ~/.bashrc
5898
5899 2000-07-31 DJ Delorie <dj@redhat.com>
5900
5901 * desktop.cc: reverse PATH so /usr/bin precedes /bin
5902
5903 2000-07-18 DJ Delorie <dj@redhat.com>
5904
5905 * autoload.c: new, autoload dlls that might not be available.
5906 * Makefile.in (OBJS): add autoload.o
5907
5908 * res.rc: rewrite root options (text/binary, system/user) to be
5909 more obvious.
5910
5911 * site.cc (get_site_list): trim displayed URL, sort by domain
5912
5913 * net.cc (do_net): make IE5 default to checked, for now
5914
5915 * choose.cc (do_choose): sort packages correctly
5916 * ini.cc (do_ini): handle parse errors more gracefully
5917 (yyerror): ditto
5918 (fprintf): line buffer output
5919 (do_ini): if we can't load setup.ini, go back to the site list.
5920 * ini.h: add "unknown" trust level
5921 * inilex.l: absorb unknown trust levels and key/value pairs,
5922 add line number logic
5923 * iniparse.y: handle parse errors more gracefully.
5924 * install.cc: skip packages with no valid install entry
5925
5926 2000-07-17 DJ Delorie <dj@cygnus.com>
5927
5928 * coding standards fixups, many files
5929 * mkdir.cc: warn about deletions *before* deleting them
5930
5931 2000-07-17 Jeff Juliano <juliano@cs.unc.edu>
5932
5933 * res.rc (IDD_OTHER_URL): reorder to give default focus to entry
5934
5935 * other.cc (dialog_cmd): save download site URL
5936 * site.cc (get_root_dir): new
5937 (save_mirror_site): new
5938 (dialog_cmd): save download site URL
5939 (get_site_list): make list big enough to add prev site
5940 (get_initial_list_idx): new, read last-used URL from file and
5941 append it to site_list
5942 (do_site): call get_initial_list_idx
5943
5944 * concat.cc (concat): avoid segfault when first parm is null
5945
5946 2000-07-13 DJ Delorie <dj@cygnus.com>
5947
5948 * postinstall.cc: new
5949 * Makefile.in: add postinstall.o
5950 * concat.h: add backslash ()
5951 * concat.cc: ditto
5952 * desktop.cc (etc_profile): don't do postinstall
5953 (backslash): moved to concat.cc
5954 (uexists): new
5955 (make_postinstall_script): run directly
5956 (do_desktop): chain to do_postinstall
5957 * dialog.h: add exit_msg, do_postinstall
5958 * download.cc: use exit_msg
5959 * install.cc: ditto
5960 * main.cc: add postinstall, exit_msg
5961 * resource.h: add postinstall
5962 * README: add more to-do items
5963
5964 2000-07-12 DJ Delorie <dj@cygnus.com>
5965
5966 * desktop.cc: add /etc/postinstall/ support
5967 * install.cc: add more "standard" directories
5968
5969 2000-07-11 DJ Delorie <dj@cygnus.com>
5970
5971 * desktop.cc: create /etc/profile
5972 * desktop.cc: fix include syntax
5973 * Makefile.in: add auto-dependencies
5974 * root.cc: support system vs user
5975 * desktop.cc: ditto
5976 * mount.h: ditto
5977 * mount.cc: ditto
5978 * install.cc: ditto
5979 * res.rc: ditto
5980 * resource.h: ditto
5981 * state.h: ditto
5982 * desktop.cc: make sure we use backslashes, not slashes.
5983 * desktop.cc: don't set PATH in cygwin.bat, create /etc/passwd
5984 * geturl.cc: change math for percentage to avoid overflow
5985 * install.cc: ditto
5986 * download.cc: post "download complete" message.
5987 * root.cc: pre-fill in defaults if needed, don't start
5988 browse at root_dir unless it's set.
5989 * desktop.cc: quote $PATH in case it has spaces in it
5990
5991 2000-07-10 DJ Delorie <dj@cygnus.com>
5992
5993 * Makefile.in: add desktop.o and mklink2.o
5994 * dialog.h: add do_desktop
5995 * install.cc: create standard directories, call do_desktop
5996 * res.rc: add cygwin.ico as a file also
5997 * desktop.cc: new, do shortcuts, batch files, and icons
5998 * mklink2.c: new, for COM
5999 * README: update to-do list
6000
6001 2000-07-10 DJ Delorie <dj@cygnus.com>
6002
6003 * ini.cc (do_ini): don't worry about timestamps if we're not
6004 actually installing.
6005
6006 2000-07-09 DJ Delorie <dj@cygnus.com>
6007
6008 * Makefile.in: add -I$(srcdir) for ini.h
6009
6010 2000-07-06 DJ Delorie <dj@cygnus.com>
6011
6012 * Replace everything with a new GUI version
6013 * zlib/gzio.c: add gzctell() for progress displays
6014
6015 2000-06-22 DJ Delorie <dj@cygnus.com>
6016
6017 * setup.c (tarx): re-add call to write_pkg()
6018
6019 2000-06-07 DJ Delorie <dj@cygnus.com>
6020
6021 * cygcalls.c: new, call cygwin1.dll functions directly
6022 * cygcalls.h: header for same
6023 * Makefile.in: add cygcalls.[ch], remove mount/cygpath/umount
6024 exes, fix cinstall.rc dependencies.
6025 * path.c: remove unneeded code
6026 * setup.c: use cygcalls instead of xcreate_process.
6027 uncompress embedded files with zlib
6028 add "-d" for "download only"
6029 add "-h" for help
6030 postpone mount changes until very end
6031 add download progress indicators
6032 pack multi-column listings more
6033 auto-delete temp files
6034 customize banner message according to options
6035 prompt user for text/binary mounts
6036 add warnings about empty setup directory, root installs, etc
6037
6038 2000-05-24 DJ Delorie <dj@cygnus.com>
6039
6040 * tar.c: New file; built-in tar using zlib.
6041 * tar.h: New file; header for same.
6042 * ctar.c: New file; test program for same.
6043 * Makefile.in: add built-in tar, remove tar.exe and gzip.exe
6044 * path.c (pathcat): convert slashes and canonicalize, instead of
6045 aborting
6046 * setup.c (tarx): add support for built-in tar
6047 (main): accept unix-style slashes, check root dir for drive letters,
6048 warn about installing in /, make sure cwd is empty for internet
6049 installs, defer mounts to end of install, support built-in tar.
6050
6051 Fri May 19 23:44:37 2000 Christopher Faylor <cgf@cygnus.com>
6052
6053 Fix compiler warnings throughout.
6054 * pkg.c (init_pkgs): Make static 'stuff' global_pkgstuff for use in
6055 get_pkg_stuff.
6056 * setup.c: Make 'root' global.
6057 (istargz): Return pointer to "stem" of matched .tar.gz file.
6058 (tarx): Special case cygwin-20000301 to == cygwin-1.1.0.tar.gz. Remove
6059 bogus check_for_installed check.
6060 (recurse_dirs): Add preliminary support for .bat file execution.
6061 (create_uninstall): Eliminate unneeded parameter.
6062 (do_start_menu): Ditto.
6063 (mkmount): Ditto.
6064 (get_pkg_stuff): Ditto. Check for currently installed cygwin by
6065 scanning for the version number. Eliminate unneeded argument to
6066 create_uninstall.
6067 (getdownloadsource): Add 'name' to list of names rather than url.
6068 (main): Eliminate unneeded argument in get_pkg_stuff. Eliminate
6069 unneeded argument in mkmount and do_start_menu.
6070
6071 2000-05-18 DJ Delorie <dj@cygnus.com>
6072
6073 * setup.c (optionprompt): allow multi-column, clean up message
6074 about more options, be more robust about user input.
6075 (getdownloadsource): make the mirror URL a macro.
6076 (main): do mounts after done prompting user.
6077
6078 Tue May 2 00:56:41 2000 Christopher Faylor <cgf@cygnus.com>
6079
6080 * setup.c (cleanup): Inverse order of deletion stands a better chance
6081 of deleting cygpath.exe. Still seems to suffer from occasional races,
6082 though.
6083 (cleanup_on_signal): Perform convoluted dance to accomodate win95 and
6084 w2k.
6085 (output_file): Defend against an unlikely handle leak.
6086 (main): Don't set up signal handling until we have something special to
6087 do.
6088
6089 Mon May 1 17:56:32 2000 Christopher Faylor <cgf@cygnus.com>
6090
6091 * path.c (kill_cygpath): Delete function.
6092 (exit_cygpath): Make more defensive so that it can be called at any
6093 time.
6094 (cygpath_pipe): Don't set up signal here. Do it in main().
6095 * setup.c (istargz): New function.
6096 (recurse_dirs): Look for *.gz pattern rather than *tar.gz since *tar.gz
6097 inexplicably fails on samba mounted partitions. Use istargz to match
6098 tar.gz tail.
6099 (processdirlisting) Use istargz to match tar.gz tail.
6100 (cleanup): Renamed from filedel.
6101 (cleanup_on_signal): New function. Called on CTRL-C.
6102 (main): Record handle of main thread so that it can be suspended when
6103 CTRL-C occurs. Set up cleanup_on_signal signal handler.
6104
6105 Mon May 1 11:05:07 2000 Christopher Faylor <cgf@cygnus.com>
6106
6107 * setup.c (do_start_menu): Don't concatenate paths to already built
6108 paths.
6109
6110 Sun Apr 30 22:37:34 2000 Christopher Faylor <cgf@cygnus.com>
6111
6112 * path.c (exit_cygpath): Wait for subprocess to exit before returning.
6113 (cygpath_pipe): Don't call exit_cygpath. Let main atexit routine do
6114 that.
6115 * pkg.c (init_pkgs): Accept root argument. Make registry key "cygwin
6116 root"-specific.
6117 * setup.c (filedel): Call exit_cygpath here so that we can be assured
6118 that cygpath subprocess has died. This allows us to delete cygpath.exe
6119 and cygwin1.dll.
6120 (optionprompt): Initialize response to -1 so that second screen of
6121 mirrors will appear.
6122 (get_pkg_stuff): Don't attempt to use HKCLU. Pass root to init_pkgs.
6123 * setup.h: Reflect init_pkgs prototype change.
6124
6125 Sat Apr 29 23:53:30 2000 Christopher Faylor <cgf@cygnus.com>
6126
6127 * pkg.c (init_pkgs): Accept an argument to control what root registry
6128 key should be used.
6129 * setup.c (get_pkg_stuff): Use HKCLU registry key if default fails.
6130 * setup.h: Reflect init_pkgs prototype change.
6131
6132 Sat Apr 29 23:27:14 2000 Christopher Faylor <cgf@cygnus.com>
6133
6134 * error.c (winerror): Respond to gcc warning.
6135 * path.c (cygpath_pipe): Ditto.
6136 * setup.c (filedel): Call sa_cleanup on deleteme.
6137 (create_shortcut): Coerce argument to eliminate compiler warning.
6138 (tarx): Use installed version of cygwin1.dll, overriding tar file name.
6139 (refmatches): New function. Tests if ref is contained in a list of
6140 packages to install.
6141 (filematches): New function. Tests if filename matches one of a list
6142 of packages to install.
6143 (recurse_dirs): Accept list of packages to install. Generalize tar.gz
6144 test to accomodate _tar.gz.
6145 (prompt): Ensure that stdout is flushed prior to asking for input.
6146 (findhref): Initialize variables to quiet a compiler warning.
6147 (processdirlisting): Accept list of packages to install. Special case
6148 cygwin tar file version number.
6149 (downloaddir): Accept list of packages to install.
6150 (downloadfrom): Ditto.
6151 (create_uninstall): Eliminate unneeded variables. Quote arguments to
6152 regtool.
6153 (do_start_menu): Don't create uninstall bat file if updating or user
6154 specified a list of packages.
6155 (mkmount): Eliminate unneeded variables.
6156 (get_pkg_stuff): New function. Checks for previous unversioned
6157 installation.
6158 (main): Accept -u and -f options and package names on the command line.
6159 Use get_pkg_stuff to initialize package information. Umount /etc.
6160 Call recurse_dirs and downloadfrom with list of package to install.
6161 Ensure that all /usr/local directories are created. Output
6162 installation time to setup.log.
6163 * setup.h: Add some prototypes.
6164 * xsystem.c (xcreate_process): Eliminate unneeded variable.
6165
6166 Sat Apr 29 12:43:08 2000 Christopher Faylor <cgf@cygnus.com>
6167
6168 * setup.c (optionprompt): Don't overlap display of already seen options
6169 on next page.
6170 (geturl): Print name of site which we're connecting to rather than "ftp
6171 site".
6172 (processdirlisting): Avoid URLs that contain a /. or ./ . Is this
6173 test too simplistic?
6174 (do_start_menu): Use pathcat to build path to <root>\bin to avoid
6175 problems when user chooses x:\ as their root.
6176 (main): For now, default to "non-update" mode. Allow -u option to
6177 signify an update.
6178
6179 Sat Apr 29 00:26:06 2000 Christopher Faylor <cgf@cygnus.com>
6180
6181 * pkg.c: New file.
6182 * setup.c (tarx): Skip already installed or older packages. Report
6183 when a package has been updated.
6184 (processdirlisting): Skip already installed or older packages.
6185 (main): Detect -f option for forced installation. Initialize pkg stuff
6186 if appropriate.
6187 * setup.h: Add pkg definitions.
6188
6189 Thu Apr 27 14:21:30 2000 Christopher Faylor <cgf@cygnus.com>
6190
6191 * setup.c (findhref): Return NULL on empty string. Eat any trailing
6192 ";something".
6193 (processdirlisting): Attempt to limit recursively processing the same
6194 directory.
6195
6196 Thu Apr 27 11:42:23 2000 Christopher Faylor <cgf@cygnus.com>
6197
6198 * setup.c (filedel): New function.
6199 (output_file): Keep track of files extracted from setup.exe for
6200 subsequent deletion.
6201 (tarx): Close process handle of child tar process or suffer handle
6202 leak.
6203 (getdownloadsource): Close mirror file so that it can be unlinked.
6204 (processdirlisting): Return total number of files extracted.
6205 (main): Initialize array of files to delete. Ensure that files are
6206 closed on exit. Make the directory that setup.exe is started from ==
6207 the directory where temporary files are placed. Issue an error if no
6208 files were found to download.
6209 * xsystem.c (xcreate_process): Close the thread handle. Close the
6210 process handle if we waited for it to exit.
6211
6212 Thu Apr 27 09:54:19 2000 Christopher Faylor <cgf@cygnus.com>
6213
6214 * setup.c (main): Change version number output.
6215
6216 Thu Apr 27 09:23:17 2000 Christopher Faylor <cgf@cygnus.com>
6217
6218 * setup.c (tarx): Use full path name to tar executable.
6219 (main): Build full pathname to tar executable. Create /usr/local/etc
6220 by default.
6221
6222 Wed Apr 26 22:16:57 2000 Christopher Faylor <cgf@cygnus.com>
6223
6224 * setup.c (findhref): Change method for scanning for href= to choose
6225 the last one on the line. This is still not foolproof and probably
6226 will need to be changed eventually. Don't abort if no "size" field is
6227 evident.
6228 (processdirlisting): Fix boolean algebra.
6229
6230 Wed Apr 26 01:10:39 2000 Christopher Faylor <cgf@cygnus.com>
6231
6232 * main.c (tarx): Add some code for future task of unmounting
6233 directories encountered in tar file.
6234
6235 Sat Apr 22 16:37:03 2000 Christopher Faylor <cgf@cygnus.com>
6236
6237 * setup.c (findhref): Decode file size, when appropriate.
6238 (needfile): New function. Returns 1 when file should be
6239 downloaded.
6240 (processdirlisting): Always download if file size does not
6241 match. Prompt when download fails for some reason.
6242 (getdownloadsource): Accomodate findhref argument changes.
6243
6244 Sat Apr 22 15:13:42 2000 Christopher Faylor <cgf@cygnus.com>
6245
6246 Throughout, use global session handle rather than reinitializing for
6247 each connect. Don't pass session as an argument to setup.c functions.
6248 * setup.c (geturl): Only issue "Connecting to.." message when using
6249 http or first time for ftp since subsequent connections will be fast.
6250 (processdirlisting): Allocate space for "N" when user has specified
6251 "N"ever option so that it can be subsequently freed.
6252 (main): Abort if we can't get the list of mirrors.
6253
6254 Thu Apr 20 16:41:42 2000 Christopher Faylor <cgf@cygnus.com>
6255
6256 * setup.c (main): Umount /bin and /lib.
6257
6258 Wed Apr 19 13:34:44 2000 Christopher Faylor <cgf@cygnus.com>
6259
6260 * setup.c (main): Create an empty /var/run/utmp.
6261
6262 Tue Apr 18 19:16:56 2000 Christopher Faylor <cgf@cygnus.com>
6263
6264 * Makefile.in: Add umount to list of files to include in setup.exe.
6265 * setup.c (xumount): New function for unmounting directories.
6266 (main): Unmount /usr.
6267 (mkmount): Unmount "unix directory" before trying to figure out where
6268 to create the directory.
6269
6270 Tue Apr 18 17:28:55 2000 Christopher Faylor <cgf@cygnus.com>
6271
6272 * setup.c (mkmount): Use xcreate_process to start mount process,
6273 avoiding the shell.
6274 (main): Don't do buffering on stdout or prompts won't be displayed
6275 correctly if running in a cygwin shell with CYGWIN=tty.
6276
6277 Tue Apr 18 15:35:19 2000 Christopher Faylor <cgf@cygnus.com>
6278
6279 * setup.c (main): Remove the CYGWIN environment variable before
6280 starting any cygwin programs.
6281
6282 Mon Apr 17 19:20:52 2000 Vadim Egorov <egorovv@mailandnews.com>
6283
6284 * setup.c (geturl): Use alternative method for finding filename part of
6285 a URL.
6286 (processdirlisting): Accomodate strange output from non-MS ftp proxy.
6287 (downloaddir): Unlink file containing dir listing.
6288 (downloadfrom): Ditto.
6289
6290 Mon Apr 17 00:00:49 2000 Christopher Faylor <cgf@cygnus.com>
6291
6292 * setup.c (main): Disallow running setup.exe from the "root".
6293
6294 Sun Apr 16 18:50:58 2000 Christopher Faylor <cgf@cygnus.com>
6295
6296 Use "warning" function, where appropriate, to output warnings.
6297 * setup.c (warning): New function -- outputs warning to console and log
6298 file.
6299 (tarx): Fix index used to reset file protection.
6300 (main): Open the log file earlier so that more stuff can be sent to it.
6301
6302 Sat Apr 15 20:05:33 2000 Christopher Faylor <cgf@cygnus.com>
6303
6304 * setup.c (processdirlisting): Make "N" option a little less aggressive.
6305
6306 Fri Apr 14 11:11:29 2000 Christopher Faylor <cgf@cygnus.com>
6307
6308 * setup.c (tarx): Wait to after tar has completed to reset protections
6309 or suffer races with tar process.
6310
6311 Thu Apr 13 12:51:19 2000 Christopher Faylor <cgf@cygnus.com>
6312
6313 * Makefile.in: Eliminate duplicate -nostdinc from CFLAGS.
6314 * setup.c (create_uninstall): Create the uninstall .bat file in the
6315 "root" so that we can remove the /bin directory. Add bin\cygwin.bat to
6316 list of files to be deleted. Fix directory detection for determining
6317 when to use 'rmdir'.
6318 (do_start_menu): Add /usr/local/bin to the path.
6319 (main): Add slop to files.array allocation so that we don't have to
6320 worry about reallocating the array when it grows too large when doing
6321 some trivial "pushes". Add /tmp and /usr/local/{bin,lib} to list of
6322 files.
6323
6324 Thu Apr 13 01:59:44 2000 Christopher Faylor <cgf@cygnus.com>
6325
6326 * setup.c (processdirlisting): Fix handling of "A" for "A"lways
6327 download.
6328
6329 Thu Apr 13 01:11:45 2000 Christopher Faylor <cgf@cygnus.com>
6330
6331 * path.c (kill_cygpath): New cleanup function.
6332 (exit_cygpath): New cleanup function.
6333 (cygpath_pipe): New function. Sets up cygpath in the background for
6334 translating filenames.
6335 (pathcvt): Use background cygpath for file translation.
6336 * setup.c (tarx): New function. Called to extract tar files, capture
6337 logging output, and translate it to Windows format.
6338 (recurse_dirs): Use 'tarx' function to extract files.
6339 (create_uninstall): Use file list built up by tarx rather than reading
6340 the log file.
6341 (mkmount): Add ability to mount root.
6342 (main): Track elapsed install time. Mount root.
6343 * starry.h: Add index field to strarry for tracking of tarx's usage of
6344 this structure.
6345 * xsystem.c (xcreate_process): Return proces handle when not waiting.
6346
6347 Mon Apr 10 22:44:56 2000 Christopher Faylor <cgf@cygnus.com>
6348
6349 * path.c: New file.
6350 (pathfp): New function. Preliminary work for new -f cygpath
6351 functionality.
6352 * Makefile.in: Add new file.
6353 (pathcvt): Move to new file.
6354 (dtoupath): Ditto.
6355 (utodpath): Ditto.
6356 (pathcat): Ditto.
6357 * setup.c (processdirlisting): Always open file in text mode.
6358 (create_uninstall): Ditto.
6359 (getdownloadsource): Ditto.
6360 (main): Ditto.
6361
6362 Mon Apr 10 20:33:40 2000 Christopher Faylor <cgf@cygnus.com>
6363
6364 * xsystem.c: New file.
6365 * Makefile.in: Accomodate new file.
6366 * setup.c (xsystem): Move to new file.
6367 (recurse_dirs): Accept handle to output log file. Don't use ">"
6368 redirection to trap tar output. Use supplied handle instead.
6369 (create_uninstall): Accept FILE pointer to opened log file. Don't
6370 unlink log file here.
6371 (do_start_menu): Accept FILE pointer to pass to create_uninstall.
6372 (main): Open log file here and pass it to various functions. Unlink
6373 when done.
6374
6375 Mon Apr 10 17:15:52 2000 Christopher Faylor <cgf@cygnus.com>
6376
6377 Change occurrences of .usr.bin to .bin throughout.
6378 * setup.c (geturl): Increase number of retries to 20. Let user know
6379 what's going on during long connects.
6380 (processdirlisting): Accept "A"lways and "N"ever as update options.
6381 (create_uninstall): Load cygwin1.dll from the current directory rather
6382 than \bin.
6383 (main): Add some expository text.
6384
6385 Sun Apr 9 20:59:15 2000 Christopher Faylor <cgf@cygnus.com>
6386
6387 * Makefile.in: Change method for compressing cygwin1.dll to avoid
6388 creating a cygwin1.dll in the current directory. Ensure the addition
6389 of -nostdinc to MINGW_CFLAGS.
6390
6391 Sun Apr 9 02:15:47 2000 Christopher Faylor <cgf@cygnus.com>
6392
6393 * Makefile.in: Augment clean target.
6394
6395 Fri Apr 7 17:04:02 Ron Parker <rdparker@sourceware.cygnus.com>
6396
6397 * README: Added info about non-working mingw implementation
6398 * gzip.exe.gz: Replace with a version from the same build as the other
6399 tools.
6400 * tar.exe.gz: Replace with a version from the same build as the other
6401 tools.
6402 * mount.exe.gz: Add to repository until, mingw can build setup.
6403 * cygpath.exe.gz: ditto
6404 * cygwin1.dll.gz: ditto
6405 * setup.c: Overwrite /bin and /lib mounts. Generate working shortcut
6406 for Win9x. Display only a screenfull of options at a time. Call all
6407 tools with an absolute path.
6408 * setup.dsp: Restore the carriage returns, MS Developer Studio needs
6409 them.
6410 * setup.dsw: ditto
6411 * zlib.dsw: ditto
6412
6413 Thu Apr 6 19:15:27 2000 Christopher Faylor <cgf@cygnus.com>
6414
6415 * Makefile.in: Add "-nostdinc" to regular CFLAGS. Add target to grab
6416 cygwin1.dll from ../cygwin subdirectory.
6417 * gzip.exe.gz: Update.
6418 * tar.exe.gz: Update.
6419
6420 Wed Apr 5 10:52:08 2000 Christopher Faylor <cgf@cygnus.com>
6421
6422 * Makefile.in: Use ZLIB variable as a target.
6423
6424 Sat Apr 1 22:49:09 2000 Christopher Faylor <cgf@cygnus.com>
6425
6426 * Makefile.in: Eliminate traces of cygwinisms. Don't link with
6427 libmsvcrt.a. It's unneeded. Build .rc file on the fly from various
6428 sources.
6429 * configure.in: Locate correct objcopy.
6430 * configure: Regenerate.
6431
6432 Sat Apr 1 20:48:09 2000 Christopher Faylor <cgf@cygnus.com>
6433
6434 * Makefile.in: New file.
6435 * configure.in: New file.
6436 * configure: New file.
6437 * zlib/Makefile.am: New file.
6438 * zlib/configure.in: New file.
6439 * zlib/aclocal.m4: New file.
6440 * zlib/acinclude.m4: New file.
6441 * zlib/configure: Regenerate from configure.in.
6442 * zlib/Makefile.in: Regenerate from Makefile.am
6443
6444 %%% $Id$
6445 $Revision$
This page took 0.333972 seconds and 5 git commands to generate.