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