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