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