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