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