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