]> cygwin.com Git - cygwin-apps/setup.git/blob - ChangeLog
* Makefile.am (EXTRA_DIST): Add cygwin-setup.ico and
[cygwin-apps/setup.git] / ChangeLog
1 2013-11-13 Corinna Vinschen <corinna@vinschen.de>
2
3 * Makefile.am (EXTRA_DIST): Add cygwin-setup.ico and
4 cygwin-terminal.ico.
5
6 2013-11-07 Corinna Vinschen <corinna@vinschen.de>
7
8 * LogFile.cc (LogFile::exit): Don't print ending message after
9 successful elevation.
10 * res.rc (IDS_ELEVATED): New string.
11 * resource.h (IDS_ELEVATED): New string resource number.
12
13 2013-11-07 Shaddy Baddah <lithium-cygwin@shaddybaddah.name>
14
15 * LogFile.cc (LogFile::flushAll): New function to flush log all logging
16 to files without exiting (as LogFile::exit does).
17 * LogFile.h: Declare new method closeAll.
18 * main.cc (NoAdminOption): Add new CLI options -B/--no-admin. This
19 option allows the user to suppress privilege elevation (in tandem with
20 "asInvoker" requestedExecutionLevel changes to exe manifests).
21 (WinMain): check if setup run with Administrator privilege and if the
22 NoAdminOption has not been specified, attempt to elevate privilege to an
23 Administrator via WINAPI ShellExecuteEx().
24 * setup.exe.manifest: Add requestedExecutionLevel of asInvoker to allow
25 suppression of privilege elevation.
26 * setup64.exe.manifest: Modify requestedExecutionLevel from
27 requireAdministrator to asInvoker to allow suppression of privilege
28 elevation. Continuity of privilege elevation attempt on startup is
29 implemented by main.cc changes to WinMain().
30 * win32.cc (NTSecurity::isRunAsAdmin): New function to allow main.cc to
31 check if setup.exe has been run with privilege elevated to Administrator
32 level.
33 * win32.h: Declare new method isRunAsAdmin.
34
35 2013-10-07 Jon TURNEY <jon.turney@dronecode.org.uk>
36
37 * prereq.cc (OnUnattended): Also select missing requirements in unattended
38 mode, since it's no longer a side effect of the chooser.
39
40 2013-09-17 Christopher Faylor <me.cygwin2013@cgf.cx>
41
42 * filemanip.cc (find_tar_ext): Generalize search for .tar extension,
43 avoiding looking for specific compression types.
44
45 2013-08-12 Achim Gratz <Stromeko@Stromeko.DE>
46
47 * csu_util/MD5Sum.h (MD5Sum): Remove declaration for conversion
48 operator std::string(). Remove implementation of member
49 function str() using the conversion operator.
50 * csu_util/MD5Sum.cc (MD5Sum::str): Reuse implementation of conversion
51 operator std::String to implement member function str() with.
52
53 2013-08-09 Achim Gratz <Stromeko@Stromeko.DE>
54
55 * csu_util/MD5Sum.cc (MD5Sum::operator std::string() const):
56 Reimplement using stringstream to avoid a SEGV.
57
58 2013-07-29 Corinna Vinschen <corinna@vinschen.de>
59
60 * localdir.cc (LocalDirPage::OnNext): Accommodate architecture parameter
61 in IDS_NO_CWD string.
62 (IDS_NO_CWD): Add string argument for architecture in setup name.
63
64 2013-07-29 Corinna Vinschen <corinna@vinschen.de>
65
66 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildVersion): Align
67 warning string to target architecture.
68
69 2013-07-26 Achim Gratz <Stromeko@Stromeko.DE>
70
71 * choose.cc (UpgradeAlsoOption): Add new CLI option -g/--upgrade-also.
72 (CleanOrphansOption): Add new CLI option -o/--delete-orphans.
73 (OnInit): Implement -g/--upgrade-also, considers all installed packages
74 as candidates for upgrades (the default when no CLI package or category
75 options have been given) also when manual additions or removals are
76 requested at the same time. Implement -o/--delete-orphans, considers
77 installed packages that do not exist anymore in the package repositories
78 as candidates for deletion.
79
80 2013-07-24 Jon TURNEY <jon.turney@dronecode.org.uk>
81
82 * bootstrap.sh : Add support for x86_64-w64-mingw32 toolchain.
83
84 2013-07-25 Achim Gratz <Stromeko@Stromeko.DE>
85
86 * package_db.h (packagedb::addCommandLinePackages): Remove declaration.
87 * package_db.cc (packagedb::addCommandLinePackages): Remove.
88
89 2013-07-25 Achim Gratz <Stromeko@Stromeko.DE>
90
91 * choose.h (hasManualSelections): Declare new variable.
92 * choose.cc (ChooserPage::OnInit): Re-implement package handling
93 depending on options given on CLI using package actions instead of
94 package_meta low-level functions. When no CLI package or category
95 options have been given, upgrade installed packages. Do not check for
96 updates when packages are to be added or removed from the CLI, but this
97 behaviour can be requested with --upgrade-also. A package that is
98 requested to be removed and also added at the same time gets reinstalled
99 or upgraded (when version curr != installed). Uninstalled packages in
100 categories "Base" or "Misc" are always selected for installation;
101 installed packages in these categories are not eligible for deletion
102 and will be reinstalled or upgraded instead.
103 * package_meta.h (packagemeta::ismanuallyDeleted): Declare new method.
104 * package_meta.cc (DeletePackageOption): Add new CLI option
105 -x/--remove-packages, packages listed here are considered candidates
106 for deletion.
107 (DeleteCategoryOption): Add new CLI option -c/--remove-categories,
108 packages belonging to categories listed here are considered candidates
109 for deletion.
110 (hasManualSelections): Additional boolean to record if any manual
111 installations or deletions have been requested.
112 (packagemeta::isManuallyDeleted): Implement along the same lines as
113 isManuallyWanted, but for deletion candidates.
114
115 2013-07-25 Achim Gratz <Stromeko@Stromeko.DE>
116
117 * choose.cc (ChooserPage::createListview): Remove superflous and
118 detrimental default trust setting. This has already been set correctly
119 in OnInit.
120
121 2013-07-24 Christopher Faylor <me.cygwin2013@cgf.cx>
122
123 * configure.ac: Change setup64.exe -> setup.exe.
124
125 2013-07-23 Jon TURNEY <jon.turney@dronecode.org.uk>
126
127 * install.cc (_custom_MessageBox): Restore custom message box.
128 (installOne): If processList is empty, use the custom message box
129 to ask if we should retry or continue.
130 * res.rc (IDD_FILE_INUSE): Use IDCONTINUE for continue buttom, to be
131 the same custom message box.
132
133 2013-07-22 Corinna Vinschen <corinna@vinschen.de>
134
135 * root.cc (directory_contains_wrong_version): Check cygwin1.dll's
136 machine type. If that fails, fall back to testing of cygcheck.exe's
137 binary type. Tweak message text slightly for clearness. Add comment
138 to explain what this function does.
139
140 2013-07-22 Corinna Vinschen <corinna@vinschen.de>
141
142 * root.cc (directory_contains_wrong_version): New function to check
143 setup machine type against installation machine type.
144 (RootPage::OnNext): Call directory_contains_wrong_version and refuse to
145 continue if it returns != 0.
146
147 2013-07-22 Christopher Faylor <me.cygwin2013@cgf.cx>
148
149 * IniParseFindVisitor.cc (iniParseFindVisitor::visitFile): Relax check
150 for SETUP_INI_DIR slightly. Remove trailing SETUP_INI_DIR from mirror
151 directory or local downloaded packages will never be found.
152
153 * choose.cc (ChooserPage::OnInit): Fix some formatting.
154 * fromcwd.cc (SetupFindVisitor::visitFile): Relax check for
155 SETUP_INI_DIR slightly.
156 (ChooserPage::OnInit): Fix some formatting.
157 * ini.cc (do_local_ini): Remove name from unused parameter. Fix some
158 formatting.
159 (do_ini_thread): Fix some formatting.
160
161 * package_version.cc (dumpAndList): Temporarily (?) just return from this
162 debugging function since it SEGVs otherwise.
163
164 2013-07-12 Christopher Faylor <me.cygwin2013@cgf.cx>
165
166 * iniparse.yy: Move ARCH and RELEASE to the header processing, where
167 they belong.
168
169 2013-07-12 Christopher Faylor <me.cygwin2013@cgf.cx>
170
171 * IniDBBuilder.h (IniDBBuilder::set_arch): New function.
172 (IniDBBuilder::set_release): New function.
173 (IniDBBuilder::arch): New storage for arch:.
174 (IniDBBuilder::arch): New storage for release:.
175 * IniDBBuilderPackage.cc (IniDBBuilderPackage::autodep): Fix cut/paste
176 error which ended up calling the wrong thing.
177 * ScanFindVisitor.cc (ScanFindVisitor::visitFile): Remove old code.
178 * cygpackage.cc (cygpackage::set_autodep): Implement to satisfy setup's
179 insane class hierarchy.
180 * cygpackage.h (cygpackage::set_autodep): See above.
181 (std::string autodep_regex): Ditto.
182 * package_version.cc (packageversion::set_autodep): Ditto.
183 * package_version.h (packageversion::set_autodep): Ditto.
184 * inilex.ll: Tokenize "arch:" and "release:".
185 * iniparse.yy: Parse ARCH and RELEASE.
186
187 2013-07-03 Christopher Faylor <me.cygwin2013@cgf.cx>
188
189 * win32.h (struct acl_t): Just enforce alignment using attribute.
190
191 2013-07-03 Corinna Vinschen <corinna@vinschen.de>
192
193 * FindVisitor.cc (FindVisitor::visitDirectory): Check tracking level
194 argument to limit the search depth.
195 * FindVisitor.h (FindVisitor::visitDirectory): Add tracking level
196 argument to declaration.
197 * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Check
198 found file's basePath to end in SETUP_INI_DIR.
199 * find.cc (Find::accept): Accept additional tracking level argument
200 and submit to FindVisitor::visitDirectory.
201 * find.h (Find::accept): Add tracking level argument to declaration.
202 * fromcwd.cc (SetupFindVisitor::visitFile): Check found file's basePath
203 to end in SETUP_INI_DIR.
204 (do_fromcwd): Only search ini file two directory levels deep.
205 * ini.cc (do_local_ini): Ditto.
206 (do_remote_ini): Add SETUP_INI_DIR to current_ini_name.
207 * ini.h (SETUP_INI_DIR): New macro.
208 (SETUP_INI_FILENAME): Just define filename.
209 (SETUP_BZ2_FILENAME): Ditto.
210
211 2013-07-03 Corinna Vinschen <corinna@vinschen.de>
212
213 * win32.h (struct acl_t): Use a union.
214
215 2013-07-02 Corinna Vinschen <corinna@vinschen.de>
216
217 * win32.h (struct acl_t): Make sure struct is 4 byte aligned.
218
219 2013-07-02 Christopher Faylor <me.cygwin2013@cgf.cx>
220
221 * archive.cc (archive::extract_file): Reformat. Always return at the
222 bottom.
223
224 2013-07-02 Christopher Faylor <me.cygwin2013@cgf.cx>
225
226 * archive.cc (archive::extract_file): Fix recently introduced bug:
227 don't fall through to next case. break is your friend.
228
229 2013-06-30 Christopher Faylor <me.cygwin2013@cgf.cx>
230
231 * mount.cc (LFSTAB): Define.
232 (from_fstab): Use LFSTAB constant where appropriate. Properly size
233 path array to include \etc\fstab. Change len argument of mklongpath to
234 reflect the actual size of the destination argument.
235
236 2013-06-29 Christopher Faylor <me.cygwin2013@cgf.cx>
237
238 * archive.cc (archive::extract_file): Use named constants for return
239 values.
240 * archive.h (archive::extract_results): New enum.
241 (archive::extract_file): Use extract_results for return value.
242 * install.cc (Installer::installOne): Use archive::extract_results to
243 make decisions about archive::extract_file return.
244 * io_stream_cygfile.cc: Add a comment making return value clear.
245 * mkdir.cc: Ditto.
246
247 2013-06-26 Corinna Vinschen <corinna@vinschen.de>
248
249 * io_stream_cygfile.cc: Rearrange inclusion of headers to workaround
250 bug in older mingw-w64 system headers. Drop unneeded include files.
251 * io_stream_file.cc: Drop unneeded include files.
252
253 2013-06-26 Corinna Vinschen <corinna@vinschen.de>
254
255 Drop pre-1.7 mount point considerations.
256 * mount.cc (find2): Remove.
257 (remove1): Remove.
258 (remove_mount): Remove.
259 (create_mount): Remove.
260 (set_cygdrive_flags): Remove.
261 (get_cygdrive_flags): Remove.
262 (default_cygdrive): Remove.
263 (in_table): Remove.
264 (is_admin): Fix comment.
265 (read_mounts_9x): Remove.
266 (read_mounts): Drop call to read_mounts_9x.
267 * mount.h (create_mount): Remove declaration.
268 (set_cygdrive_flags): Ditto.
269 * script.cc (run): Fix comment.
270
271 2013-06-25 Corinna Vinschen <corinna@vinschen.de>
272
273 * Makefile.am (AM_CXXFLAGS): Add source file specific CXXFLAGS.
274 (inilex_CXXFLAGS): Add -Wno-sign-compare to workaround failing build
275 on Fedora 18 due to bison creating sign comparison mismatches in
276 generic yylex wrapper code.
277
278 2013-06-22 Christopher Faylor <me.cygwin2013@cgf.cx>
279
280 * ini.h (SETUP_BZ2_FILENAME): Reflect new architecture layout in ftp.
281 (SETUP_INI_FILENAME): Ditto.
282 * main.cc (Arch): New option. Include StringOption.h for this.
283 (WinMain): Change is_64bit calculation to allow overriding from
284 command-line. Issue error if bad value provided.
285 * res.rc: Move some text closer together.
286 * splash.cc: Include ini.h. Add architecture to opening screen.
287
288 * UserSettings.cc (UserSettings::get): Don't try to open a filename
289 with the name of the key. That's old behavior.
290
291 2013-06-20 Christopher Faylor <me.cygwin2013@cgf.cx>
292
293 * res.rc: Update copyright.
294
295 2013-04-05 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
296
297 * Makefile.am (EXTRA_DIST): Add setup64.exe.manifest.
298 (res.o): Depend on arch-specific manifest file.
299 * res.rc (CREATEPROCESS_MANIFEST_RESOURCE_ID): Add separate
300 definition for x86-64.
301 * setup.exe.manifest: Throughout, set processorArchitecture to x86.
302 Remove trustInfo section.
303 * setup64.exe.manifest: New file.
304
305 2013-03-22 Corinna Vinschen <corinna@vinschen.de>
306
307 * desktop.cc (do_desktop_setup): Install "Cygwin64 Terminal" link on
308 64 bit.
309 (DesktopSetupPage::OnActivate): Check for "Cygwin64 Terminal" link on
310 64 bit.
311 * main.cc (main_display): Avoid compiler warning on 64 bit.
312 * mount.cc (from_fstab): Take 2nd parameter as const by reference to
313 avoid potential crash due to scope issue.
314
315 2013-03-14 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
316
317 * configure.ac: Remove check for libmingw32.
318 (SETUP): Define EXE name based on host_cpu.
319 (MINGWTARGET): Remove.
320 * Makefile.am: Use SETUP throughout. Remove MINGWTARGET conditional.
321 Add -lmingw32 to LDFLAGS.
322 * ini.h (is_64bit): Declare.
323 (SETUP_INI_FILENAME): Make dependent on value of is_64bit.
324 (SETUP_BZ2_FILENAME): Ditto.
325 * main.cc (is_64bit): Define based on compiler target.
326 * mount.h (SETUP_KEY_WOW64): Define based on value of is_64bit.
327 * install.cc (create_allow_protected_renames): Add SETUP_KEY_WOW64
328 flag to RegOpenKeyEx call.
329 * mount.cc: Throughout, add SETUP_KEY_WOW64 flag to all RegOpenKeyEx
330 and RegCreateKeyEx calls.
331 (read_mounts): Change default Cygwin root depending on is_64bit.
332
333 2013-03-05 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
334
335 Throughout, drop support for Cygwin 1.5 and Windows pre-2000.
336
337 2013-03-04 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
338
339 * install.cc (FileInuseDlgProc): Fix return type.
340 * regex/regcomp.c (parse_dup_op): Fix invalid cast warning.
341 (create_token_tree): Ditto.
342 * setup.exe.manifest: Set processorArchitecture to "*".
343 Add explicit requestedExecutionLevel for 64-bit compatibility.
344
345 2013-03-04 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
346
347 * Makefile.am (inilint_extras): Remove autoload.c.
348 (setup_SOURCES): Ditto.
349 (setup_LDADD): Add ntdll and wininet.
350 (autoload.o): Remove rule.
351 * autoload.c: Remove file.
352
353 2013-03-03 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
354
355 * Makefile.am (res.o): Add rule to force rebuild upon change
356 to setup.exe.manifest, which is included by res.rc.
357
358 2013-02-17 Christopher Faylor <me.cygwin2013@cgf.cx>
359
360 * configure.ac: Rename from configure.in.
361 * configure.in: Delete.
362 * libgetopt++/configure.ac: Rename from configure.in.
363 * libgetopt++/configure.in: Delete.
364 * Makefile.am: Remove ill-advised iniparse.hh change.
365 * libgetopt++/Makefile.am: Use "modern" AM_CPPFLAGS rather than INCLUDES.
366 * inilex.ll: Add autodep token recognition.
367 * iniparse.yy: Handle autodep.
368 * IniDBBuilder.h (autodep): Define for base class.
369 * IniDBBuilderPackage.cc (IniDBBuilderPackage::autodep): Define.
370 * IniDBBuilderPackage.h (IniDBBuilderPackage::autodep): Declare.
371
372 2013-02-17 Christopher Faylor <me.cygwin2013@cgf.cx>
373
374 * Makefile.am: Add regex.c to list of sources.
375 (iniparse.hh): Rename if a iniparse.h has been created.
376 * regex/config.h: New file.
377 * regex/re_comp.h: New file.
378 * regex/regcomp.c: New file.
379 * regex/regex.c: New file.
380 * regex/regex.h: New file.
381 * regex/regex_internal.c: New file.
382 * regex/regex_internal.h: New file.
383 * regex/regexec.c: New file.
384 * processlist.cc (Process::isModuleLoadedInProcess): Avoid compiler
385 warning by changing 'i' to unsigned.
386
387 2013-01-25 Achim Gratz <Stromeko@nexgo.de>
388 * README (HOW TO BUILD): Cross compiler package is now named
389 mingw-gcc-g++, also mention package upx as an optional dependency.
390
391 2013-02-01 Jon TURNEY <jon.turney@dronecode.org.uk>
392
393 * install.cc ( _custom_MessageBox): Remove custom message box.
394 (FileInuseDlgProc): Add file-in-use dialog box.
395 (installOne): Use processlist to list processes using a file, and
396 offer to kill them with the file-in-use dialog.
397 * res.rc (IDD_FILE_INUSE) : New dialog.
398 * resource.h (IDD_FILE_INUSE, IDC_FILE_INUSE_EDIT)
399 (IDC_FILE_INUSE_MSG, IDC_FILE_INUSE_HELP): Define corresponding
400 resource ID numbers.
401 * processlist.h: New file.
402 * processlist.cc: New file.
403 * Makefile.am (setup_LDADD): Add -lpsapi.
404 (setup_SOURCES): Add new files.
405
406 2013-02-01 Jon TURNEY <jon.turney@dronecode.org.uk>
407
408 * script.cc (::run, Script::run): Move the formatting of the command
409 line used for postinstall script running out to Script::run. Move the
410 logging of the command and it's output into ::run.
411 * script.h: Add ::run() prototype.
412
413 2013-01-17 Jon TURNEY <jon.turney@dronecode.org.uk>
414
415 * configure.in: Require automake 1.12.
416 * Makefile.am (BUILT_SOURCES): Update iniparse.h to iniparse.hh.
417 * iniparse.yy: Ditto.
418 * inilex.ll: Ditto.
419
420 2013-01-16 Jon TURNEY <jon.turney@dronecode.org.uk>
421
422 * threebar.cc (ThreeBarProgressPage::SetBar2): Change from long int to
423 long long int to handle more than 2GB of data.
424 * threebar.h (ThreeBarProgressPage::SetBar2): Update prototype.
425 * install.cc: Change md5sum and install counters to long long int.
426 * geturl.cc: Change download counter to long long int.
427 * geturl.h: Ditto.
428
429 2012-11-08 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
430
431 * Makefile.am (EXTRA_DIST): Remove libmd5-rfc files.
432 (setup_SOURCES): Ditto.
433 * download.cc: Remove unused include.
434 * csu_util/MD5Sum.cc: Port from libmd5-rfc to libgcrypt.
435 * csu_util/MD5Sum.h: Ditto.
436 * libmd5-rfc/*: Remove.
437
438 2012-10-19 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
439
440 * bootstrap.sh: Add support for i686-w64-mingw32 toolchain.
441 Remove support for gcc-3 -mno-cygwin.
442
443 2012-09-12 Christopher Faylor <me.cygwin2012@cgf.cx>
444
445 * README: Modernize.
446 * bootstrap.sh: Remove outdated options from configure. Use mingw
447 compiler.
448 * configure.in: Remove AM_MAINTAINER_MODE.
449
450 2012-09-04 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
451
452 Fix build with mingw-w64 headers.
453 * autoload.c: Define DECLSPEC_IMPORT for mingw-w64 headers.
454 * filemanip.h: Include <sys/types.h> to fix missing mode_t typedef
455 error with mingw-w64 headers.
456 * gpg-packet.cc: Include "win32.h" to avoid macro redefinition
457 errors with mingw-w64 headers.
458 (ARRAYSIZE): Do not redefine.
459 * main.cc (_argv): Declare if using mingw-w64 headers.
460 (WinMain): Move up _argv definition to before it is first used.
461 * ntdll.h: Include PSDK headers with mingw-w64 instead of DDK.
462 * package_message.h: Include "win32.h" instead of <windows.h>.
463 * propsheet.cc (PROPSHEETHEADER_V1_SIZE): Do not redefine.
464 * win32.h: Include <sys/types.h> to fix missing mode_t typedef
465 error with mingw-w64 headers.
466 Define DECLSPEC_IMPORT for mingw-w64 headers.
467
468 2012-08-30 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
469
470 First step towards X86-64 compatibility.
471 * archive_tar.cc (archive_tar::next_file_name): Fix sscanf formats
472 for 64-bit size_t.
473 * choose.cc (ChooserPage::OnMouseWheel): Fix return type.
474 * choose.h (ChooserPage::OnMouseWheel): Ditto.
475 * filemanip.cc (nt_wfopen): Fix argument cast for _open_osfhandle.
476 * netio.cc (auth_proc): Fix return type.
477 * proppage.cc (PropertyPage::FirstDialogProcReflector): Fix return type.
478 Use SetWindowLongPtr and DWLP_* instead of SetWindowLong and DWL_*.
479 (PropertyPage::DialogProcReflector): Ditto.
480 (PropertyPage::DialogProc): Ditto.
481 (PropertyPage::OnMouseWheel): Ditto.
482 * proppage.h (PropertyPage::FirstDialogProcReflector): Fix return type.
483 (PropertyPage::DialogProcReflector): Ditto.
484 (PropertyPage::DialogProc): Ditto.
485 (PropertyPage::OnMouseWheel): Ditto.
486 * site.cc (drop_proc): Fix return type.
487 * window.cc (Window::FirstWindowProcReflector): Use GWLP_* with
488 SetWindowLongPtr calls.
489 (Window::WindowProcReflector): Ditto.
490
491 2012-08-30 Jacek Caban <jacek@codeweavers.com>
492 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
493
494 * main.cc: Remove CINTERFACE define.
495 (main_display): Use C++ syntax for COM.
496 * mklink2.cc: Remove CINTERFACE define.
497 (make_link_2): Use C++ syntax for COM.
498
499 2012-08-21 Christopher Faylor <me.cygwin2012@cgf.cx>
500
501 * setup.exe.manifest: Reorder "supportedOS" entries and add entry for
502 Windows 8.
503
504 2012-06-03 Christopher Faylor <me.cygwin2012@cgf.cx>
505
506 * main.cc: Remove __CYGWIN__ ifdefs.
507 (main): Ditto.
508
509 2012-06-01 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
510
511 * Makefile.am (setup_version.c): Respect silent rules.
512 (.rc.o): Ditto.
513 * configure.in: Enable silent rules with automake-1.11.
514
515 2012-04-29 Christopher Faylor <me.cygwin2012@cgf.cx>
516
517 * window.cc: Remove trailing whitespace.
518
519 2012-04-28 Christopher Faylor <me.cygwin2012@cgf.cx>
520
521 * io_stream_file.cc (io_stream_file::exists): Properly treat return
522 from GetFileAttributesW as a bit field so that a directory will not be
523 seen as "existing".
524
525 2012-04-26 Corinna Vinschen <corinna@vinschen.de>
526
527 * script.cc (run): Add quotes around file to allow spaces in path.
528 (Script::run): Add aforementioned quotes to log output as well.
529
530 2012-03-08 Corinna Vinschen <corinna@vinschen.de>
531
532 * win32.h (FACTOR): Define, use correct value.
533 (NSPERSEC): Ditto.
534 * archive_tar.cc: Drop FACTOR and NSPERSEC definitions here.
535 * io_stream_cygfile.cc: Ditto.
536 * io_stream_file.cc: Ditto.
537
538 2012-02-29 Corinna Vinschen <corinna@vinschen.de>
539
540 * win32.cc (NTSecurity::GetPosixPerms): Don't allow write permissions
541 in inheritable default permission ACEs for group and other if the
542 directory is an S_ISVTX dir.
543
544 2012-02-24 Christopher Faylor <me.cygwin2012@cgf.cx>
545
546 * bootstrap.sh: Don't assume that libgetopt++ exists in source directory.
547 * configure.in: Remove some old options.
548 * Makefile.am: Ditto.
549 * libgetopt++/Makefile.am: Ditto.
550 * libgetopt++/configure.in: Ditto.
551
552 2012-02-24 Corinna Vinschen <corinna@vinschen.de>
553
554 * main.cc (WinMain): Move call to nt_sec.setDefaultSecurity here so
555 it's called earlier in the process. This avoids spurious error
556 messages in --help output.
557
558 2012-02-23 Jon TURNEY <jon.turney@dronecode.org.uk>
559
560 * main.cc (main_display): Move --help output from here ...
561 (WinMain): ... to here, so we don't logging of the current directory
562 and any errors from constructing a UserSettings object preceding the
563 --help output.
564
565 2011-05-30 SZAVAI Gyula <szgyg@ludens.elte.hu>
566
567 * site.cc (SiteSetting::SiteSetting): Handle multiple
568 --site options.
569 * crypto.cc (verify_ini_file_sig): Handle multiple
570 --pubkey and --sexpr-pubkey options.
571 * package_meta.cc (packagemeta::isManuallyWanted): Handle
572 multiple --packages and --categories options.
573
574 2012-02-22 Christopher Faylor <me.cygwin2012@cgf.cx>
575
576 * res.rc: Change copyright notice to -2012.
577
578 2012-02-19 Corinna Vinschen <corinna@vinschen.de>
579
580 * PickView.cc (PickView::list_click): Mark variable refresh as unused
581 to avoid compiler warning.
582 * nio-ftp.cc (NetIO_FTP::ok): Remove variable code to avoid compiler
583 warning.
584 * proppage.cc (PropertyPage::DialogProc): Ditto for retval.
585
586 * setup.exe.manifest: Add supportedOS entries to avoid annoying
587 "This program might not have installed correctly" PCA message on
588 Windows 7.
589
590 2011-12-22 Christopher Faylor <me.cygwin2011@cgf.cx>
591
592 * compress.cc: Explicitly include needed header.
593 * compress_bz.cc: Ditto.
594 * mkdir.h: Ditto.
595 * io_stream_cygfile.cc: Eliminate obsolete attempt to build as
596 non-mingw.
597 * io_stream_file.cc: Ditto throughout.
598 * mkdir.cc: Ditto.
599
600 2011-12-21 Jon TURNEY <jon.turney@dronecode.org.uk>
601
602 * choose.cc (OnInit): Properly mark packages which were selected on
603 command line in unattended mode for download and installation.
604
605 2011-09-08 Christopher Faylor <me.cygwin2011@cgf.cx>
606
607 * io_stream.h: Just call sys/types.h here rather than using our own
608 version of ssize_t.
609
610 2011-09-01 Corinna Vinschen <corinna@vinschen.de>
611
612 * CONTRIBUTORS: Add Warren Young.
613
614 2011-08-16 Corinna Vinschen <corinna@vinschen.de>
615 Warren Young <warren@etr-usa.com>
616
617 * cygwin-setup.ico: Slightly modified.
618 * cygwin-terminal.ico: Ditto.
619
620 2011-08-15 Corinna Vinschen <corinna@vinschen.de>
621 Warren Young <warren@etr-usa.com>
622
623 * cygwin.ico: New, smoother 152x152 icon.
624
625 2011-08-13 Jon TURNEY <jon.turney@dronecode.org.uk>
626
627 * choose.cc (OnInit, createListview): Build the initial list of packages
628 to install in OnInit() not in CreateListView(). If packages were
629 selected on command line in unattended mode, just install those
630 packages.
631 * package_db.h (packagedb): Add addCommandLinePackages() method.
632 * package_db.cc (addCommandLinePackages): Add separate method to add
633 these so we can indicate if packages were added on the command line.
634
635 2011-08-13 Jon TURNEY <jon.turney@dronecode.org.uk>
636
637 * PickView.cc (defaultTrust): Move implementation which deals with
638 package db from here...
639 * package_db.cc (defaultTrust): ... to here.
640 * package_db.h (packagedb): ... a new member function.
641
642 2011-08-12 Corinna Vinschen <corinna@vinschen.de>
643
644 * res.rc: Move spash icon slightly. Fix copyright.
645
646 2011-08-12 Corinna Vinschen <corinna@vinschen.de>
647 Warren Young <warren@etr-usa.com>
648
649 * cygwin-setup.ico: New file.
650 * cygwin-terminal.ico: New file.
651 * cygwin.ico: New icons.
652 * desktop.cc (make_link): Take additional argument to take arguments
653 for shortcut. Append arg to argbuf.
654 (start_menu): Take additional argument to take argments for shortcut.
655 Add to call to make_link.
656 (desktop_icon): Ditto.
657 (save_icon): Take path and name of resource as arguments. Replace
658 Cygwin icon if it's the old one.
659 (do_desktop_setup): Save Cygwin standalone and Cygwin terminal icons.
660 Rename desktop and start menu shortcut name to "Cygwin Terminal", use
661 the cygwin terminal icon for them, and point them to mintty.
662 * res.rc: Change splash icon to keep size of original icon.
663 (IDI_CYGWIN_SETUP): New entry.
664 (IDI_CYGWIN_TERMINAL): New entry.
665 (CYGWIN-SETUP.ICON): New entry.
666 (CYGWIN-TERMINAL.ICON): New entry.
667 * resource.h (IDI_CYGWIN_SETUP): Define.
668 (IDI_CYGWIN_TERMINAL): Define.
669
670 2011-07-25 Jon TURNEY <jon.turney@dronecode.org.uk>
671
672 * install.cc (do_install_thread): Only set progress bar output if at least
673 one package gets installed, to avoid a cosmetic issue.
674
675 2011-07-25 Corinna Vinschen <corinna@vinschen.de>
676
677 * desktop.cc (make_link): Create shortcuts to command.com only on 9x.
678
679 2011-07-20 Andy Koppe <andy.koppe@gmail.com>
680
681 * res.rc: Remove Prev button from chooser page.
682 * resource.h: Reflect removal of Prev button.
683 * package_meta.h (trustp): Ditto.
684 * choose.cc: Ditto.
685
686 2011-04-24 Jon TURNEY <jon.turney@dronecode.org.uk>
687
688 * download.cc (do_download_thread): Update progress display
689 when download phase starts
690
691 2011-04-24 Jon TURNEY <jon.turney@dronecode.org.uk>
692
693 * install.cc (do_install_thread): Report overall progress while
694 md5summing packages.
695
696 2011-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
697
698 * archive_tar_file.cc (read): Handle short reads
699
700 2011-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
701
702 * compress_bz.h (compress): Remove unused bufN member.
703 * compress_bz.cc (read): Handle bzip2 files containing multiple
704 streams
705
706 2011-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
707
708 * install.cc (extract_replace_on_reboot): New function containg code
709 extracted from...
710 (installOne): Report read errors differently to write errors
711 * archive.cc (extract_file): Distinguish read errors from write errors
712
713 2011-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
714
715 * io_stream.cc (copy): Propagate errors.
716
717 2011-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
718
719 * compress_bz.cc (read, peek): Consistently return -1 and set lasterr
720 on an error.
721 * compress_gz.cc (read, write, peek): Ditto.
722
723 2011-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
724
725 * archive_tar_file.cc (read, write, peek, seek): Consistently return -1
726 and set lasterr on an error.
727
728 2011-01-02 Jon TURNEY <jon.turney@dronecode.org.uk>
729
730 * crypto.c (ExtraKeyOption): Correct option description.
731
732 2010-12-16 Jon TURNEY <jon.turney@dronecode.org.uk>
733
734 * prereq.cc (OnNext, whatNext, OnUnattended): Fix PrereqPage::OnUnattended()
735 so PrereqPage behaves correctly in unattended modes.
736 * prereq.h (PrereqPage): Ditto
737 * proppage.cc (DialogProc): Update comment to clarify meaning of
738 OnUnattended() returning 0.
739
740 2010-11-26 Jon TURNEY <jon.turney@dronecode.org.uk>
741
742 * site.cc (init): Canonicalize mirror URLs to ensure the end
743 with a '/'.
744
745 2010-11-19 Jon TURNEY <jon.turney@dronecode.org.uk>
746
747 * IniDBBuilderPackage.cc (IniDBBuilderPackage): Remove db.packages vector
748 sorting.
749 (buildPackage, buildPackageSource): Change package collection from vector
750 to map.
751 * PickView.cc (setViewMode, init_headers, defaultTrust): Ditto.
752 * choose.cc (createListview, logResults, keepClicked)
753 (changeTrust): Ditto
754 * install.cc (do_install_thread): Ditto
755 * download.cc (do_download_thread): Ditto
756 * prereq.cc (isMet): Ditto
757 * package_meta.cc (ScanDownloadedFiles): Ditto
758 * package_db.h (packagedb): Ditto
759 * package_db.cc (packagedb, flush, markUnVisited, setExistence)
760 (fillMissingCategory): Ditto
761 (findBinary, findSource): Rewrite to locate packages in map rather than
762 searching the whole vector, for performance.
763 (ConnectedLoopFinder, doIt, visit): Rewrite to refer to package using a
764 packagemeta *, as an index into the vector of packages can no longer be
765 used.
766
767 2010-11-25 Corinna Vinschen <corinna@vinschen.de>
768
769 * package_db.cc (ConnectedLoopFinder::doIt): Drop hardcoded base-cygwin
770 dependency setting. Fix comment.
771
772 2010-11-23 Corinna Vinschen <corinna@vinschen.de>
773
774 * package_db.cc (ConnectedLoopFinder::doIt): Drop hardcoded base-passwd
775 dependency setting. Fix condition for base-cygwin string check.
776
777 2010-11-06 Jon TURNEY <jon.turney@dronecode.org.uk>
778
779 * package_meta.h (packagemeta): Remove unused member variables for
780 storing timestamp of the setup.ini that package version came from.
781 * package_meta.cc (packagemeta): Ditto.
782
783 2010-11-06 Jon TURNEY <jon.turney@dronecode.org.uk>
784
785 * package_version.h (packageversion): Add compareVersion() utility
786 function.
787 * package_version.cc (Vendor_version, Package_version)
788 (compareVersions): Implement the Vendor_version() and Package_version()
789 accessor functions. Add compareVersions() utility function.
790 * cygpackage.cc (setCanonicalVersion): Fix to extract vendor version
791 correctly.
792 * IniDBBuilderPackage.cc (add_correct_version): When multiple setup.ini's
793 offer different packages for the same stability level, use the package with
794 the highest version number rather than the package coming from the setup.ini
795 with the latest timestamp.
796
797 2010-11-19 Jon TURNEY <jon.turney@dronecode.org.uk>
798
799 * choose.cc (OnNext): Remove PrereqChecker call, instead use new
800 WM_APP_PREREQ_CHECK state of Progress dialog.
801 * threebar.h (WM_APP_PREREQ_CHECK)
802 (WM_APP_PREREQ_CHECK_THREAD_COMPLETE): Add new messages.
803 * threebar.cc (OnActivate, OnMessageApp): Use single bar mode for
804 WM_APP_PREREQ_CHECK state. Handle new messages.
805 * dialog.h (do_prereq_check_thread): Add prototype.
806 * prereq.cc (isMet, do_prereq_check_thread)
807 (do_prereq_check_reflector, do_prereq_check): Add progress reporting
808 during isMet, and thread containing moved PrereqChecker code.
809
810 2010-11-17 Jon TURNEY <jon.turney@dronecode.org.uk>
811
812 * package_meta.cc (set_action): Always set the binary tick box
813 when selecting a specific version (if binary is available)
814
815 2010-11-17 Jon TURNEY <jon.turney@dronecode.org.uk>
816
817 * postinstall.cc (do_postinstall_thread): Refer to "Unknown package"
818 rather than "No package"
819
820 2010-11-19 Christopher Faylor <me+cygwin@cgf.cx>
821
822 Throughout, change all occurrences of "PostMessage" to PostMessageNow.
823 This works around problem where w32api uses a #define which calls the
824 Windows API version of PostMessage directly, confusing g++ 3.4.4.
825
826 2010-11-07 Jon TURNEY <jon.turney@dronecode.org.uk>
827
828 * propsheet.cc (PropSheetProc): Set the big icon for the propsheet
829 window
830
831 2010-11-07 Jon TURNEY <jon.turney@dronecode.org.uk>
832
833 * ini.cc (GuiParseFeedback::progress, GuiParseFeedback::iniName):
834 Update all the text in the progress dialog whilst parsing .ini file,
835 not just the top line.
836
837 2010-11-07 Jon TURNEY <jon.turney@dronecode.org.uk>
838
839 * choose.cc (OnBack): Move PlaceDialog(false) so window is resized in
840 'Install from Local Directory' mode as well.
841
842 2010-11-06 Jon TURNEY <jon.turney@dronecode.org.uk>
843
844 * res.rc (IDD_NET): Make text referring to IE5 more general
845
846 2010-11-04 Jon TURNEY <jon.turney@dronecode.org.uk>
847
848 * compress_bz.h (compress): Add endReached flag.
849 * compress_bz.cc (read, compress_bz): Use endReached flag to return 0
850 for a read when EOF has been reached, after BZ2_bzDecompress returns
851 BZ_STREAM_END, rather than continue to try to call BZ2_bzDecompress
852 beyond the end of the compressed data, generating a BZ_SEQUENCE_ERROR.
853 * ini.cc (do_remote_ini): Now that bz2_stream doesn't always have a
854 spurious error, detect and report if an error occurred decompressing.
855
856 2010-09-13 Václav Haisman <v.haisman@sh.cvut.cz>
857
858 * propsheet.cc (PropSheet::SetActivePage): Remove :: from call to
859 PropSheet_SetCurSel.
860 (PropSheet::SetActivePageByID): Remove :: from call to
861 PropSheet_SetCurSelByID.
862 (PropSheet::SetButtons): Remove :: from call to PropSheet_SetWizButtons.
863 (PropSheet::PressButton): Remove :: from call to PropSheet_PressButton.
864
865 2010-09-07 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
866
867 * postinstall.cc: Add #include <algorithm> to fix build with gcc-4.x.
868
869 2010-08-29 Jon TURNEY <jon.turney@dronecode.org.uk>
870
871 * postinstall.cc (do_postinstall_thread): Don't run postinstall
872 scripts belonging to a just installed package twice.
873 * script.h (Script): Add operator ==
874
875 2010-08-25 Andy Koppe <andy.koppe@gmail.com>
876
877 * script.cc (init_run_script): Set CYGWINFORALL="-A" for
878 postinstall/preremove scripts when installing for all users.
879
880 2010-08-19 Andy Koppe <andy.koppe@gmail.com>
881
882 * package_meta.h (packagemeta::trustp): Update non-experimental
883 packages too when Exp is selected.
884
885 2010-08-18 Andy Koppe <andy.koppe@gmail.com>
886
887 * res.rc (IDD_PREREQ): Say "Resolving Dependencies" instead of
888 "Unmet Dependencies found"
889 * prereq.cc (PrereqPage::OnNext): Tone down message box about
890 missing dependencies.
891
892 2010-08-15 Andy Koppe <andy.koppe@gmail.com>
893
894 * postinstall.cc (PostInstallResultsPage::OnNext):
895 Remove postinstall script error message box.
896 * res.rc (IDS_POSTINSTALL): Try to make postinstall errors
897 less scary.
898
899 2010-08-11 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
900
901 * bootstrap.sh: Allow running from a builddir. Run configure
902 unless NOCONFIGURE is defined.
903 * doconfigure: Remove.
904 * Makefile.am (EXTRA_DIST): Remove doconfigure.
905 * README: Document that bootstrap.sh runs configure.
906 Remove reference to doconfigure.
907
908 2010-08-10 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
909
910 * configure.in: Check for prerequisites' headers.
911 * Makefile.am: Remove libinilex.a library, instead...
912 (inilint_SOURCES): Add inilex.ll. (setup_SOURCES): Ditto.
913 * inilex.ll: Use option nounput to avoid "defined but not used"
914 warning from yyunput().
915
916 2010-08-10 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
917
918 Fix compatibility with GCC 4.x.
919 * Makefile.am (setup_LDFLAGS): Pass -static to compiler instead of
920 linker so that libgcc is statically linked as well.
921 (autoload.o): Disable optimization.
922 * localdir.cc (browse_cb): Fix "jump to case label crosses
923 initialization" error.
924 * mklink2.cc (sfli): Fix "non-local variable uses anonymous type"
925 warning.
926 * ntdll.h: Fix "redeclared without dllimport attribute: previous
927 dllimport ignored" warnings.
928 * package_message.h (display): Fix "'exit' was not declared in this
929 scope" error.
930
931 2010-08-10 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
932
933 * Makefile.am: Treat libgetopt++ as full-fledged SUBDIRS.
934 (setup_LDADD): Always link against included libgetopt++.
935
936 2010-08-08 Corinna Vinschen <corinna@vinschen.de>
937
938 * prereq.cc (PrereqChecker::getUnmetString): Improve dependency list
939 output.
940
941 2010-08-07 Andy Koppe <andy.koppe@gmail.com>
942
943 * prereq.cc (PrereqChecker::isMet): Find unmet indirect
944 dependencies too.
945
946 2010-08-06 Andy Koppe <andy.koppe@gmail.com>
947
948 * res.rc (IDS_VIEWBUTTON_TOOLTIP): Rename "Partial" view
949 to "Pending" (again).
950
951 2010-08-05 Andy Koppe <andy.koppe@gmail.com>
952
953 * res.rc (IDD_PREREQ DIALOG): Tweak wording on dependency page.
954
955 2010-07-31 Dave Korn <dave.korn.cygwin@gmail.com>
956
957 * install.cc (Installer::installOne): Also record zero-sized
958 tarballs as successfully installed.
959
960 2010-07-30 Jon TURNEY <jon.turney@dronecode.org.uk>
961
962 * postinstall.cc (do_postinstall_reflector): Fix typo.
963
964 2010-07-30 Christopher Faylor <me+cygwin@cgf.cx>
965
966 * inilex.ll: Allow "~" in a string.
967
968 2010-07-29 Jon TURNEY <jon.turney@dronecode.org.uk>
969
970 * resource.h (IDD_POSTINSTALL, IDC_POSTINSTALL_EDIT): Add resource
971 identifiers for postinstall results page.
972 * res.rc (IDD_POSTINSTALL): Add dialog resource for postinstall results
973 page.
974 * postinstallresults.h: New file.
975 * postinstallresults.cc: New file.
976 * main.cc (main_display): Add a PostInstallResultsPage to the wizard.
977 * Makefile.am (setup_SOURCES): Add new files.
978 * threebar.cc (OnMessageApp): Allow WM_APP_POSTINSTALL_THREAD_COMPLETE
979 to select the next page shown.
980 * postinstall.cc (do_postinstall_thread)
981 (do_postinstall_reflector): Collect results of running scripts and
982 compose a reporting message which we pass to the postinstall results
983 page. Select postinstall results page next if there are results to
984 show, otherwise desktop setup page as before.
985 * script.cc (run): Don't rename as .done scripts which didn't run
986 successfully.
987
988 2010-07-26 Andy Koppe <andy.koppe@gmail.com>
989
990 * PickView.cc (PickView::views::caption): Rename "Partial" view
991 to "Pending".
992 * res.rc (IDS_VIEWBUTTON_TOOLTIP): Ditto.
993
994 2010-07-22 Andy Koppe <andy.koppe@gmail.com>
995
996 * PickPackageLine.cc (PickPackageLine::{click,set_action}):
997 Don't trigger automatic package selection when clicking on
998 packages or categories on chooser screen.
999 * PickCategoryLine.cc (PickCategoryLine::click): No more need to
1000 prepare for automatic package selection with markUnVisited().
1001 * res.rc: Drop "Warning!" from caption of Resolve Dependencies
1002 screen.
1003
1004 2010-04-17 Dave Korn <dave.korn.cygwin@gmail.com>
1005
1006 * root.cc (RootPage::OnNext): Don't construct a packagedb here nor
1007 do deferred initialisation of static packagedb::task.
1008 * source.cc (save_dialog): Don't construct a packagedb here, and
1009 set static packagedb::task directly instead of chosen_db_task.
1010 * package_meta.cc (packagemeta::action_caption): Don't bother to
1011 construct a packagedb here, just access packagedb::task directly.
1012 * package_db.cc: Move 'static members' comment near static members.
1013 (chosen_db_task): Delete.
1014 * package_db.h (chosen_db_task): Don't declare extern.
1015 (packagedb): Extend comments on class.
1016
1017 2010-04-14 Dave Korn <dave.korn.cygwin@gmail.com>
1018
1019 * PickView.cc (PickView::WindowProc): Delete inadvertently-committed
1020 debug logging.
1021
1022 2010-04-13 Dave Korn <dave.korn.cygwin@gmail.com>
1023
1024 * PickView.h (PickView::set_vscroll_info): Add prototype.
1025 (PickView::hasClientRect): Rename from this ...
1026 (PickView::hasWindowRect): ... to this ...
1027 (PickView::lastClientRect): ... and from this ...
1028 (PickView::lastWindowRect): ... to this.
1029 * PickView.cc (PickView::PickView): Adjust member init to match.
1030 (PickView::set_vscroll_info): Abstract code to set vertical scroll
1031 bar proportions from ...
1032 (PickView::list_click): ... here. Call it. Fix comment typo.
1033 (PickView::WindowProc): Update all renamed variables in WM_SIZE
1034 case, and check also for a y delta, calling set_vscroll_info if so.
1035
1036 2010-04-13 Dave Korn <dave.korn.cygwin@gmail.com>
1037
1038 * window.cc (Window::Window): Initialise BusyCount and BusyCursor.
1039 (Window::SetBusy): Set hourglass cursor, counting nested activations.
1040 (Window::ClearBusy): Cancel one call to SetBusy and restore original
1041 cursor if no longer busy.
1042 * window.h (Window::BusyCount): New data member.
1043 (Window::OldCursor): Likewise.
1044 (Window::BusyCursor): Likewise.
1045 (Window::SetBusy): Prototype.
1046 (Window::ClearBusy): Likewise.
1047 * choose.cc (ChooserPage::createListview): Invoke busy cursor
1048 around long-running operation.
1049 (ChooserPage::OnInit): Likewise.
1050 (ChooserPage::changeTrust): Likewise.
1051 * PickCategoryLine.cc (PickCategoryLine::set_action): Likewise.
1052
1053 2010-04-08 Christopher Faylor <me+cygwin@cgf.cx>
1054
1055 * bootstrap.sh: Always reconfigure in libgetopt++.
1056
1057 * Makefile.am: Remove old code for direct copying to sourceware. Add
1058 -src to source tarball.
1059
1060 2010-04-07 Matthias Andree <matthias.andree@gmx.de>
1061
1062 * README (HOW TO BUILD): Mention mingw-lib{gcrypt,lzma}-devel.
1063
1064 * res.rc (IDD_DESKTOP): Move Installation Status line,
1065 IDC_STATUS_HEADER and IDC_STATUS up 20 units, make IDC_STATUS text
1066 20 units taller and 40 units wider so that IDS_REBOOT_REQUIRED
1067 message fits the screen.
1068 * res.rc (IDD_SPLASH): Bump copyright years in IDC_SLASH_COPYR to
1069 "2000-2010".
1070
1071 2010-04-07 Corinna Vinschen <corinna@vinschen.de>
1072
1073 * install.cc (create_allow_protected_renames): New function to
1074 create AllowProtectedRenames registry entry.
1075 (Installer::installOne): Call create_allow_protected_renames if former
1076 call to MoveFileEx was successful.
1077
1078 2010-03-18 Charles Wilson <cygwin@cwilson.fastmail.fm>
1079
1080 Use external crypto libraries
1081 * Makefile.am: Remove local libgcrypt and libgpg-error
1082 source directories from AM_CPPFLAGS.
1083 * configure.ac: Remove libgcrypt and libgpg-error subdirs
1084 from AC_CONFIG_SUBDIRS. Remove now-unnecessary cruft.
1085 * doconfigure: Specify gcc-3 and g++-3. Set PATH when $build
1086 is cygwin, so that correct (mingw) libgcrypt and libgpg-error
1087 config scripts can be used.
1088
1089 Remove libgpg-error.
1090 * libgpg-error/tests/Makefile.am, libgpg-error/tests/Makefile.in,
1091 libgpg-error/tests/t-strerror.c, libgpg-error/tests/t-syserror.c,
1092 libgpg-error/po/ChangeLog, libgpg-error/po/LINGUAS,
1093 libgpg-error/po/Makefile.in.in, libgpg-error/po/Makevars,
1094 libgpg-error/po/POTFILES.in, libgpg-error/po/Rules-quot,
1095 libgpg-error/po/boldquot.sed, libgpg-error/po/de.gmo,
1096 libgpg-error/po/de.po, libgpg-error/po/en@boldquot.header,
1097 libgpg-error/po/en@quot.header, libgpg-error/po/fr.gmo,
1098 libgpg-error/po/fr.po libgpg-error/po/insert-header.sin,
1099 libgpg-error/po/libgpg-error.pot, libgpg-error/po/pl.gmo,
1100 libgpg-error/po/pl.po, libgpg-error/po/quot.sed,
1101 libgpg-error/po/remove-potcdate.sin, libgpg-error/po/ro.gmo,
1102 libgpg-error/po/ro.po libgpg-error/po/stamp-po,
1103 libgpg-error/po/sv.po, libgpg-error/po/vi.gmo,
1104 libgpg-error/po/vi.po, libgpg-error/po/sv.gmo,
1105 libgpg-error/m4/ChangeLog, libgpg-error/m4/Makefile.am,
1106 libgpg-error/m4/ac_prog_cc_for_build.m4, libgpg-error/m4/autobuild.m4,
1107 libgpg-error/m4/codeset.m4, libgpg-error/m4/gettext.m4,
1108 libgpg-error/m4/glibc2.m4, libgpg-error/m4/glibc21.m4,
1109 libgpg-error/m4/iconv.m4, libgpg-error/m4/intdiv0.m4,
1110 libgpg-error/m4/intmax.m4, libgpg-error/m4/inttypes-h.m4,
1111 libgpg-error/m4/inttypes-pri.m4, libgpg-error/m4/inttypes.m4,
1112 libgpg-error/m4/inttypes_h.m4, libgpg-error/m4/isc-posix.m4,
1113 libgpg-error/m4/lcmessage.m4, libgpg-error/m4/lib-ld.m4,
1114 libgpg-error/m4/lib-link.m4, libgpg-error/m4/lib-prefix.m4,
1115 libgpg-error/m4/libtool.m4, libgpg-error/m4/lock.m4,
1116 libgpg-error/m4/longdouble.m4, libgpg-error/m4/longlong.m4,
1117 libgpg-error/m4/nls.m4, libgpg-error/m4/po.m4,
1118 libgpg-error/m4/printf-posix.m4, libgpg-error/m4/progtest.m4,
1119 libgpg-error/m4/signed.m4, libgpg-error/m4/size_max.m4,
1120 libgpg-error/m4/stdint_h.m4, libgpg-error/m4/uintmax_t.m4,
1121 libgpg-error/m4/ulonglong.m4, libgpg-error/m4/visibility.m4,
1122 libgpg-error/m4/wchar_t.m4, libgpg-error/m4/wint_t.m4,
1123 libgpg-error/m4/xsize.m4, libgpg-error/m4/Makefile.in,
1124 libgpg-error/lang/Makefile.am, libgpg-error/lang/README,
1125 libgpg-error/lang/Makefile.in, libgpg-error/lang/cl/Makefile.am,
1126 libgpg-error/lang/cl/README, libgpg-error/lang/cl/gpg-error-package.lisp,
1127 libgpg-error/lang/cl/gpg-error.asd, libgpg-error/lang/cl/gpg-error.asd.in,
1128 libgpg-error/lang/cl/gpg-error.lisp, libgpg-error/lang/cl/mkerrcodes.awk,
1129 libgpg-error/lang/cl/Makefile.in, libgpg-error/src/Makefile.am,
1130 libgpg-error/src/README, libgpg-error/src/code-from-errno.c,
1131 libgpg-error/src/code-to-errno.c, libgpg-error/src/err-codes.h,
1132 libgpg-error/src/err-codes.h.in, libgpg-error/src/err-sources.h,
1133 libgpg-error/src/err-sources.h.in, libgpg-error/src/errnos.in,
1134 libgpg-error/src/gettext.h, libgpg-error/src/gpg-error-config.in,
1135 libgpg-error/src/gpg-error.c, libgpg-error/src/gpg-error.def,
1136 libgpg-error/src/gpg-error.h, libgpg-error/src/gpg-error.h.in,
1137 libgpg-error/src/gpg-error.m4, libgpg-error/src/init.c,
1138 libgpg-error/src/mkerrcodes.awk, libgpg-error/src/mkerrcodes.c,
1139 libgpg-error/src/mkerrcodes1.awk, libgpg-error/src/mkerrcodes2.awk,
1140 libgpg-error/src/mkerrnos.awk, libgpg-error/src/mkheader.awk,
1141 libgpg-error/src/mkstrtable.awk, libgpg-error/src/strerror-sym.c,
1142 libgpg-error/src/strerror.c, libgpg-error/src/strsource-sym.c,
1143 libgpg-error/src/strsource.c, libgpg-error/src/versioninfo.rc.in,
1144 libgpg-error/src/w32-gettext.c, libgpg-error/src/w32-gettext.h,
1145 libgpg-error/src/Makefile.in, libgpg-error/ABOUT-NLS,
1146 libgpg-error/AUTHORS, libgpg-error/COPYING, libgpg-error/COPYING.LIB,
1147 libgpg-error/ChangeLog, libgpg-error/INSTALL, libgpg-error/Makefile.am,
1148 libgpg-error/NEWS, libgpg-error/README, libgpg-error/THANKS,
1149 libgpg-error/VERSION, libgpg-error/autogen.sh, libgpg-error/compile,
1150 libgpg-error/config.guess, libgpg-error/config.rpath,
1151 libgpg-error/config.sub, libgpg-error/configure.ac, libgpg-error/depcomp,
1152 libgpg-error/install-sh, libgpg-error/libgpg-error.spec,
1153 libgpg-error/libgpg-error.spec.in, libgpg-error/ltmain.sh,
1154 libgpg-error/missing, libgpg-error/mkinstalldirs,
1155 libgpg-error/aclocal.m4, libgpg-error/configure,
1156 libgpg-error/config.h.in, libgpg-error/Makefile.in: Remove.
1157
1158 Remove libgcrypt.
1159 * libgcrypt/tests/ChangeLog, libgcrypt/tests/Makefile.am,
1160 libgcrypt/tests/ac-data.c, libgcrypt/tests/ac-schemes.c,
1161 libgcrypt/tests/ac.c, libgcrypt/tests/basic.c,
1162 libgcrypt/tests/benchmark.c, libgcrypt/tests/hmac.c,
1163 libgcrypt/tests/keygen.c, libgcrypt/tests/keygrip.c,
1164 libgcrypt/tests/mpitests.c, libgcrypt/tests/pkbench.c,
1165 libgcrypt/tests/prime.c, libgcrypt/tests/pubkey.c,
1166 libgcrypt/tests/random.c, libgcrypt/tests/register.c,
1167 libgcrypt/tests/t-mpi-bit.c, libgcrypt/tests/testapi.c,
1168 libgcrypt/tests/tsexp.c, libgcrypt/tests/version.c,
1169 libgcrypt/tests/Makefile.in, libgcrypt/src/ChangeLog
1170 libgcrypt/src/Makefile.am, libgcrypt/src/Manifest, libgcrypt/src/ath.c,
1171 libgcrypt/src/ath.h, libgcrypt/src/cipher.h, libgcrypt/src/dumpsexp.c,
1172 libgcrypt/src/g10lib.h, libgcrypt/src/gcrypt-module.h,
1173 libgcrypt/src/gcrypt.h, libgcrypt/src/gcrypt.h.in,
1174 libgcrypt/src/gcryptrnd.c, libgcrypt/src/getrandom.c,
1175 libgcrypt/src/global.c, libgcrypt/src/hwfeatures.c,
1176 libgcrypt/src/libgcrypt-config.in, libgcrypt/src/libgcrypt.def,
1177 libgcrypt/src/libgcrypt.m4, libgcrypt/src/libgcrypt.vers,
1178 libgcrypt/src/misc.c, libgcrypt/src/missing-string.c,
1179 libgcrypt/src/module.c, libgcrypt/src/mpi.h, libgcrypt/src/secmem.h,
1180 libgcrypt/src/sexp.c, libgcrypt/src/stdmem.c, libgcrypt/src/stdmem.h,
1181 libgcrypt/src/types.h, libgcrypt/src/versioninfo.rc.in,
1182 libgcrypt/src/visibility.c, libgcrypt/src/visibility.h,
1183 libgcrypt/src/Makefile.in, libgcrypt/src/secmem.c,
1184 libgcrypt/m4/ChangeLog, libgcrypt/m4/Makefile.am,
1185 libgcrypt/m4/libtool.m4, libgcrypt/m4/noexecstack.m4,
1186 libgcrypt/m4/onceonly.m4, libgcrypt/m4/socklen.m4,
1187 libgcrypt/m4/sys_socket_h.m4, libgcrypt/m4/Makefile.in,
1188 libgcrypt/doc/ChangeLog, libgcrypt/doc/HACKING,
1189 libgcrypt/doc/Makefile.am, libgcrypt/doc/README.apichanges,
1190 libgcrypt/doc/gcrypt.texi, libgcrypt/doc/gpl.texi,
1191 libgcrypt/doc/lgpl.texi, libgcrypt/doc/mdate-sh,
1192 libgcrypt/doc/texinfo.tex, libgcrypt/doc/stamp-vti,
1193 libgcrypt/doc/version.texi, libgcrypt/doc/gcrypt.info,
1194 libgcrypt/doc/Makefile.in, libgcrypt/cipher/ChangeLog,
1195 libgcrypt/cipher/Makefile.am, libgcrypt/cipher/Manifest,
1196 libgcrypt/cipher/ac.c, libgcrypt/cipher/arcfour.c,
1197 libgcrypt/cipher/bithelp.h, libgcrypt/cipher/blowfish.c,
1198 libgcrypt/cipher/camellia-glue.c, libgcrypt/cipher/camellia.c,
1199 libgcrypt/cipher/camellia.h, libgcrypt/cipher/cast5.c,
1200 libgcrypt/cipher/cipher.c, libgcrypt/cipher/crc.c,
1201 libgcrypt/cipher/des.c, libgcrypt/cipher/dsa.c, libgcrypt/cipher/ecc.c,
1202 libgcrypt/cipher/elgamal.c, libgcrypt/cipher/md.c,
1203 libgcrypt/cipher/md4.c, libgcrypt/cipher/md5.c,
1204 libgcrypt/cipher/primegen.c, libgcrypt/cipher/pubkey.c,
1205 libgcrypt/cipher/rand-internal.h, libgcrypt/cipher/random-daemon.c,
1206 libgcrypt/cipher/random.c, libgcrypt/cipher/random.h,
1207 libgcrypt/cipher/rfc2268.c, libgcrypt/cipher/rijndael-tables.h,
1208 libgcrypt/cipher/rijndael.c, libgcrypt/cipher/rmd.h,
1209 libgcrypt/cipher/rmd160.c, libgcrypt/cipher/rndegd.c,
1210 libgcrypt/cipher/rndhw.c, libgcrypt/cipher/rndlinux.c,
1211 libgcrypt/cipher/rndunix.c, libgcrypt/cipher/rndw32.c,
1212 libgcrypt/cipher/rsa.c, libgcrypt/cipher/seed.c,
1213 libgcrypt/cipher/serpent.c, libgcrypt/cipher/sha1.c,
1214 libgcrypt/cipher/sha256.c, libgcrypt/cipher/sha512.c,
1215 libgcrypt/cipher/tiger.c, libgcrypt/cipher/twofish.c,
1216 libgcrypt/cipher/whirlpool.c, libgcrypt/cipher/Makefile.in,
1217 libgcrypt/AUTHORS, libgcrypt/BUGS, libgcrypt/COPYING,
1218 libgcrypt/COPYING.LIB, libgcrypt/ChangeLog, libgcrypt/INSTALL,
1219 libgcrypt/Makefile.am, libgcrypt/NEWS, libgcrypt/README,
1220 libgcrypt/README.SVN, libgcrypt/THANKS, libgcrypt/TODO, libgcrypt/VERSION,
1221 libgcrypt/acinclude.m4, libgcrypt/autogen.sh, libgcrypt/compile,
1222 libgcrypt/config.guess, libgcrypt/config.sub, libgcrypt/configure.ac,
1223 libgcrypt/depcomp, libgcrypt/install-sh, libgcrypt/ltmain.sh,
1224 libgcrypt/missing, libgcrypt/mkinstalldirs, , libgcrypt/aclocal.m4,
1225 libgcrypt/configure, libgcrypt/config.h.in, libgcrypt/Makefile.in,
1226 libgcrypt/mpi/ChangeLog, libgcrypt/mpi/Makefile.am,
1227 libgcrypt/mpi/Manifest, libgcrypt/mpi/config.links, libgcrypt/mpi/ec.c,
1228 libgcrypt/mpi/longlong.h, libgcrypt/mpi/mpi-add.c,
1229 libgcrypt/mpi/mpi-bit.c, libgcrypt/mpi/mpi-cmp.c,
1230 libgcrypt/mpi/mpi-div.c, libgcrypt/mpi/mpi-gcd.c,
1231 libgcrypt/mpi/mpi-inline.c, libgcrypt/mpi/mpi-inline.h,
1232 libgcrypt/mpi/mpi-internal.h, libgcrypt/mpi/mpi-inv.c,
1233 libgcrypt/mpi/mpi-mod.c, libgcrypt/mpi/mpi-mpow.c,
1234 libgcrypt/mpi/mpi-mul.c, libgcrypt/mpi/mpi-pow.c,
1235 libgcrypt/mpi/mpi-scan.c, libgcrypt/mpi/mpicoder.c,
1236 libgcrypt/mpi/mpih-div.c, libgcrypt/mpi/mpih-mul.c,
1237 libgcrypt/mpi/mpiutil.c, libgcrypt/mpi/Makefile.in,
1238 libgcrypt/mpi/alpha/README, libgcrypt/mpi/alpha/distfiles,
1239 libgcrypt/mpi/alpha/mpih-add1.S, libgcrypt/mpi/alpha/mpih-lshift.S,
1240 libgcrypt/mpi/alpha/mpih-mul1.S, libgcrypt/mpi/alpha/mpih-mul2.S,
1241 libgcrypt/mpi/alpha/mpih-mul3.S, libgcrypt/mpi/alpha/mpih-rshift.S,
1242 libgcrypt/mpi/alpha/mpih-sub1.S, libgcrypt/mpi/alpha/udiv-qrnnd.S,
1243 libgcrypt/mpi/amd64/distfiles, libgcrypt/mpi/amd64/mpih-add1.S,
1244 libgcrypt/mpi/amd64/mpih-lshift.S, libgcrypt/mpi/amd64/mpih-mul1.S,
1245 libgcrypt/mpi/amd64/mpih-mul2.S, libgcrypt/mpi/amd64/mpih-mul3.S,
1246 libgcrypt/mpi/amd64/mpih-rshift.S, libgcrypt/mpi/amd64/mpih-sub1.S,
1247 libgcrypt/mpi/generic/Manifest, libgcrypt/mpi/generic/distfiles,
1248 libgcrypt/mpi/generic/mpi-asm-defs.h, libgcrypt/mpi/generic/mpih-add1.c,
1249 libgcrypt/mpi/generic/mpih-lshift.c, libgcrypt/mpi/generic/mpih-mul1.c,
1250 libgcrypt/mpi/generic/mpih-mul2.c, libgcrypt/mpi/generic/mpih-mul3.c,
1251 libgcrypt/mpi/generic/mpih-rshift.c, libgcrypt/mpi/generic/mpih-sub1.c,
1252 libgcrypt/mpi/generic/udiv-w-sdiv.c, libgcrypt/mpi/hppa/README,
1253 libgcrypt/mpi/hppa/distfiles, libgcrypt/mpi/hppa/mpih-add1.S,
1254 libgcrypt/mpi/hppa/mpih-lshift.S, libgcrypt/mpi/hppa/mpih-rshift.S,
1255 libgcrypt/mpi/hppa/mpih-sub1.S, libgcrypt/mpi/hppa/udiv-qrnnd.S,
1256 libgcrypt/mpi/hppa1.1/distfiles, libgcrypt/mpi/hppa1.1/mpih-mul1.S,
1257 libgcrypt/mpi/hppa1.1/mpih-mul2.S, libgcrypt/mpi/hppa1.1/mpih-mul3.S,
1258 libgcrypt/mpi/hppa1.1/udiv-qrnnd.S, libgcrypt/mpi/i386/Manifest,
1259 libgcrypt/mpi/i386/distfiles, libgcrypt/mpi/i386/mpih-add1.S,
1260 libgcrypt/mpi/i386/mpih-lshift.S, libgcrypt/mpi/i386/mpih-mul1.S,
1261 libgcrypt/mpi/i386/mpih-mul2.S, libgcrypt/mpi/i386/mpih-mul3.S,
1262 libgcrypt/mpi/i386/mpih-rshift.S, libgcrypt/mpi/i386/mpih-sub1.S,
1263 libgcrypt/mpi/i386/syntax.h, libgcrypt/mpi/i586/Manifest,
1264 libgcrypt/mpi/i586/README, libgcrypt/mpi/i586/distfiles,
1265 libgcrypt/mpi/i586/mpih-add1.S, libgcrypt/mpi/i586/mpih-lshift.S,
1266 libgcrypt/mpi/i586/mpih-mul1.S, libgcrypt/mpi/i586/mpih-mul2.S,
1267 libgcrypt/mpi/i586/mpih-mul3.S, libgcrypt/mpi/i586/mpih-rshift.S,
1268 libgcrypt/mpi/i586/mpih-sub1.S, libgcrypt/mpi/m68k/Manifest,
1269 libgcrypt/mpi/m68k/distfiles, libgcrypt/mpi/m68k/mpih-add1.S,
1270 libgcrypt/mpi/m68k/mpih-lshift.S, libgcrypt/mpi/m68k/mpih-rshift.S,
1271 libgcrypt/mpi/m68k/mpih-sub1.S, libgcrypt/mpi/m68k/syntax.h,
1272 libgcrypt/mpi/mips3/Manifest, libgcrypt/mpi/mips3/README,
1273 libgcrypt/mpi/mips3/distfiles, libgcrypt/mpi/mips3/mpi-asm-defs.h,
1274 libgcrypt/mpi/mips3/mpih-add1.S, libgcrypt/mpi/mips3/mpih-lshift.S,
1275 libgcrypt/mpi/mips3/mpih-mul1.S, libgcrypt/mpi/mips3/mpih-mul2.S,
1276 libgcrypt/mpi/mips3/mpih-mul3.S, libgcrypt/mpi/mips3/mpih-rshift.S,
1277 libgcrypt/mpi/mips3/mpih-sub1.S, libgcrypt/mpi/pa7100/Manifest,
1278 libgcrypt/mpi/pa7100/distfiles, libgcrypt/mpi/pa7100/mpih-lshift.S,
1279 libgcrypt/mpi/pa7100/mpih-rshift.S, libgcrypt/mpi/pentium4/README,
1280 libgcrypt/mpi/pentium4/distfiles, libgcrypt/mpi/power/Manifest,
1281 libgcrypt/mpi/power/distfiles, libgcrypt/mpi/power/mpih-add1.S,
1282 libgcrypt/mpi/power/mpih-lshift.S, libgcrypt/mpi/power/mpih-mul1.S,
1283 libgcrypt/mpi/power/mpih-mul2.S, libgcrypt/mpi/power/mpih-mul3.S,
1284 libgcrypt/mpi/power/mpih-rshift.S, libgcrypt/mpi/power/mpih-sub1.S,
1285 libgcrypt/mpi/powerpc32/Manifest, libgcrypt/mpi/powerpc32/distfiles,
1286 libgcrypt/mpi/powerpc32/mpih-add1.S,
1287 libgcrypt/mpi/powerpc32/mpih-lshift.S,
1288 libgcrypt/mpi/powerpc32/mpih-mul1.S,
1289 libgcrypt/mpi/powerpc32/mpih-mul2.S,
1290 libgcrypt/mpi/powerpc32/mpih-mul3.S,
1291 libgcrypt/mpi/powerpc32/mpih-rshift.S,
1292 libgcrypt/mpi/powerpc32/mpih-sub1.S, libgcrypt/mpi/powerpc32/syntax.h,
1293 libgcrypt/mpi/powerpc64/distfiles, libgcrypt/mpi/sparc32/Manifest,
1294 libgcrypt/mpi/sparc32/distfiles, libgcrypt/mpi/sparc32/mpih-add1.S,
1295 libgcrypt/mpi/sparc32/mpih-lshift.S,
1296 libgcrypt/mpi/sparc32/mpih-rshift.S, libgcrypt/mpi/sparc32/udiv.S,
1297 libgcrypt/mpi/sparc32v8/Manifest, libgcrypt/mpi/sparc32v8/distfiles,
1298 libgcrypt/mpi/sparc32v8/mpih-mul1.S,
1299 libgcrypt/mpi/sparc32v8/mpih-mul2.S,
1300 libgcrypt/mpi/sparc32v8/mpih-mul3.S, libgcrypt/mpi/supersparc/Manifest,
1301 libgcrypt/mpi/supersparc/distfiles,
1302 libgcrypt/mpi/supersparc/udiv.S, libgcrypt/mpi/m68k/mc68020/distfiles
1303 libgcrypt/mpi/m68k/mc68020/Manifest,
1304 libgcrypt/mpi/m68k/mc68020/mpih-mul1.S,
1305 libgcrypt/mpi/m68k/mc68020/mpih-mul2.S,
1306 libgcrypt/mpi/m68k/mc68020/mpih-mul3.S,
1307 libgcrypt/mpi/pentium4/mmx/distfiles,
1308 libgcrypt/mpi/pentium4/mmx/mpih-lshift.S,
1309 libgcrypt/mpi/pentium4/mmx/mpih-rshift.S,
1310 libgcrypt/mpi/pentium4/sse2/distfiles,
1311 libgcrypt/mpi/pentium4/sse2/mpih-add1.S,
1312 libgcrypt/mpi/pentium4/sse2/mpih-mul1.S,
1313 libgcrypt/mpi/pentium4/sse2/mpih-mul2.S,
1314 libgcrypt/mpi/pentium4/sse2/mpih-mul3.S,
1315 libgcrypt/mpi/pentium4/sse2/mpih-sub1.S: Remove.
1316
1317 2010-03-17 Corinna Vinschen <corinna@vinschen.de>
1318
1319 * autoload.cc (Auto): Create autoload code in an executable section
1320 called .autoload_text to avoid problems with DEP.
1321
1322 2010-03-14 Christopher Faylor <me+cygwin@cgf.cx>
1323
1324 * Makefile.am: Add a setup-src target.
1325
1326 2010-03-14 Charles Wilson <cygwin@cwilson.fastmail.fm>
1327
1328 Support xz and lzma decompression via liblzma
1329 * Makefile.am: Add -DLZMA_API_STATIC to AM_CPPFLAGS,
1330 -lzma to setup_LDADD, and -static-libtool-libs to
1331 setup_LDFLAGS. Update setup_SOURCES.
1332 * compress.cc: Update includes.
1333 (compress::decompress): Use compress_xz rather than
1334 compress_lzma; compress_xz supports both xz and lzma
1335 decompression.
1336 * compress_xz.h: New.
1337 * compress_xz.cc: New.
1338 * compress_lzma.h: Removed.
1339 * compress_lzma.cc: Removed.
1340 * lzma-sdk/LzmaDec.c: Removed.
1341 * lzma-sdk/LzmaDec.h: Removed.
1342 * lzma-sdk/Types.h: Removed.
1343
1344 2010-03-13 DJ Delorie <dj@redhat.com>
1345
1346 * nio-ftp.c (read): Read RETR status code on EOF to avoid
1347 deadlock with PASV.
1348
1349 2010-03-01 Corinna Vinschen <corinna@vinschen.de>
1350
1351 * filemanip.cc (mklongpath): Skip "." and ".." path components to
1352 avoid error messages.
1353
1354 2010-02-15 Corinna Vinschen <corinna@vinschen.de>
1355
1356 * filemanip.cc (mklongpath): Simplify backslash folding.
1357
1358 2010-02-15 Corinna Vinschen <corinna@vinschen.de>
1359
1360 * filemanip.cc (transform_chars): Drop function.
1361 (mklongpath): Call mbrtowc in a loop rather than just mbstowcs.
1362 Transform characters on the fly. Fold multiple backslashes into one.
1363 Drop trailing backslash.
1364
1365 2010-02-15 Dave Korn <dave.korn.cygwin@gmail.com>
1366
1367 * choose.cc (ChooserPage::PlaceDialog): Only skip resizing window
1368 in fully-unattended mode, not chooser-only mode.
1369 (ChooserPage::OnUnattended): Return appropriate status to run page
1370 or not according to kind of unattended mode.
1371 * choose.h (ChooserPage::OnUnattended): Remove inline implementation
1372 and retain prototype only.
1373 * main.cc (PackageManagerOption): New boolean option.
1374 (main): Take it into account when setting unattended_mode.
1375 * proppage.cc (PropertyPage::DialogProc): Use new enum type when
1376 setting unattended_mode.
1377 * state.cc (unattended_mode): Change from bool to enum attend_mode.
1378 * state.h (enum attend_mode): Declare new enum type.
1379 (unattended_mode): Update extern declaration to use it.
1380
1381 2010-02-04 Corinna Vinschen <corinna@vinschen.de>
1382
1383 * win32.cc (NTSecurity::GetPosixPerms): Return NULL security descriptor
1384 if is_legacy is set.
1385 (NTSecurity::SetPosixPerms): Remove.
1386 * win32.h (NTSecurity::GetPosixPerms): Remove declaration.
1387
1388 2010-02-02 Corinna Vinschen <corinna@vinschen.de>
1389
1390 * desktop.cc (make_link): Use 0 default permissions when creating files
1391 and directories.
1392 * download.cc (download_one): Ditto.
1393 * ini.cc (do_remote_ini): Ditto.
1394 * localdir.cc (offer_to_create): Ditto.
1395 * filemanip.cc (nt_wfopen): Use Windows default permissions if perms
1396 is set to 0.
1397 * mkdir.cc (mkdir_p): Ditto if mode is set to 0.
1398
1399 2010-01-29 Christopher Faylor <me+cygwin@cgf.cx>
1400
1401 * mount.cc (read_mounts_9x): Preserve old way of doing things when
1402 is_legacy.
1403
1404 2010-01-28 Christopher Faylor <me+cygwin@cgf.cx>
1405
1406 * desktop.cc (make_link): Preserve old way of doing things when
1407 is_legacy.
1408 (make_cygwin_bat): Ditto.
1409 (save_icon): Ditto.
1410 * mount.cc (read_mounts): Ditto.
1411 (set_root_dir): Ditto.
1412 * root.cc (load_dialog): Ditto.
1413 (save_dialog): Ditto.
1414 * install.cc (Installer::installOne): Don't install anything if there
1415 is no canonical file associated with source.
1416 (do_install_thread): Set up old-style registry entries if is_legacy
1417 rather than just keying on whether this is Windows NT.
1418 * io_stream_file.cc (io_stream_file::exists): Redefine "exists" to mean
1419 "it's a file".
1420
1421 2010-01-16 Christopher Faylor <me+cygwin@cgf.cx>
1422
1423 * archive_tar.c (archive_tar_file::read): Always set read_something
1424 even for zero-length files.
1425
1426 2010-01-16 Christopher Faylor <me+cygwin@cgf.cx>
1427
1428 * archive_tar.h (archive_tar_file::read_something): New member.
1429 * archive_tar_file.cc (archive_tar_file::archive_tar_file): Don't reset
1430 state unless we've actually read something.
1431 (archive_tar_file::read): Set read_something variable here to indicate
1432 that we've read something from the tar file.
1433
1434 2010-01-13 Christopher Faylor <me+cygwin@cgf.cx>
1435
1436 * localdir.cc (LocalDirPage::OnNext): Strip trailing slashes.
1437
1438 2009-12-27 Christopher Faylor <me+cygwin@cgf.cx>
1439
1440 * main.cc (dyn_AttachConsole): Make static.
1441 (dyn_GetLongPathName): New variable.
1442 (set_dynaddr): New function.
1443 (set_cout): Don't set dyn_AttachConsole here.
1444 (set_legacy): Don't attempt to call function which does not exist in
1445 older versions of NT.
1446 (main): Call set_dynaddr to set dynamic load addresses.
1447
1448 2009-12-22 Christopher Faylor <me+cygwin@cgf.cx>
1449
1450 * ini.h: Use is_legacy to control setup.ini names.
1451 * main.cc (set_legacy): New function.
1452 (main): Call set_legacy with program name to determine if this is
1453 supposed to be an installation of the legacy version of cygwin. Issue
1454 a warning on attempt to install legacy on Windows NT class system.
1455
1456 2009-12-22 Christopher Faylor <me+cygwin@cgf.cx>
1457
1458 * package_message (packagemessage::display): Avoid displaying a message
1459 when in unattended mode.
1460
1461 2009-12-22 Corinna Vinschen <corinna@vinschen.de>
1462
1463 * win32.h (isdirsep): Define to replace local isslash definitions.
1464 * UserSettings.cc (UserSettings::open_settings): Remove isslash.
1465 Use isdirsep instead of isslash.
1466 * filemanip.cc (mklongpath): Ditto.
1467 * root.cc (directory_is_rootdir): Ditto.
1468 * localdir.cc (LocalDirSetting::save): Avoid consecutive backslashes
1469 in setup log file paths.
1470 * main.cc (main): Ditto.
1471
1472 2009-12-21 Christopher Faylor <me+cygwin@cgf.cx>
1473
1474 * choose.cc (ChooserPage::PlaceDialog): Put *correct* size in
1475 WINDOWPLACEMENT length field.
1476
1477 2009-12-18 Corinna Vinschen <corinna@vinschen.de>
1478
1479 Throughout, revert prototypes and methods set_mtime_and_mode to
1480 set_mtime and only care for the file timestamp.
1481
1482 Throughout, accommodate additional mode_t parameter in call to
1483 io_stream::open.
1484
1485 * IOStreamProvider.h (IOStreamProvider::open): Add mode_t parameter.
1486 * archive.cc (archive::extract_file): Reorder creation of in and tmp
1487 to get the file mode from the tar archive earlier. Call io_stream::open
1488 with additional mode from tar archive. Accommodate reversion to
1489 set_mtime.
1490 * filemanip.cc (nt_wfopen): Remove retry loop. Instead initialize
1491 OBJECT_ATTRIBUTES with matching POSIX perms according to incoming
1492 perms to create correct ACL on file creation. Remove subsequent call
1493 to nt_sec.SetPosixPerms.
1494 * io_stream.cc (io_stream::open): Take additional mode_t parameter
1495 and connect through to IOStreamProvider's open.
1496 * io_stream.h (io_stream::open): Add mode_t parameter.
1497 * io_stream_cygfile.cc (CygFileProvider::open): Ditto.
1498 (io_stream_cygfile::io_stream_cygfile): Ditto. Call nt_wfopen with
1499 incoming mode_t parameter. Make sure .exe and .dll files always
1500 have execute permissions set.
1501 (io_stream_cygfile::set_mtime): Remove retry loop and open file with
1502 just GENERIC_WRITE access.
1503 * io_stream_cygfile.h (io_stream_cygfile::io_stream_cygfile): Add mode_t
1504 parameter.
1505 * io_stream_file.cc (FileProvider::open): Ditto.
1506 (io_stream_file::io_stream_file): Ditto. Call nt_wfopen with incoming
1507 mode_t parameter.
1508 * io_stream_file.h (io_stream_file::io_stream_file): Add mode_t
1509 parameter.
1510 * io_stream_memory.h (class io_stream_memory): Remove mode member.
1511 Just return 0 from get_mode.
1512 * mkdir.cc (mkdir_p): Remove retry loop. Instead initialize
1513 OBJECT_ATTRIBUTES with matching POSIX perms according to incoming
1514 perms to create correct ACL on file creation. Remove subsequent call
1515 to nt_sec.SetPosixPerms.
1516 * mklink2.cc (mkcygsymlink_nt): Remove retry loop. Instead initialize
1517 SECURITY_ATTRIBUTES with matching POSIX perms to create correct ACL on
1518 file creation.
1519 * win32.cc (NTSecurity::GetPosixPerms): New function to generate
1520 POSIX ACL. Default to current owner and current primary group for
1521 owner/group permissions.
1522 (NTSecurity::SetPosixPerms): Let GetPosixPerms create the DACL.
1523 (NTSecurity::setAdminGroup): Set groupSID to admins SID if successful.
1524 (NTSecurity::setDefaultSecurity): Store user SID in ownerSID member.
1525 Default groupSID to original primary group.
1526 * win32.h (struct acl_t): Define here.
1527 (class NTSecurity): Rename ownerSID and groupSID to cr_ownerSID and
1528 cr_groupSID. Change throughout. Add members ownerSID and groupSID.
1529 Declare new method GetPosixPerms.
1530
1531 2009-12-17 Corinna Vinschen <corinna@vinschen.de>
1532
1533 * filemanip.cc (nt_wfopen): Only call nt_sec.SetPosixPerms if we have
1534 WRITE_DAC access.
1535 * mkdir.cc (mkdir_p): Ditto.
1536
1537 2009-12-17 Corinna Vinschen <corinna@vinschen.de>
1538
1539 * filemanip.cc (nt_wfopen): Fix requested access rights. Retry
1540 without WRITE_DAC access on access denied. Add comment.
1541 * io_stream_cygfile.cc (io_stream_cygfile::set_mtime_and_mode): Ditto.
1542 * mkdir.cc (mkdir_p): Ditto.
1543 * mklink2.cc (mkcygsymlink_nt): Ditto.
1544
1545 2009-12-17 Corinna Vinschen <corinna@vinschen.de>
1546
1547 * localdir.cc (LocalDirSetting::save): Call mkdir_p with isadir set
1548 since /var/log is a dir.
1549
1550 2009-12-16 Corinna Vinschen <corinna@vinschen.de>
1551
1552 * UserSettings.cc (UserSettings::open_settings): Never add more than
1553 one slash.
1554 * filemanip.cc (tfx_chars): Align to Cygwin's transformation table.
1555 * localdir.cc (LocalDirSetting::save): Call mkdir_p with DOS path.
1556
1557 2009-12-16 Christopher Faylor <me+cygwin@cgf.cx>
1558
1559 * package_message.h: New file.
1560
1561 2009-12-13 Christopher Faylor <me+cygwin@cgf.cx>
1562
1563 * IniDBBuilder.h (buildMessage): Define for base class.
1564 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildMessage): Define.
1565 * IniDBBuilderPackage.h (IniDBBuilderPackage::buildMessage): Declare.
1566 * PickPackageLine.cc: Pass pointer to package to "pick" throughout,
1567 where appropriate.
1568 * PickView.cc: Ditto.
1569 * install.cc: Ditto.
1570 * package_meta.cc: Ditto.
1571 * prereq.cc: Ditto.
1572 * package_version.cc: Ditto.
1573 (packageversion::pick): Add pkg pointer as second argument. Display
1574 message where appropriate.
1575 * package_version.h (packageversion::pick): Add pkg pointer as second
1576 argument.
1577 * package_meta.h (packagemeta::mesage): Define.
1578 (packagemeta::set_message): Define.
1579 * inilex.ll: Properly return MESSAGE token.
1580 * iniparse.yy: Handle message: keyword.
1581
1582 2009-12-08 Dave Korn <dave.korn.cygwin@gmail.com>
1583
1584 * localdir.cc (offer_to_create): New function.
1585 (browse_cb): Handle selection changed and validate failed
1586 callbacks, and call offer_to_create where appropriate.
1587 (browse): Set new dialog style flags in browser info.
1588 (LocalDirPage::OnNext): Replace call to mkdir_p with offer to
1589 create or error message dialog display, allow proceeding to
1590 chooser even if local dir does not exist in unattend mode or
1591 if user insists, and fix small memory leak.
1592
1593 * res.rc (IDS_MAYBE_MKDIR, IDS_CANT_MKDIR, IDS_NO_CWD): Define new
1594 string resources.
1595 * resource.h (IDS_MAYBE_MKDIR, IDS_CANT_MKDIR, IDS_NO_CWD): Define
1596 corresponding resource ID numbers.
1597
1598 2009-12-03 Corinna Vinschen <corinna@vinschen.de>
1599
1600 * main.cc (WinMain): Disable running on Windows 9x. Show message box
1601 instead and exit.
1602
1603 2009-12-03 Dave Korn <dave.korn.cygwin@gmail.com>
1604
1605 (ChooserPage::createListview): When nothing is found in the "All"
1606 category, pass an empty static dummy category object to the PickView
1607 constructor, instead of trying to dereference not-found iterator.
1608
1609 2009-11-23 Corinna Vinschen <corinna@vinschen.de>
1610
1611 * io_stream_cygfile.cc (io_stream_cygfile::get_size): Don't try to
1612 close invalid handle.
1613 * io_stream_file.cc (io_stream_file::get_size): Ditto
1614
1615 2009-11-22 Dave Korn <dave.korn.cygwin@gmail.com>
1616
1617 * threebar.cc (ThreeBarProgressPage::OnMessageApp): Don't loop forever
1618 retrying ini file download/parse if it errors in unattended mode.
1619
1620 2009-11-22 Dave Korn <dave.korn.cygwin@gmail.com>
1621
1622 * package_meta.cc (CategoryOption): New StringOption for '-C'.
1623 (parseNames): New helper subroutine abstracts string parsing from ...
1624 (packagemeta::isManuallyWanted): Use it, and check for category names
1625 from CategoryOption as well as individual package names.
1626 * package_db.cc (packagedb::fillMissingCategory): Don't check for
1627 manually-wanted packages until after initialising all the categories.
1628
1629 2009-11-04 Dave Korn <dave.korn.cygwin@gmail.com>
1630
1631 * localdir.cc (LocalDirSetting::LocalDirSetting): Restore -l option.
1632
1633 2009-11-04 Dave Korn <dave.korn.cygwin@gmail.com>
1634
1635 * site.cc: Add #include of BoolOption header from libgetopt.
1636 (OnlySiteOption): New BoolOption for command-line -O option.
1637 (get_site_list): Respect BoolOption by not downloading mirror
1638 list, nor using nor updating cached mirrors.
1639
1640 2009-11-04 Dave Korn <dave.korn.cygwin@gmail.com>
1641
1642 * download.cc (do_download_thread): Only retry an incomplete download
1643 a limited number of times in unattended mode.
1644
1645 2009-11-04 Dave Korn <dave.korn.cygwin@gmail.com>
1646
1647 * main.cc (main_display): Use apartment-, not multi- threading model
1648 when initialiseing COM.
1649
1650 2009-11-04 Corinna Vinschen <corinna@vinschen.de>
1651
1652 * localdir.cc (browse): Make title text depend on what we do.
1653 (LocalDirPage::OnNext): If we plan to download, try to create directory
1654 before cd'ing into it.
1655
1656 2009-11-03 Corinna Vinschen <corinna@vinschen.de>
1657
1658 * mkdir.cc: Include sys/stat.h unconditionally.
1659 (mkdir_p): Add S_IFDIR flag in call to nt_sec.SetPosixPerms.
1660 * win32.cc: Include sys/stat.h.
1661 (NTSecurity::SetPosixPerms): Add CREATOR OWNER, CREATOR GROUP, and
1662 Everyone inheritance-only entries when setting a directory DACL.
1663 (NTSecurity::initialiseWellKnownSIDs): Create SIDs for CREATOR OWNER and
1664 CREATOR GROUP.
1665 * win32.h (class NTSecurity): Add members ownerSID and groupSID.
1666
1667 2009-10-03 Andy Koppe <andy.koppe@gmail.com>
1668
1669 * main.cc (main): Make sure C runtime uses same codepage as GUI.
1670
1671 2009-09-20 Christopher Faylor <me+cygwin@cgf.cx>
1672
1673 * main (set_cout): Really do attach to a console if stdout is "bad".
1674
1675 2009-09-18 Andy Koppe <andy.koppe@gmail.com>
1676
1677 * root.cc (string orig_root_dir): New variable.
1678 (check_if_enable_next): Show warning against installing Cygwin into
1679 disk root only if the root directory has actually been changed.
1680 * res.rc: Make the root dir warning a bit more meaningful, and refrain
1681 from using uppercase.
1682
1683 2009-09-18 Christopher Faylor <me+cygwin@cgf.cx>
1684
1685 * choose.cc (ChooserPage::OnBack): Revert to non-maximized when
1686 returning to mirror from package selection.
1687
1688 2009-09-18 Dave Korn <dave.korn.cygwin@gmail.com>
1689
1690 * site.cc (get_site_list): Use empty string if user settings
1691 return NULL pointer for cached mirrors list.
1692 (SiteSetting::getSavedSites): Do nothing if user settings return
1693 NULL pointer for last mirror URL.
1694
1695 2009-08-21 Christopher Faylor <me+cygwin@cgf.cx>
1696
1697 * site.cc (SiteSetting::registerSavedSite): Fix comment.
1698
1699 2009-07-03 Christopher Faylor <me+cygwin@cgf.cx>
1700
1701 * main.cc (set_cout): Don't reset stdout if we already have a stdout.
1702
1703 2009-07-03 Christopher Faylor <me+cygwin@cgf.cx>
1704
1705 * choose.cc (ChooserPage::ChooserPage): Use more specific name for
1706 saving window settings.
1707 (ChooserPage::~ChooserPage): Ditto.
1708
1709 2009-07-01 Dave Korn <dave.korn.cygwin@gmail.com>
1710
1711 * PickView.h (PickView::total_delta_x): New int member.
1712 (PickView::set_header_column_order): Add prototype.
1713 * PickView.cc (PickView::set_header_column_order): New function,
1714 broken out from ...
1715 (PickView::set_headers): ... here. Call it.
1716 (PickView::init_headers): Apply total_delta_x to last_col width.
1717 (PickView::PickView): Initialise new total_delta_x member to zero.
1718 (PickView::WindowProc): Use set_header_column_order to find and
1719 adjust final column for both sets of headers.
1720
1721 2009-06-29 Christopher Faylor <me+cygwin@cgf.cx>
1722
1723 * SourceSetting.cc (SourceSetting::SourceSetting): Restore proper
1724 remembrane of last source setting.
1725 * choose.cc (ChooserPage::ChooserPage): Potentially retrieve dialog
1726 placement info.
1727 (ChooserPage::~ChooserPage): Save geometry settings if the user moved
1728 or resized the page.
1729 (ChooserPage::PlaceDialog): Rename from MaximizeDialog. Accommodate
1730 changed user placement settings.
1731 (ChooserPage::OnActivate): MaximizeDialog -> PlaceDialog.
1732 (ChooserPage::OnNext): Ditto.
1733 * choose.h (ChooserPage::~ChooserPage): Define.
1734 (ChooserPage::cmd_show): Delete.
1735 (ChooserPage::saved_geom): New field.
1736 (ChooserPage::window_placement): Ditto.
1737 (ChooserPage::pre_chooser_placement): Ditto.
1738 (ChooserPage::PlaceDialog): Rename from MaximizeDialog.
1739
1740 2009-06-28 Christopher Faylor <me+cygwin@cgf.cx>
1741
1742 * ConnectionSetting.cc (ConnectionSetting::ConnectionSetting): Remove
1743 old code which no longer makes sense when run from a constructor.
1744 * SourceSetting.cc (SourceSetting::SourceSetting): Ditto.
1745 * localdir.cc (LocalDirSetting::LocalDirSetting): Ditto. Fix typo
1746 which caused saved settings to be ignored.
1747
1748 2009-06-28 Christopher Faylor <me+cygwin@cgf.cx>
1749
1750 * UserSettings.cc (UserSettings::UserSettings): settings.rc -> setup.rc.
1751
1752 2009-06-28 Corinna Vinschen <corinna@vinschen.de>
1753
1754 * desktop.cc (DesktopSetupPage::OnInit): Drop CoInitialize call here.
1755 * main.cc (main_display): Use InitCommonControlsEx rather than
1756 InitCommonControls per MSDN. Call CoInitializeEx and create IShellLink
1757 instance here to workaround a problem on Windows 7. Release IShellLink
1758 instance and call CoUninitialize on exit.
1759 * mklink.cc (sl): Change to global variable. Drop call to
1760 CoCreateInstance here. Check if sl is valid before using it.
1761
1762 2009-06-27 Christopher Faylor <me+cygwin@cgf.cx>
1763
1764 Preliminary option handling revamp.
1765 Throughout, change load/save methods to constructors/destructors which
1766 use new UserSettings methods. Do not inherit from UserSetting class.
1767 * KeysSetting.cc (ExtraKeysSetting *ExtraKeysSetting::global): Define.
1768 (ExtraKeysSetting::ExtraKeysSetting): Initialize some class members use
1769 new UserSettings methods.
1770 (ExtraKeysSetting::~ExtraKeysSetting): Use new UserSettings method.
1771 * Makefile.am (setup_SOURCES): Eliminate UserSetting.h and
1772 UserSetting.cc.
1773 * UserSettings.cc: Complete rewrite. Implements new UserSettings
1774 class methods.
1775 * UserSettings.h: Complete rewrite. Defines new UserSettings class
1776 methods.
1777 * crypto.cc (ExtraKeys): Delete.
1778 (add_key_from_sexpr): Use ExtraKeysSetting::instance rather than
1779 ExtraKeys.
1780 (verify_ini_file_sig): Ditto.
1781 * io_stream.h (io_stream): Define virtual << operators.
1782 * localdir.cc (localDir): Delete.
1783 * main.cc: Include headers which declar new dynamically invoked
1784 classes.
1785 (main_display): New function. Controls order of option setting and
1786 property page setup. Add new class invocations to force option setting
1787 initializtion.
1788 (main): Invoke new UserSettings class constructor to populate new
1789 settings class. Call main_display() to do most of the setup work.
1790 Call Settings.save () to save all settings.
1791 * net.cc (theSetting): Delete.
1792 * site.cc (SiteSetting::save): Record whether we've saved the
1793 information already.
1794 (get_site_list): Just use value returned from new UserSettings method
1795 rather than parsing a file.
1796 (SiteSetting::getSavedSites): Ditto.
1797 (write_cache_list): Use UserSettings operator to store mirror cache.
1798 (save_cache_file): Ditto.
1799 * source.cc (theSetting): Delete.
1800
1801 * win32.h: gcc-4 accommodation.
1802
1803 2009-06-26 Dave Korn <dave.korn.cygwin@gmail.com>
1804
1805 * res.rc (SETUP_STANDARD_DIALOG_W, SETUP_STANDARD_DIALOG_H,
1806 SETUP_SMALL_DIALOG_W, SETUP_SMALL_DIALOG_H): Add constant defines
1807 for dialog sizes.
1808 (SETUP_STANDARD_DIALOG_DIMS, SETUP_SMALL_DIALOG_DIMS): Add helper
1809 macros for (W,H) pairs of dimensions.
1810 (SETUP_HEADICON_X): New global constant define.
1811 (IDD_SOURCE, IDD_VIRUS, IDD_LOCAL, IDD_ROOT, IDD_SITE, IDD_NET,
1812 IDD_INSTATUS, IDD_PROXY_AUTH, IDD_NET_AUTH, IDD_DESKTOP,
1813 IDD_FTP_AUTH DIALOG, IDD_DROPPED): Use the above for dialog sizes,
1814 horizontal rules and icon positioning.
1815 (SETUP_KPCE_W): New define for radio-button size.
1816 (SETUP_VIEWCAP_W, SETUP_VIEWCAP_X, SETUP_VIEW_W, SETUP_VIEW_X,
1817 SETUP_EXP_X, SETUP_CURR_X, SETUP_PREV_X, SETUP_KEEP_X): Add defines
1818 for right-aligned controls.
1819 (SETUP_SEARCH_X, SETUP_SEARCH_W, SETUP_SEARCHTEXT_X,
1820 SETUP_SEARCHTEXT_W, SETUP_CLEAR_X, SETUP_CLEAR_W): Likewise defines
1821 for left-aligned controls.
1822 (IDD_CHOOSE): Use all the above, and reformat with whitespace
1823 between args for clarity.
1824
1825 2009-06-26 Corinna Vinschen <corinna@vinschen.de>
1826
1827 * Makefile.am (setup_LDADD): Add -lshlwapi.
1828 * PickView.cc: Include shlwapi.h.
1829 (PickView::setViewMode): Compare package name with search string
1830 case-insensitive.
1831 (PickView::insert_category): Ditto.
1832
1833 2009-06-26 Corinna Vinschen <corinna@vinschen.de>
1834
1835 * script.cc (init_run_script): Don't set $HOME to /tmp. It breaks
1836 mkpasswd -c.
1837
1838 2009-06-25 Corinna Vinschen <corinna@vinschen.de>
1839
1840 * script.cc (init_run_script): Reinstantiate accidentally removed
1841 setting of sh.
1842
1843 2009-06-22 Christopher Faylor <me+cygwin@cgf.cx>
1844
1845 * script.cc (init_run_script): Revert to initializing cmd based on OS
1846 type.
1847
1848 2009-06-22 Corinna Vinschen <corinna@vinschen.de>
1849
1850 * script.cc (Script::run): Start bash without -c option.
1851
1852 2009-06-20 Christopher Faylor <me+cygwin@cgf.cx>
1853
1854 * threebar.cc (ThreeBarProgressPage::ins_dialog): Move variable to more
1855 appropriate class.
1856 (ThreeBarProgressPage::MaximizeDialog): Move function to more
1857 appropriate class.
1858 (ThreeBarProgressPage::OnMessageApp): Remove MaximizeDialog calls.
1859 * threebar.h: Remove maximize handling.
1860 * choose.cc (ChooserPage::ins_dialog): New variable.
1861 (ChooserPage::MaximizeDialog): New function.
1862 (ChooserPage::ChooserPage): Remove unneeded handling of nCmdShow.
1863 (ChooserPage::OnActivate): Maximize chooser page via MaximizeDialog.
1864 (ChooserPage::OnNext): Revert chooser page to normal before returning.
1865 * main.cc (main): Don't pass cmd_show to ChooserPage.
1866 * propsheet.cc (PropSheetProc): Accommodate change in class for
1867 SetHwndDialog.
1868
1869 2009-06-20 Christopher Faylor <me+cygwin@cgf.cx>
1870
1871 * script.cc (shells): Delete.
1872 (cmd): Just assign to "cmd.exe" since we're always running on NT now.
1873 (sanitize_PATH ): New function.
1874 (init_run_script): Ensure that we're only called once. Strip
1875 environment of non-pertinent stuff. Call sanitize_PATH to remove
1876 non-standard stuff from the PATH. Set up a few standard environment
1877 variables.
1878
1879 2009-06-16 Corinna Vinschen <corinna@vinschen.de>
1880
1881 * mount.cc (create_install_root): Don't load mount table again.
1882 (read_mounts_nt): Don't break loop, rather continue when not being
1883 able to open "Cygwin" registry key.
1884
1885 2009-06-03 Ralph Hempel <rhempel@bmts.com>
1886
1887 * source.cc: Add support for both -D and -L on the command line.
1888
1889 2009-06-03 Corinna Vinschen <corinna@vinschen.de>
1890
1891 * filemanip.cc (unlink): Rename from DeleteFileW. Take additional
1892 parameter to indicate file type to unlink. Use in flags given to
1893 NtCreateFile.
1894 (DeleteFileW): Just call unlink from here with FILE_NON_DIRECTORY_FILE
1895 flag.
1896 (RemoveDirectoryW): Ditto with FILE_DIRECTORY_FILE flag.
1897
1898 2009-05-30 Charles Wilson <cygwin@cwilson.fastmail.fm>
1899
1900 * script.cc (Script::run): Really start bash with --norc
1901 --noprofile options.
1902
1903 2009-05-13 Corinna Vinschen <corinna@vinschen.de>
1904
1905 * script.cc (Script::run): Start bash with --norc --noprofile options.
1906
1907 2009-05-13 Corinna Vinschen <corinna@vinschen.de>
1908
1909 * filemanip.cc (struct _FILE_RENAME_INFORMATION): Remove definition.
1910 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): Set
1911 default permission for .exe files to 0755.
1912 (io_stream_cygfile::mklink): Try to create real hardlink first. Add
1913 comment.
1914 * mklink2.cc (mkcyghardlink): New function to create real hardlink.
1915 * mklink2.h (mkcyghardlink): Declare.
1916 * mount.cc (from_fstab_line): Set got_usr_bin and got_usr_lib flags
1917 if /usr/bin and /usr/lib mount points exist in /etc/fstab.
1918 (add_usr_mnts): Only create mounts if corresponding got_usr_bin and
1919 got_usr_lib flags are not set.
1920 (read_mounts_nt): Initialize got_usr_bin and got_usr_lib to false.
1921 Always call add_usr_mnts, even if from_fstab succeeded.
1922 * ntdll.h: Include ddk/ntifs.h.
1923
1924 2009-05-12 Corinna Vinschen <corinna@vinschen.de>
1925
1926 * filemanip.cc (GetFileAttributesW): Add accidentally omited
1927 OBJ_CASE_INSENSITIVE when creating OBJECT_ATTRIBUTES.
1928 (SetFileAttributesW): Ditto.
1929 (MoveFileW): Ditto.
1930 (DeleteFileW): Ditto.
1931 (RemoveDirectoryW): Ditto.
1932 (nt_wfopen): Ditto.
1933
1934 2009-05-11 Bryan Thrall <bryan.thrall@flightsafety.com>
1935
1936 * localdir.cc (load_dialog): Choose description string based on install
1937 type.
1938 * res.rc (IDD_LOCAL_DIR): Replace static description text with
1939 IDC_LOCAL_DIR_DESC.
1940 * resource.h (IDS_LOCAL_DIR_DOWNLOAD): New string resource id.
1941 (IDS_LOCAL_DIR_INSTALL): Likewise.
1942 (IDC_LOCAL_DIR_DESC): New text control resource id.
1943
1944 2009-05-11 Christopher Faylor <me+cygwin@cgf.cx>
1945
1946 * main.cc (set_cout): Simplify code a little.
1947
1948 2009-05-11 Bryan Thrall <bryan.thrall@flightsafety.com>
1949
1950 * choose.cc (ChooserPage::OnMessageCmd): Clear search filter when
1951 clear button clicked.
1952 * res.rc (IDD_CHOOSE_DIALOG): Add IDC_CHOOSE_CLEAR_SEARCH button.
1953 * resource.h (IDC_CHOOSE_CLEAR_SEARCH): New button resource ID.
1954
1955 2009-05-11 Corinna Vinschen <corinna@vinschen.de>
1956
1957 * UserSettings.cc (UserSettings::settingFileForLoad): Fix local load
1958 path strings.
1959 (UserSettings::settingFileForSave): Never store in cwd.
1960 * autoload.c (ntdll): Autoload ntdll.dll functions here.
1961 * desktop.cc (make_cygwin_bat): Use GetFileAttributesW rather than
1962 _waccess. Use nt_wfopen instead of _wfopen.
1963 (save_icon): Ditto.
1964 * filemanip.cc (get_file_size): Call io_stream::open with empty mode
1965 string to avoid opening file twice.
1966 (GetFileAttributesW): New function to replace Win32 function with
1967 equivalent function opening files with backup intent.
1968 (SetFileAttributesW): Ditto.
1969 (MoveFileW): Ditto.
1970 (DeleteFileW): Ditto.
1971 (RemoveDirectoryW): Ditto.
1972 (nt_wfopen): New function to replace _wfopen with equivalent function
1973 opening files with backup intent.
1974 * filemanip.h (nt_wfopen): Declare.
1975 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): Initalize
1976 lasterr to 0. Allow empty mode and don't open file, if so. Call
1977 nt_wfopen rather than _wfopen.
1978 (io_stream_cygfile::exists): Use GetFileAttributesW rather than
1979 _waccess.
1980 (io_stream_cygfile::get_size): Use CreateFileW/GetFileSize to get
1981 file size on NT.
1982 * io_stream_file.cc (io_stream_file::io_stream_file): Initalize lasterr
1983 to 0. Allow empty mode and don't open file, if so. Call nt_wfopen
1984 rather than _wfopen.
1985 (io_stream_file::exists): Use GetFileAttributesW rather than _waccess.
1986 (io_stream_file::remove): Don't try to remove non-existant file.
1987 (io_stream_file::get_size): Use CreateFileW/GetFileSize to get
1988 file size on NT. Add comment to keep track of 2GB border.
1989 * mkdir.cc: Remove function pointers for ntdll functions.
1990 (init_ntfuncs): Remove function.
1991 (mkdir_p): Drop call to init_ntfuncs. Call ntdll functions directly
1992 rather than over local function pointers.
1993 * ntdll.h: New file.
1994 * postinstall.cc (do_postinstall_reflector): Switch to admins group
1995 as primary group after postinstall scripts have been written.
1996 Explain why.
1997 (do_postinstall): Add comment.
1998 * res.rc: Bump copyright date.
1999 * win32.h (class TokenGroupCollection): Remove.
2000 * win32.cc (TokenGroupCollection::populate): Remove.
2001 (TokenGroupCollection::find): Remove.
2002 (NTSecurity::setDefaultSecurity): Drop reading token groups. Just
2003 try to switch to admins group as primary group.
2004
2005 2009-05-07 Corinna Vinschen <corinna@vinschen.de>
2006
2007 * package_db.cc (ConnectedLoopFinder::doIt): Revert patch from
2008 2008-08-29. Add dumb hardcoded algorithm to make sure base-cygwin
2009 and base-passwd are always the first packages in the postinstall
2010 executable order.
2011
2012 2009-05-06 Corinna Vinschen <corinna@vinschen.de>
2013
2014 * install.cc (Installer::StandardDirs): Add /home with 1777 perms.
2015 * main.cc (main): Drop setting $CYGWIN to nontsec.
2016
2017 2009-04-24 Andrew Punch <andrew@magneticbooks.com.au>
2018
2019 * PickView.h: Add #include <string>.
2020 (PickView::SetPackageFilter): Add new function.
2021 (PickView::packageFilterString): Add new string data member.
2022 * PickView.cc (PickView::setViewMode): Use it to filter names.
2023 (PickView::insert_category): Likewise.
2024 (PickView::PickView): Initialise packageFilterString to blank.
2025 * res.rc (IDD_CHOOSE): Add IDC_CHOOSE_SEARCH_EDIT and
2026 IDC_CHOOSE_SEARCH_LABEL controls.
2027 (IDS_SEARCH_TOOLTIP): Add new string resource.
2028 * resource.h (IDS_SEARCH_TOOLTIP): New string resource ID.
2029 (IDC_CHOOSE_SEARCH_EDIT): New edit control ID.
2030 (IDC_CHOOSE_SEARCH_LABEL): Mew static text control ID.
2031 * choose.cc (ChooserControlsInfo[]): Add IDC_CHOOSE_SEARCH_LABEL
2032 and IDC_CHOOSE_SEARCH_EDIT controls to auto-resize list.
2033 (ChooserPage::OnInit): Add tooltip to search edit box.
2034 (ChooserPage::OnMessageCmd): Handle EN_CHANGE event from
2035 IDC_CHOOSE_SEARCH_EDIT.
2036
2037 2009-04-24 Dave Korn <dave.korn.cygwin@gmail.com>
2038
2039 * propsheet.cc (PropSheetWndProc): Re-enable hasMinRect.
2040
2041 2009-04-23 Corinna Vinschen <corinna@vinschen.de>
2042
2043 * win32.h (NTSecurity::primaryGroupSID): Convert to a structure for
2044 direct usage in GetTokenInformation.
2045 (NTSecurity::osid): Remove.
2046 (NTSecurity::setAdminGroup): Declare.
2047 * win32.cc (NTSecurity::resetPrimaryGroup): Accommodate change to
2048 primaryGroupSID. Add log output.
2049 (NTSecurity::setAdminGroup): New method.
2050 (NTSecurity::setDefaultSecurity): Use local structures for getting
2051 TOKEN_USER and setting TOKEN_OWNER information. Accommodate change to
2052 primaryGroupSID. Slightly enhance log output.
2053 Only set primary group to Administrators group when installing for
2054 all users. Call setAdminGroup to do it.
2055
2056 2009-04-22 Corinna Vinschen <corinna@vinschen.de>
2057
2058 * mklink2.cc (mkcygsymlink_nt): Allow 4K chars in symlink. Use strncat
2059 rather than strcat.
2060 * postinstall.cc (do_postinstall): Reset user token to original
2061 primary group.
2062 * win32.cc (NTSecurity::resetPrimaryGroup): New method.
2063 (NTSecurity::setDefaultSecurity): Store original primary group in
2064 new NTSecurity member primaryGroupSID. Set primary group in user token
2065 to Administrators group for admin users. Align comment.
2066 * win32.h (class NTSecurity): Add member primaryGroupSID.
2067 (NTSecurity::resetPrimaryGroup): Declare.
2068
2069 2009-04-09 Christopher Faylor <me+cygwin@cgf.cx>
2070
2071 * main.cc (set_cout): Load AttachConsole dynamically to avoid using it
2072 on older Windows which don't support it.
2073
2074 2009-03-21 Christopher Faylor <me+cygwin@cgf.cx>
2075
2076 * LogFile.cc (LogFile::endEntry): Output messages to stdout.
2077 * main.cc (set_cout): New function. Sets stdout to console if one
2078 exists.
2079 (main): Redirect stdout to console if unattended_mode or help option is
2080 specified and no stdout is available.
2081
2082 2009-03-21 Terry Fleming <terrynfleming@gmail.com>
2083 Christopher Faylor <me+cygwin@cgf.cx>
2084
2085 * propsheet.cc (PropSheetWndProc): Detect a Window closing event and
2086 issue an "Are you sure" message.
2087
2088 2008-08-29 Corinna Vinschen <corinna@vinschen.de>
2089
2090 * package_db.cc (ConnectedLoopFinder::doIt): Add code to get a basic
2091 order into the dependency list. Add comment to explain why.
2092
2093 2008-08-22 Brian Dessent <brian@dessent.net>
2094
2095 * KeysSetting.cc: Include string.h for memcpy et al.
2096 * filemanip.cc: Include stdlib.h for for mbstowcs.
2097 * io_stream_cygfile.h: Update cygmkdir_p prototype for mode_t.
2098 * mount.cc (conv_fstab_spaces): Silence gcc 4.3 warning ("parentheses
2099 around assignment used as truth value").
2100
2101 2008-08-20 Corinna Vinschen <corinna@vinschen.de>
2102
2103 * install.cc (Installer::StandardDirs): Additionally create /var/log
2104 dir. Set mode of /var/log and /var/run to 01777.
2105 * localdir.cc (LocalDirSetting::save): Create /var/log with 01777
2106 permissions before creating setup.log files.
2107
2108 2008-08-20 Corinna Vinschen <corinna@vinschen.de>
2109
2110 * io_stream_cygfile.cc (io_stream_cygfile::set_mtime_and_mode):
2111 Accommodate SetPosixPerms being method of nt_sec.
2112 * mkdir.cc (mkdir_p): Ditto.
2113 * mklink2.cc (mkcygsymlink_nt): Ditto.
2114 * win32.cc: Slightly rearrange.
2115 (NTSecurity::SetPosixPerms): Make SetPosixPerms method of NTSecurity
2116 rather than stand-alone function. Remove dynamic allocation for
2117 security descriptors in favor of static allocation. Drop out
2118 preliminary if well-known SIDs are not initialized. Slightly change
2119 and rearrange comments. Add creating NULL SID ACE for special
2120 permissions.
2121 (NTSecurity::initialiseWellKnownSIDs): New function, replacing
2122 NTSecurity::initialiseEveryOneSID. Initialize all well-known SIDs
2123 here. Set wellKnownSIDsinitialized to true on success.
2124 (NTSecurity::setDefaultDACL): Don't call initialiseEveryOneSID. Change
2125 comment. Drop setting failed. Don't open process token here.
2126 (NTSecurity::setBackupPrivileges): New function.
2127 (NTSecurity::setDefaultSecurity): Call initialiseWellKnownSIDs.
2128 Open process token here. Disable setting primary group. Add comment
2129 to explain why.
2130 * win32.h (SetPosixPerms): Move to NTSecurity.
2131 (class NTSecurity): Add SetPosixPerms method. Make all SIDs private
2132 again. Make NoteFailedAPI private. Add setBackupPrivileges method.
2133 Rename usid to UsersSID. Remove failed method and _failed member.
2134 Add wellKnownSIDsinitialized accessors and _wellKnownSIDsinitialized
2135 member.
2136
2137 2008-08-19 Corinna Vinschen <corinna@vinschen.de>
2138
2139 * install.cc (struct std_dirs_t): New type.
2140 (class Installer): Change type of StandardDirs to std_dirs_t.
2141 (Installer::StandardDirs): Store filename and mode.
2142 (do_install_thread): Call io_stream::mkpath_p with name and mode from
2143 Installer::StandardDirs.
2144 * main.cc (main): Call setDefaultSecurity on global nt_sec.
2145 * IOStreamProvider.h (IOStreamProvider::mkdir_p): Add mode parameter.
2146 * LogFile.cc (LogFile::log_save): Call io_stream::mkpath_p with 0755
2147 mode.
2148 * UserSettings.cc (UserSettings::settingFileForSave): Ditto.
2149 * desktop.cc (make_link): Ditto.
2150 * download.cc (download_one): Ditto.
2151 * ini.cc (do_remote_ini): Ditto.
2152 (do_ini_thread): Ditto.
2153 * package_db.cc (packagedb::flush): Ditto.
2154 * archive.cc (archive::extract_file): Ditto. Call set_mtime_and_mode
2155 with mode from archive. Add code to handle directory permissions as
2156 well.
2157 * archive_tar.cc (archive_tar::get_mtime): Return time_t. Reformat.
2158 (archive_tar::get_mode): New method.
2159 * archive_tar.h (class archive_tar_file): Fix prototypes. Replace
2160 prototype for set_mtime with prototype for set_mtime_and_mode.
2161 (class archive_tar): Ditto.
2162 * archive_tar_file.cc (archive_tar_file::get_mtime): Return time_t.
2163 (archive_tar_file::get_mode): New method returning mode from tar header.
2164 * compress_bz.cc (compress_bz::set_mtime_and_mode): Replace set_mtime.
2165 (compress_bz::get_mtime): Return time_t.
2166 (compress_bz::get_mode): New function.
2167 * compress_gz.cc: Ditto.
2168 * compress_lzma.cc: Ditto.
2169 * io_stream.cc (io_stream::mkpath_p): Take additional file mode.
2170 Call mkdir_p with additional file mode.
2171 * io_stream_cygfile.cc (CygFileProvider::mkdir_p): Take additional file
2172 mode.
2173 (cygmkdir_p): Ditto. Call mkdir_p with additional file mode.
2174 (io_stream_cygfile::set_mtime_and_mode): Replace set_mtime. Call
2175 SetPosixPerms.
2176 * io_stream_file.cc (FileProvider::mkdir_p): Take additional file mode.
2177 (io_stream_file::set_mtime_and_mode): Replace set_mtime.
2178 * mkdir.cc (init_ntfuncs): New function to initialize function pointers
2179 from ntdll.dll.
2180 (mkdir_p): Take additional file mode. On NT, use NT functions to create
2181 directory. Call SetPosixPerms.
2182 * compress_bz.h: Change prototypes accordingly.
2183 * compress_gz.h: Ditto.
2184 * compress_lzma.h: Ditto.
2185 * io_stream.h: Ditto.
2186 * io_stream_cygfile.h: Ditto.
2187 * io_stream_file.h: Ditto.
2188 * io_stream_memory.h: Ditto.
2189 * mkdir.h: Ditto.
2190 * mklink2.cc (mkcygsymlink_nt): Open file with STANDARD_RIGHTS_ALL
2191 access and FILE_FLAG_BACKUP_SEMANTICS flag. Call SetPosixPerms.
2192 * mount.cc (from_fstab): Open file with FILE_FLAG_BACKUP_SEMANTICS.
2193 * script.cc (OutputLog::OutputLog): Call io_stream::mkpath_p with 0755
2194 mode. Open file with FILE_FLAG_BACKUP_SEMANTICS.
2195 * win32.cc (SetPosixPerms): New function to set POSIX-like permissions.
2196 (nt_sec): New global NTSecurity variable.
2197 (NTSecurity::setDefaultDACL): Open token with TOKEN_ADJUST_PRIVILEGES.
2198 (NTSecurity::setDefaultSecurity): Enable SE_BACKUP_NAME and
2199 SE_RESTORE_NAME privileges if available.
2200 * win32.h (SetPosixPerms): Add prototype.
2201 (class NTSecurity): Make everyOneSID and administratorsSID public.
2202 (nt_sec): Declare.
2203
2204 2008-08-14 Corinna Vinschen <corinna@vinschen.de>
2205
2206 * mount.cc (unconvert_slashes): New inline function.
2207 (skip_ws): New inline function.
2208 (find_ws): New inline function.
2209 (conv_fstab_spaces): New inline function.
2210 (from_fstab_line): New function to read single line from fstab file.
2211 (from_fstab): New function to read /etc/fstab file and fill mount
2212 table.
2213 (read_mounts_nt): Call from_fstab after getting setup/rootdir from
2214 registry. Only call add_usr_mnts if no fstab file found.
2215
2216 2008-08-13 Corinna Vinschen <corinna@vinschen.de>
2217
2218 * install.cc (Installer::installOne): Skip 46 bytes type tar package
2219 silently.
2220
2221 2008-08-13 Corinna Vinschen <corinna@vinschen.de>
2222
2223 * install.cc (Installer::installOne): Use MoveFileExW on NT. Special
2224 case for bug in Windows 2000.
2225 * package_meta.cc (packagemeta::uninstall): Use wide char file functions
2226 on NT.
2227 * win32.h (VersionInfo::major): New method.
2228 (VersionInfo::minor): New method.
2229 (OSMajorVersion): Define.
2230 (OSMinorVersion): Define.
2231
2232 2008-08-12 Corinna Vinschen <corinna@vinschen.de>
2233
2234 Revamp for Cygwin 1.7.
2235 * desktop.cc (make_cygwin_bat): Use wide char file functions on NT.
2236 (save_icon): Ditto.
2237 * filemanip.cc (tfx_chars): New char table for wide char transformation
2238 of reserved FS chars to UNICODE private use area.
2239 (transform_chars): New static function.
2240 (mklongpath): New function to convert multibyte path to wide char
2241 path with long path prefix.
2242 * filemanip.h (mklongpath): Declare.
2243 * ini.h (SETUP_INI_FILENAME): Use setup.ini filenames as defined in
2244 real life (setup-2.ini/setup.ini).
2245 (SETUP_BZ2_FILENAME): Ditto.
2246 * install.cc (do_install_thread): Don't create registry mount points
2247 on NT, rather create setup/rootdir entry.
2248 * io_stream_cygfile.cc: Throughout use wide char file functions on NT.
2249 (io_stream_cygfile::w_str): New method to create wide char path.
2250 * io_stream_cygfile.h (class io_stream_cygfile): Remove lmode member.
2251 Add wname member and w_str method.
2252 * io_stream_file.cc: Throughout use wide char file functions on NT.
2253 (io_stream_file::w_str): New method to create wide char path.
2254 * io_stream_file.h (class io_stream_file): Remove lmode member.
2255 Add wname member and w_str method.
2256 * mkdir.cc (mkdir_p): Use wide char file functions on NT.
2257 * mklink2.cc (mkcygsymlink_9x): Rename from mkcygsymlink. Make static.
2258 (mkcygsymlink_nt): New static function.
2259 (mkcygsymlink): Just call mkcygsymlink_9x or mkcygsymlink_nt dependent
2260 on OS.
2261 * mount.cc (CYGWIN_INFO_CYGWIN_SETUP_REGISTRY_NAME): Define.
2262 (remove1): Move to earlier point in file to avoid declaration.
2263 (remove_mount): Ditto. Make static.
2264 (create_install_root): New function to create setup/rootdir registry
2265 value on NT.
2266 (read_mounts_9x): Rename from read_mounts. Make static. Conditionalize
2267 for OS.
2268 (add_usr_mnts): New static function.
2269 (read_mounts_nt): Ditto, to read mounts on NT.
2270 (read_mounts): Just call read_mounts_nt or read_mounts_9x dependent on
2271 OS.
2272 (set_root_dir): On NT, call read_mounts.
2273 (cygpath): Only add slash for non-root mount to avoid multiple slashes
2274 in resulting path (invalid in long path names).
2275 * mount.h (find_mount): Drop declaration.
2276 (remove_mount): Ditto.
2277 (create_install_root): Add declaration.
2278 (read_mounts): Accommodate new parameter.
2279 * package_db.cc (chosen_db_task): New global variable.
2280 * package_db.h (chosen_db_task): Declare.
2281 * root.cc (check_if_enable_next): Don't use get_root_dir here to
2282 avoid having to call save_dialog in RootPage::OnMessageCmd.
2283 (GetDlgItemRect): New static inline function.
2284 (SetDlgItemRect): Ditto.
2285 (load_dialog): On NT, stretch "Install For" block to full dialog width
2286 and hide "Default Text File Type" block.
2287 (save_dialog): On NT set root_text always to IDC_ROOT_BINARY.
2288 (RootPage::OnMessageCmd): Remove call to save_dialog.
2289 (RootPage::OnNext): Initialize packagedb here the first time, to
2290 avoid fetching wrong data from different previous installation.
2291 * source.cc (save_dialog): Don't initialize packagedb here, rather
2292 just memorize setting in chosen_db_task for the deferred initialization
2293 in RootPage::OnNext.
2294
2295 2008-08-07 Dave Korn <dave.korn.cygwin@gmail.com>
2296
2297 Implement command-line selection of packages to install and make
2298 unattended mode deal with any dialogs that might arise. A joint
2299 effort synthesized from contributions by:
2300
2301 Dr. Frank Lee <rl201@cam.ac.uk>
2302 Bryan Thrall <bryan.thrall@flightsafety.com>
2303 Kohsuke Kawaguchi <kk@kohsuke.org>
2304 Dave Korn <dave.korn.cygwin@gmail.com>
2305
2306 * install.cc (rebootneeded): Don't define statically here.
2307 (do_install_thread): Let exit_msg reflect rebootneeded.
2308 * main.cc (main): If rebootneeded, log it when exiting.
2309 * msg.cc (mbox): In unattended_mode, choose and log default answer.
2310 * package_db.cc (packagedb::fillMissingCategory): Iterate over all
2311 packages adding those selected by packagemeta::isManuallyWanted to
2312 base category so that command-line selections are installed.
2313 * package_meta.cc (PackageOption): Add new StringOption to allow
2314 command-line selection of packages to add to base install.
2315 (packagemeta::isManuallyWanted): New function tests if package was
2316 selected on command-line.
2317 (packagemeta::addToCategoryBase): New function adds package to
2318 "base" category.
2319 * state.cc (rebootneeded): Define here non-static.
2320 * state.h (rebootneeded): Declare here with extern linkage.
2321 * threebar.cc (ThreeBarProgressPage::MaximizeDialog): Don't change
2322 size when running in unattended mode.
2323
2324 2008-08-05 Christopher Faylor <me+cygwin@cgf.cx>
2325
2326 * UserSettings.cc (UserSettings::settingFileForLoad): Look locally for
2327 settings before looking outside of current directory.
2328 * choose.cc (ChooserPage::ChooserPage): Record the property sheet's
2329 current show state via new passed in parameter.
2330 * choose.h (ChooserPage::ChooserPage): Reflect change in argument list.
2331 (ChooserPage::nCmdShow): Define new element.
2332 * main.cc (main): Send current show state to Chooser.
2333 * package_version.cc (packageversion::set_requirements): Increase
2334 recursion check from 5 to 30.
2335 * propsheet.cc (PropSheetWndProc): Register hwndDlg with
2336 ThreeBarProgressPage.
2337 * threebar.cc (ControlAdjuster::ControlInfo): Initialize cmd_show_set.
2338 (ThreeBarProgressPage::MaximizeDialog): New function.
2339 (ThreeBarProgressPage::OnMessageApp): Call MaximizeDialog to maximize
2340 package selection screen and restore when done.
2341 * threebar.h (ThreeBarProgressPage::MaximizeDialog): Declare function.
2342 (ThreeBarProgressPage::cmd_show_set): Declare variable.
2343 (ThreeBarProgressPage::cmd_show): Declare variable.
2344 (ThreeBarProgressPage::ins_dialog): Declare variable.
2345 (ThreeBarProgressPage::SetHwndDialog): Define function.
2346
2347 2008-07-22 Charles Wilson <cygwin@cwilson.fastmail.fm>
2348
2349 Add support for .tar.lzma files (decompress only).
2350
2351 * Makefile.am: Add new files.
2352 * compress.cc (compress::decompress): add support
2353 for compress_lzma.
2354 * compress_lzma.h: new file.
2355 * compress_lzma.cc: new file.
2356 * filemanip.cc (find_tar_ext): add support for
2357 .tar.lzma files.
2358 * install.cc (Installer::installOne): update comments.
2359 * lzma-sdk/LzmaDec.h: new file.
2360 * lzma-sdk/LzmaDec.c: new file.
2361 * lzma-sdk/Types.h: new file.
2362
2363 2008-07-08 Charles Wilson <cygwin@cwilson.fastmail.fm>
2364
2365 * compress.cc (compress::decompress): clean up concrete
2366 decompressor objects on failure -- but in that case, do
2367 NOT destroy original io_stream.
2368 * compress_bz.h (compress_bz::release_original): new method.
2369 (owns_original): new member variable.
2370 * compress_bz.cc (compress_bz::release_original): new method.
2371 (compress_bz::compress_bz): take ownership of parent by default.
2372 (compress_bz::~compress_bz): only delete original if
2373 owns_original is true.
2374 * compress_gz.h (compress_gz::release_original): new method.
2375 (owns_original): new member variable.
2376 * compress_gz.cc (compress_gz::release_original): new method.
2377 (compress_gz::construct): take ownership of parent by default.
2378 (compress_gz::~compress_gz): only delete original if
2379 owns_original is true.
2380
2381 2008-06-25 Dave Korn <dave.korn.cygwin@gmail.com>
2382
2383 * configure.in, gpg-error-config-fake: Revert previous removal.
2384
2385 2008-06-25 Dave Korn <dave.korn.cygwin@gmail.com>
2386
2387 * net.cc: Correct stray CRLF.
2388
2389 2008-06-25 Dave Korn <dave.korn.cygwin@gmail.com>
2390
2391 * configure.in (ac_cv_path_GPG_ERROR_CONFIG): Remove nasty hack.
2392 * gpg-error-config-fake: Delete file obsoleted by de-hackification.
2393
2394 2008-06-24 Christopher Faylor <me+cygwin@cgf.cx>
2395
2396 * configure.in: Disable shared library builds.
2397
2398 2008-06-24 Christopher Faylor <me+cygwin@cgf.cx>
2399
2400 * Makefile.am: Make and install libraries into common location and use
2401 them from there.
2402 * configure.in: Find gpg-error-config in the libgpg-error/src
2403 subdirectory rather than using the host system's version. Set the
2404 prefix and exec_prefix to a common location for the subdirs so that
2405 useful files will be installed in a common location.
2406
2407 2008-06-22 Dave Korn <dave.korn.cygwin@gmail.com>
2408
2409 Merged across diffs between setup_crypto_branch_branchpoint and
2410 setup_crypto_branch_mergepoint2 from setup_crypto_branch.
2411
2412 * crypto.cc, crypto.h, gpg-packet.cc, gpg-packet.h, KeysSetting.cc,
2413 KeysSetting.h, gpg-error-config-fake, cygwin.pub, cyg-pubkey.h,
2414 gpg-key-to-s-expr.sh: New files.
2415 * ini.cc, ini.h, resource.h, res.rc, netio.cc, Makefile.am,
2416 configure.ac, libgetopt++/src/OptionSet.cc: Modified files.
2417
2418 2008-06-21 Dave Korn <dave.korn.cygwin@gmail.com>
2419
2420 * ini.cc (do_remote_ini): Revert misbegotten removal of
2421 not-always-superfluous-after-all added slash in URLs.
2422
2423 2008-06-18 Dave Korn <dave.korn.cygwin@gmail.com>
2424
2425 * gpg-packet.h (GPG_KEY_SEXPR_BUF_SIZE): Move from here ...
2426 * crypto.h (GPG_KEY_SEXPR_BUF_SIZE): ... to here.
2427 (GPG_KEY_MAX_COEFF_SIZE): Add related definition.
2428
2429 2008-06-18 Dave Korn <dave.korn.cygwin@gmail.com>
2430
2431 * gpg-packet.cc (walk_packets_1): Check packet length field is
2432 valid sane and possible to avoid malicious manipulation.
2433 * ChangeLog: Corrected date on previous commit.
2434
2435 2008-06-18 Dave Korn <dave.korn.cygwin@gmail.com>
2436
2437 * crypto.cc (add_key_from_sexpr): Use real buffer size, not debug
2438 constant size.
2439
2440 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2441
2442 * crypto.cc (verify_ini_file_sig): Actually set init-once flag!
2443
2444 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2445
2446 * crypto.cc (KeepUntrustedKeysOption): Fix helpstring punctuation.
2447
2448 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2449
2450 * crypto.cc (verify_ini_file_sig): Fix two minor logic errors.
2451
2452 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2453
2454 * ini.h (current_ini_sig_name): Declare extern.
2455 * ini.cc (current_ini_sig_name): New variable.
2456 (NoVerifyOption): New boolean option.
2457 (do_remote_ini): If sig verification not disabled, attempt to
2458 download the matching sig file for any setup.bz2 or setup.ini
2459 and use it to verify or discard the download.
2460
2461 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2462
2463 * resource.h (IDS_SIG_INVALID, IDS_CRYPTO_ERROR): Reserve IDs for
2464 two new message strings.
2465 * res.rc (IDS_SIG_INVALID, IDS_CRYPTO_ERROR): Define the text.
2466
2467 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2468
2469 * Makefile.am (setup_SOURCES): Add new files crypto.cc, crypto.h,
2470 cyg-pubkey.h, gpg-packet.cc, gpg-packet.h. KeysSetting.cc and
2471 KeysSetting.h to the build.
2472 * crypto.cc, crypto.h, gpg-packet.cc, gpg-packet.h, KeysSetting.cc,
2473 KeysSetting.h: New files. Adds gpg sig verification support.
2474
2475 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2476
2477 * Makefile.am (DIST_SUBDIRS, SUBDIRS): Add libgpg-error and
2478 libgcrypt subdirs.
2479 (AM_CPPFLAGS): Add -I paths to generated headers in both and to
2480 shipped headers in libgcrypt.
2481 (setup_LDADD): Add libgpg-error.a and libgcrypt.a to final link.
2482
2483 * configure.in (ac_cv_path_GPG_ERROR_CONFIG): Preload into cache
2484 to fake out libgcrypt configure process.
2485 (AC_CONFIG_SUBDIRS): Add libgpg-error/ and libgcrypt/
2486
2487 * gpg-error-config-fake: New shell script to redirect libgcrypt
2488 sub-configure into looking for newly-built libgpg-error.
2489
2490 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2491
2492 * setup/libgpg-error/: Fresh import of upstream sources of
2493 libgpg-error-1.6.tar.bz2 from http://www.gnupg.org/
2494 * setup/libgcrypt/: Fresh import of upstream sources of
2495 libgcrypt-1.4.1.tar.bz2 from http://www.gnupg.org/
2496
2497 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2498
2499 * netio.cc (NetIO::set_url): Avoid double-free bug on delete
2500 by setting path to a strdup of url rather than using the same
2501 pointer value twice.
2502
2503 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2504
2505 * cygwin.pub: Add reference copy of Cygwin setup signing key.
2506 * gpg-key-to-s-expr.sh: New bash script. Outputs textual
2507 representation of public key in s-expr format.
2508 * cyg-pubkey.h: New header generated by the above from Cygwin
2509 setup signing key. Currently needs manual regeneration if key
2510 ever updated.
2511
2512 2008-04-16 Brian Dessent <brian@dessent.net>
2513
2514 * mount.cc: Include malloc.h.
2515 (is_admin): Use alloca instead of a VLA in case
2516 GetTokenInformation is sensitive to alignment.
2517
2518 2008-04-15 Brian Dessent <brian@dessent.net>
2519
2520 * mount.cc (is_admin): Get explicit size of required buffer by
2521 calling GetTokenInformation first with NULL.
2522
2523 2008-04-10 Brian Dessent <brian@dessent.net>
2524
2525 * Makefile.am (setup_LDFLAGS): Make sure static libbz2 and zlib
2526 are used.
2527
2528 2008-04-09 Brian Dessent <brian@dessent.net>
2529
2530 * README: flex and bison are required when building from CVS.
2531
2532 2008-04-08 Brian Dessent <brian@dessent.net>
2533
2534 * Makefile.am (snapshot): Provide default value of ${cygwinsite}
2535 if not set.
2536
2537 2008-04-08 Brian Dessent <brian@dessent.net>
2538
2539 * Makefile.am (release): Use -f so that "make release" works
2540 when existing binaries of the same name exist.
2541
2542 2008-04-08 Brian Dessent <brian@dessent.net>
2543
2544 * res.rc (IDD_SPLASH): Update copyright years on splash page.
2545
2546 2008-04-08 Brian Dessent <brian@dessent.net>
2547
2548 * CHANGES: Update.
2549 * install.cc (Installer::installOne): Cope with compressed
2550 0-byte dummy packages. Fix progress bar update bug introduced
2551 in earlier refactoring.
2552
2553 2008-04-08 Brian Dessent <brian@dessent.net>
2554
2555 * CHANGES: Update.
2556
2557 2008-04-08 Brian Dessent <brian@dessent.net>
2558
2559 Various warning/header cleanups necessary for clean gcc 4.3 build.
2560 * ConnectionSetting.cc: Include stdlib.h.
2561 * LogFile.cc: Ditto.
2562 * Makefile.am: Don't hardcode paths to MinGW libz and libbz2.
2563 * PickView.cc: Include limits.h.
2564 * String++.cc: Include string.h.
2565 * archive_tar.cc (archive_tar::next_file_name): Silence nested-if
2566 warning.
2567 * autoload.c: Switch back to .text section before emiting
2568 autoload_common.
2569 * choose.cc: Include stdlib.h and algorithm.
2570 * compress_gz.cc: Include memory.h and malloc.h.
2571 * filemanip.cc: Include string.h.
2572 (parse_filename): Silence nested-if warning.
2573 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Silence warning.
2574 * package_db.cc: Include algorithm.
2575 * site.cc (get_site_list): Silence warning.
2576 * win32.cc: Include memory.
2577 * csu_util/MD5Sum.cc: Include string.h.
2578
2579 2008-03-02 Dave Korn <dave.korn@artimi.com>
2580
2581 * install.cc (Installer::installOne): Accept new HWND argument
2582 from caller and pass it to MessageBox calls so that MB_TASKMODAL
2583 can work.
2584 (check_for_old_cygwin): Likewise.
2585 (do_install_thread): Pass owner's HWND (from thread context) when
2586 calling them.
2587
2588 2008-02-23 Dave Korn <dave.korn@artimi.com>
2589
2590 * cygpackage.cc (cygpackage::getfirstfile): Guard against trying to
2591 construct std::string from NULL returned by io_stream::gets when the
2592 stream decompressor fails on a corrupt *.lst.gz file.
2593
2594 2008-02-21 Dave Korn <dave.korn@artimi.com>
2595
2596 * geturl.cc (progress): Correct SI unit notation.
2597
2598 2008-02-01 Vincent Privat <vincent.privat@gmail.com>
2599
2600 * net.cc (OnInit): New StringOption (ProxyOption)
2601 This new option (-p) allows to call setup.exe with a proxy
2602 in its command-line arguments.
2603
2604 2007-07-31 Brian Dessent <brian@dessent.net>
2605
2606 * ini.cc (do_remote_ini): Fix crash due to double free of ini_file.
2607
2608 2007-07-30 Brian Dessent <brian@dessent.net>
2609
2610 * CHANGES: Update.
2611 * configure.in (AM_INIT_AUTOMAKE): Enable more automake warnings.
2612 * Makefile.am (INCLUDES): Use AM_CPPFLAGS instead.
2613 (CLEANFILES): Add. Minor portability tweaks.
2614 * tests/Makefile.am (INCLUDES): Use AM_CPPFLAGS instead.
2615 * archive.cc (archive::extract): Try to be more compatible when
2616 opening tar files.
2617 * compress_bz.cc: Fix whitespace throughout.
2618 (compress_bz::~compress_bz): Ensure that underlying io_stream's dtor is
2619 also run.
2620 * install.cc (Installer::installOne): Refactor.
2621 * package_db.cc (ConnectedLoopFinder::doIt): Move some log spewage into
2622 setup.log.full from setup.log.
2623 (packagedb::connectedBegin): Ditto. Consolidate log output to one line.
2624
2625 2007-07-02 Brian Dessent <brian@dessent.net>
2626
2627 * CHANGES: Update.
2628
2629 2007-06-26 Brian Dessent <brian@dessent.net>
2630
2631 * Makefile.am (release): Drop inconsistent use of $(EXEEXT). Leave an
2632 untouched copy of setup.exe so that later make invocations don't
2633 unnecessarily rebuild it.
2634 (snapshot): Fix typo.
2635 * install.cc (md5_one): Don't try to check packages whose
2636 pkgsource.Cached () is NULL, as with those whose download failed.
2637
2638 2007-06-26 Brian Dessent <brian@dessent.net>
2639
2640 * CHANGES: Update to reflect release branch.
2641
2642 2007-06-26 Brian Dessent <brian@dessent.net>
2643
2644 * CHANGES: Make current.
2645
2646 2007-05-30 Brian Dessent <brian@dessent.net>
2647
2648 * find.h (class Find): Make _start_dir non-const.
2649 * find.cc (Find::Find): Append a trailing slash to _start_dir only if
2650 it does not already contain one.
2651 (Find::accept): Use the previously stored value of _start_dir rather
2652 than unconditionally appending a slash.
2653
2654 2007-05-29 Brian Dessent <brian@dessent.net>
2655
2656 * Makefile.am: No need to specify the default value of --preprocessor
2657 to windres. Rework the automatic version extraction rules so that the
2658 source tarball is generated with the proper name and directory instead
2659 of setup-0. Update snapshot rule to also upload a copy of the binary
2660 with debugging symbols still present.
2661
2662 2007-05-29 Brian Dessent <brian@dessent.net>
2663
2664 This is a general tidying up/modernization of the build infrastructure.
2665 Renaming the lexer and parser to .ll and .yy allows using automake's
2666 builtin support for flex and bison with C++ sources, and libinilex is a
2667 slightly cleaner way of omitting -Werror.
2668
2669 * Makefile.am (AUTOMAKE_OPTIONS): Move to AM_INIT_AUTOMAKE.
2670 (AM_YFLAGS): Define.
2671 (AM_LFLAGS): Define.
2672 (INCLUDES): Remove redundant mingw directory.
2673 (EXTRA_DIST): Adjust for newly named lexer/parser.
2674 (BUILT_SOURCES): Ditto.
2675 (inilint_LDADD): Ditto.
2676 (inilint_SOURCES): Ditto.
2677 (setup_LDADD): Ditto.
2678 (setup_SOURCES): Ditto.
2679 (iniparse.cc): Remove custom rules.
2680 (inilex.cc): Ditto.
2681 * configure.in: Update quoting and use modern form of AC_INIT and
2682 AM_INIT_AUTOMAKE.
2683 * inilex.l: Rename from this ...
2684 * inilex.ll: ... to this.
2685 * iniparse.y: Rename from this ...
2686 * iniparse.yy: ... to this.
2687
2688 2007-05-29 Brian Dessent <brian@dessent.net>
2689
2690 * IniParseFindVisitor.cc (IniParseFindVisitor::IniParseFindVisitor):
2691 Remove error_buf and error_count initializers.
2692 (IniParseFindVisitor::visitFile): Store filename in current_ini_name.
2693 Use yyerror_count and yyerror_messages in place of removed error_count
2694 and error_buf members.
2695 * IniParseFindVisitor.h (class IniParseFindVisitor): Remove error_buf
2696 and error_count members.
2697 * ini.cc: Include io_stream_memory.h. Remove file static variables
2698 error_buf, error_count, and ini_filename.
2699 (GuiParseFeedback::progress): Remove some verbose log spam.
2700 (do_remote_ini): Recode .ini-fetching logic to properly display parse
2701 errors, and to account for corrupt bzip2 files.
2702 (yyerror): Moved elsewhere.
2703 (fprintf): Delete unused function.
2704 * ini.h: Remove useless __cplusplus guard. Declare extern variables
2705 current_ini_name, yyerror_messages, and yyerror_count.
2706 * inilex.l: Add current_ini_name, yyerror_messages, and
2707 yyerror_count.
2708 (ini_init): Initialize new variables.
2709 (yybol): Delete.
2710 (yyerror): Reimplement using std::string and relocate from ini.cc.
2711 * io_stream.cc (io_stream::copy): Add clarifying comment.
2712
2713 2007-05-04 Igor Peshansky <pechtcha@cs.nyu.edu>
2714
2715 * resource.h (IDC_STATIC_HEADER): New control id.
2716 * res.rc (IDD_SPLASH): Adjust the copyright.
2717 (IDD_DESKTOP): Make header text accessible as a separate control.
2718 * desktop.cc (set_status): Use eset() instead of SetWindowText().
2719 (load_dialog): Disable checkboxes and change dialog text in
2720 download-only mode.
2721 (DesktopSetupPage::OnInit): Disable checkboxes in download-only
2722 mode.
2723 * threebar.cc (ThreeBarProgressPage::OnMessageApp): Deprecate the
2724 default fallthrough.
2725 * download.cc (do_download_thread): Explicitly return the next
2726 dialog.
2727
2728 2007-04-19 Max Bowsher <maxb1@ukf.net>
2729
2730 * configure.in: Turn inilint default build off again, since I cannot
2731 get it to work.
2732
2733 2007-04-19 Max Bowsher <maxb1@ukf.net>
2734
2735 * configure.in: Make inilint built by default.
2736
2737 2007-04-19 Max Bowsher <maxb1@ukf.net>
2738
2739 * inilintmain.cc: Fix multiple compile errors.
2740
2741 2007-04-19 Max Bowsher <maxb1@ukf.net>
2742
2743 * Makefile.am: Make inilint use same warnonly-inilex workaround that
2744 setup already does.
2745
2746 2007-03-29 Igor Peshansky <pechtcha@cs.nyu.edu>
2747
2748 * LogFile.cc (LogFile::exit): Write exit_msg directly to log, without
2749 the message box.
2750 * resource.h (IDC_DESKTOP_SEPARATOR,IDC_STATUS_HEADER,IDC_STATUS): New
2751 control ids.
2752 * res.rc (IDD_DESKTOP): Change the caption. Add status information.
2753 * desktop.h (DesktopSetupPage::DesktopSetupPage): Define constructor
2754 in the implementation.
2755 * desktop.cc (DesktopControlsInfo): Position specifiers for status
2756 information items.
2757 (DesktopSetupPage::DesktopSetupPage): Register position specifiers.
2758 (set_status): New static method.
2759 (load_dialog): Set status information, if available.
2760 (DesktopSetupPage::OnInit): Set status header font.
2761
2762 2007-03-01 Brian Dessent <brian@dessent.net>
2763
2764 * ini.h (SETUP_INI_FILENAME): Rename setup_9x.ini to setup_legacy.ini.
2765 (SETUP_BZ2_FILENAME): Likewise.
2766
2767 2007-02-27 Brian Dessent <brian@dessent.net>
2768
2769 * ini.h (SETUP_INI_FILENAME): Add define.
2770 (SETUP_BZ2_FILENAME): Add define.
2771 * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Use
2772 above macros to parameterize setup.ini filename.
2773 * fromcwd.cc (SetupFindVisitor::visitFile): Ditto.
2774 * ini.cc (do_remote_ini): Ditto.
2775 * Makefile.am (setup_SOURCES): Add win32.cc.
2776 * autoload.c: Include windows.h directly instead of win32.h so that
2777 win32.h can contain C++.
2778 * desktop.cc (verinfo): Delete.
2779 (make_link): Use IsWindowsNT to check for NT instead of verinfo.
2780 (DesktopSetupPage::OnInit): Likewise.
2781 * mount.cc (is_admin): Likewise.
2782 * script.cc (init_run_script): Likewise.
2783 * main.cc (class SIDWrapper, SIDWrapper::SIDWrapper,
2784 SIDWrapper::~SIDWrapper, SIDWrapper::theSID, class HANDLEWrapper,
2785 HANDLEWrapper::HANDLEWrapper, HANDLEWrapper::~HANDLEWrapper,
2786 HANDLEWrapper::theHANDLE, class TokenGroupCollection,
2787 TokenGroupCollection::TokenGroupCollection,
2788 TokenGroupCollection::~TokenGroupCollection,
2789 TokenGroupCollection::populate, TokenGroupCollection::find,
2790 class NTSecurity, set_default_sec, NTSecurity::NoteFailedAPI,
2791 NTSecurity::NTSecurity, NTSecurity::failed,
2792 NTSecurity::initialiseEveryOneSID, NTSecurity::setDefaultDACL,
2793 NTSecurity::setDefaultSecurity): Remove implementation of these
2794 classes from this file and into new file win32.cc and existing win32.h.
2795 (main): Fix whitespace and formatting per GNU coding standards.
2796 * res.rc (IDS_SETUPINI_MISSING): Parameterize filename with %s.
2797 * win32.cc: New file containing methods removed from main.cc as well
2798 as new class VersionInfo methods.
2799 * win32.h: Include <string> for std::string.
2800 (class SIDWrapper, class HANDLEWrapper, class TokenGroupCollection,
2801 class NTSecurity): Add classes removed from main.cc.
2802 (class VersionInfo): Add new class.
2803 (GetVer): Declare.
2804 (IsWindowsNT): Define.
2805
2806 2007-02-20 Brian Dessent <brian@dessent.net>
2807
2808 * README: Modernize list of required packages, and mention doconfigure.
2809
2810 2007-02-17 Cesar Strauss <cstrauss@cea.inpe.br>
2811
2812 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource):
2813 Initialize the version and operator fields of the newly created
2814 PackageSpecification object, so setup can pick the correct source
2815 version later on.
2816
2817 2007-02-17 Brian Dessent <brian@dessent.net>
2818
2819 * script.cc (Script::run): Check for existance of script file and
2820 return without doing anything if it does not exist.
2821
2822 2006-12-26 Max Bowsher <maxb1@ukf.net>
2823
2824 * IniDBBuilder.h (IniDBBuilder): Make this class abstract.
2825 * IniDBBuilder.cc: Delete file.
2826 * Makefile.am (inilint_SOURCES, setup_SOURCES): Remove IniDBBuilder.cc.
2827
2828 2006-12-26 Max Bowsher <maxb1@ukf.net>
2829
2830 Add a shell script that documents/centralizes the standard configure
2831 command line.
2832
2833 * doconfigure: New file.
2834 * Makefile.am (EXTRA_DIST): Add doconfigure.
2835
2836 2006-11-28 Igor Peshansky <pechtcha@cs.nyu.edu>
2837
2838 * install.cc (Installer::installOne): If file is in use, ask the user
2839 to stop processes and retry.
2840 (MB_RETRYCONTINUE, IDCONTINUE): New macros.
2841 (hMsgBoxHook): New static field.
2842 (CBTProc): New window hook function.
2843 (_custom_MessageBox): New function.
2844 * CHANGES: Update with the above.
2845
2846 2006-10-12 Igor Peshansky <pechtcha@cs.nyu.edu>
2847
2848 * desktop.cc (make_cygwin_bat,save_icon): Capitalize filename.
2849
2850 2006-08-06 Igor Peshansky <pechtcha@cs.nyu.edu>
2851
2852 * package_version.cc (packageversion::scan): Catch and handle
2853 validation exception.
2854
2855 2006-08-06 Igor Peshansky <pechtcha@cs.nyu.edu>
2856
2857 * cygpackage.h (filesize): Remove unused field.
2858 (cygpackage::createInstance): Ditto.
2859 * cygpackage.cc (cygpackage::createInstance): Ditto.
2860 * package_db.cc (packagedb::packagedb): Remove unused variables.
2861 Simplify parsing of installed.db.
2862
2863 2006-08-06 Igor Peshansky <pechtcha@cs.nyu.edu>
2864
2865 * desktop.cc (DesktopSetupPage::OnInit): Remove stray MessageBox.
2866
2867 2006-05-24 Igor Peshansky <pechtcha@cs.nyu.edu>
2868
2869 * PickPackageLine.h (PickPackageLine::DrawIcon): Move to PickView.
2870 * PickView.h (PickView::DrawIcon): Move from PickPackageLine.
2871 (PickView::icon_dc,PickView::bm_icon): New instance field.
2872 (PickView::rect_icon,PickView::bg_fg_brush): Ditto.
2873 * PickCategoryLine.cc (PickCategoryLine::paint): Use
2874 PickView::DrawIcon() instead of BitBlt().
2875 * PickPackageLine.cc (PickPackageLine::DrawIcon): Move to PickView.
2876 (PickPackageLine::paint): Use PickView::DrawIcon().
2877 * PickView.cc (PickView::~PickView): Delete GDI objects.
2878 (PickView::init): Create icon drawing context.
2879 (PickView::DrawIcon): New function. Use system default colors to
2880 draw bitmaps.
2881 (PickView::paint): Set background color instead of using transparent
2882 mode. Create system-colored brush.
2883
2884 2006-04-25 Brian Dessent <brian@dessent.net>
2885
2886 * COPYING: New file (GPL).
2887 * Makfile.am (EXTRA_DIST): Add COPYING.
2888
2889 2006-04-17 Max Bowsher <maxb1@ukf.net>
2890
2891 * String++.cc, String++.h: Finally, it's time for the long-awaited
2892 departure of 'class String' from this world. setup.exe can now
2893 happily claim to follow the sane path of using just one general
2894 purpose string class throughout :-)
2895
2896 2006-04-17 Max Bowsher <maxb1@ukf.net>
2897
2898 * cygpackage.cc, cygpackage.h, package_version.cc, package_version.h:
2899 Do some String to std::string migration.
2900
2901 2006-04-17 Max Bowsher <maxb1@ukf.net>
2902
2903 * package_meta.cc, package_meta.h, package_source.cc,
2904 package_source.h: Do some String to std::string migration.
2905 * package_db.cc: Small tweak to assist with the above.
2906
2907 2006-04-17 Max Bowsher <maxb1@ukf.net>
2908
2909 * PickView.cc, PickView.h, package_db.cc, package_db.h:
2910 Do some String to std::string migration.
2911 * package_meta.h: Change a couple of types to assist with the above.
2912
2913 2006-04-17 Max Bowsher <maxb1@ukf.net>
2914
2915 * IniDBBuilder.cc, IniDBBuilder.h, IniDBBuilderPackage.cc,
2916 IniDBBuilderPackage.h, PickLine.h, PickPackageLine.cc:
2917 Do some String to std::string migration.
2918
2919 2006-04-16 Max Bowsher <maxb1@ukf.net>
2920
2921 * FindVisitor.cc, FindVisitor.h, IniParseFindVisitor.cc,
2922 IniParseFindVisitor.h, ScanFindVisitor.cc, ScanFindVisitor.h, find.cc,
2923 find.h, fromcwd.cc, ini.cc, ini.h, iniparse.y, postinstall.cc:
2924 Do some String to std::string migration.
2925
2926 2006-04-16 Max Bowsher <maxb1@ukf.net>
2927
2928 * IOStreamProvider.h, archive.cc, archive.h, archive_tar.cc,
2929 archive_tar.h, io_stream.cc, io_stream.h, io_stream_cygfile.cc,
2930 io_stream_cygfile.h, io_stream_file.cc, io_stream_file.h:
2931 Do some String to std::string migration.
2932
2933 2006-04-16 Max Bowsher <maxb1@ukf.net>
2934
2935 * desktop.cc, download.cc, install.cc, mount.cc, mount.h, script.cc,
2936 script.h: Do some String to std::string migration.
2937
2938 2006-04-16 Max Bowsher <maxb1@ukf.net>
2939
2940 * category.cc: Remove source file that contained no code!
2941 * category.h: Delete, moving the single useful line to...
2942 * package_meta.h: ...here. Remove category.h include.
2943 * choose.cc, package_db.h, package_meta.cc: Remove category.h include.
2944 * Makefile.am: Remove references to removed files.
2945
2946 2006-04-15 Max Bowsher <maxb1@ukf.net>
2947
2948 * ConnectionSetting.cc, ConnectionSetting.h, Exception.cc,
2949 Exception.h, IniParseFeedback.cc, IniParseFeedback.h, LogFile.cc,
2950 LogFile.h, LogSingleton.h, PackageSpecification.cc,
2951 PackageSpecification.h, SourceSetting.cc, SourceSetting.h,
2952 UserSettings.cc, UserSettings.h, dialog.cc, dialog.h, diskfull.cc,
2953 diskfull.h, filemanip.cc, filemanip.h, inilintmain.cc, localdir.cc,
2954 main.cc, nio-file.cc, nio-http.cc, prereq.cc, prereq.h, proppage.cc,
2955 proppage.h, site.cc, site.h, splash.cc, state.cc, state.h, window.cc,
2956 window.h: Do some String to std::string migration.
2957
2958 2006-04-15 Max Bowsher <maxb1@ukf.net>
2959
2960 * String++.cc, String++.h
2961 (new_cstr_char_array, format_1000s): Migrate String to std::string.
2962 (casecompare_lt_op, std::string operator+): New.
2963
2964 2006-04-06 Max Bowsher <maxb1@ukf.net>
2965
2966 * String++.h, String++.cc
2967 (String::replace): Remove - usused.
2968 (String::find): Remove - semantics do not match std::string.
2969
2970 * root.cc (directory_is_rootdir): Switch to std::string.find().
2971 * script.cc (Script::baseName): Rewrite use of String.find().
2972
2973 2006-03-30 Max Bowsher <maxb1@ukf.net>
2974
2975 * String++.cc (replace): New function to take the place of one form
2976 of String::replace method.
2977 * String++.h (replace): Declare.
2978 (String::replace): Make private.
2979
2980 * desktop.cc (make_cygwin_bat): Use new function.
2981 * filemanip.cc (backslash): Use simple loop in place of
2982 String::replace.
2983 * filemanip.h (backslash): Change signature to use std::string in
2984 place of String.
2985
2986 2006-03-30 Max Bowsher <maxb1@ukf.net>
2987
2988 * String++.cc, String++.h (casecompare): New function replacing
2989 String.casecompare to increase parity with std::string.
2990 (String::casecompare): Make private.
2991
2992 * ConnectionSetting.cc, IniDBBuilderPackage.cc,
2993 IniParseFindVisitor.cc, LogFile.cc, PackageSpecification.cc,
2994 PickView.cc, SourceSetting.cc, String++.cc, String++.h, fromcwd.cc,
2995 io_stream.cc, mount.cc, package_db.cc, package_source.h,
2996 package_version.cc, prereq.h, script.cc:
2997 Use casecompare in place of String::casecompare.
2998
2999 2006-03-30 Max Bowsher <maxb1@ukf.net>
3000
3001 * String++.cc, String++.h: Remove String(int) constructor, which
3002 was causing dangerously bizarre implicit conversions, and was a point
3003 of disparity between String and std::string.
3004 (stringify): New function to replace functionality removed above.
3005
3006 * PickView.cc (PickView::init_headers),
3007 archive_tar.cc (archive_tar::next_file_name),
3008 cygpackage.cc (cygpackage::setCanonicalVersion):
3009 Make explicit and call out with a FIXME some bizarre behaviour.
3010
3011 * ScanFindVisitor.cc (ScanFindVisitor::visitFile),
3012 filemanip.cc (base), iniparse.y,
3013 threebar.cc (ThreeBarProgressPage::SetBar2):
3014 Make simple adaptations to the changed API.
3015
3016 2006-03-14 Igor Peshansky <pechtcha@cs.nyu.edu>
3017
3018 * PickView.cc (PickView::setViewMode): Auto-expand category if
3019 its name starts with a dot.
3020
3021 2006-03-14 Dave Korn <dave.korn@artimi.com>
3022
3023 * String++.cc (new_cstr_char_array): Handle null input correctly.
3024
3025 2006-03-10 Christopher Faylor <cgf@timesys.com>
3026
3027 * res.rc: Update copyright.
3028 (IDS_MIRROR_LST): Use cygwin.com for mirror list, not
3029 sources.redhat.com.
3030 * site.cc (NOSAVE1): Use preferred name of sourceware site.
3031 (NOSAVE2): sourceware.cygnus.com -> sources.redhat.com.
3032 (NOSAVE1_LEN): Use just-defined name to determine length.
3033 (NOSAVE2_LEN): Ditto.
3034 (NOSAVE3_LEN): Ditto.
3035
3036 2006-03-10 Bas van Gompel <patch-cygsup.buzz@bavag.tmfweb.nl>
3037
3038 * res.rc (IDD_DROPPED): New dialog.
3039 * resource.h (IDD_DROPPED): New dialog-id.
3040 (IDC_DROP_MIRRORS, IDC_DROP_NOWARN): New control-ids.
3041 * site.cc: Add enum for response on dropped mirrors.
3042 (cache_is_usable, cache_needs_writing): New bools.
3043 (cache_warn_urls): New string.
3044 (cached_site-list, dropped_site_list): New SiteLists.
3045 (site_list_type::init, site_list_type::site_list_type): Change to four
3046 parameter form.
3047 (site_list_type::site_list_type, site_list_type::operator=) Copy
3048 servername, area and location.
3049 (load_site_list): New function, broken out of get_site_list. Support
3050 four-parameter site_list_type.
3051 (get_site_list): Break out load_site_list. Move reading cache earlier.
3052 Don't write new cache. Set flags to record cache state. Load both
3053 all_site_list and cached_site_list.
3054 (SiteSetting::registerSavedSite): Use four-parameter site_list_type.
3055 (drop_proc, check_dropped_mirrors, write_cache_list, save_cache_file):
3056 New functions.
3057 (SitePage::OnNext): Check for dropped mirrors and save cache as
3058 appropriate.
3059 (SitePage::OnMessageCmd): Use four-parameter site_list_type.
3060 * site.h
3061 (site_list_type::init, site_list_type::site_list_type): Change to four
3062 parameter form.
3063 (site_list_type): Add servername, area and location members.
3064
3065 2006-03-09 Igor Peshansky <pechtcha@cs.nyu.edu>
3066
3067 * script.cc (Script::run): Fix inverted test for abnormal exit.
3068
3069 2006-03-09 Bas van Gompel <patch-cygsup.buzz@bavag.tmfweb.nl>
3070 Max Bowsher <maxb1@ukf.net>
3071
3072 Provide indication of site that a file is being downloaded from.
3073
3074 * geturl.cc: Use std::string instead of String throughout.
3075 (init_dialog): Put more information into GUI.
3076 Remove unused 'owner' parameter and change all callers.
3077 (progress): Remove spurious \n characters from GUI.
3078 * geturl.h: Use std::string instead of String throughout.
3079 * res.rc (IDD_INSTATUS): Use SS_ENDELLIPSIS.
3080
3081 2006-03-09 Max Bowsher <maxb1@ukf.net>
3082
3083 * Makefile.am (EXTRA_DIST): Add tree-minus.bmp and tree-plus.bmp.
3084
3085 2006-01-20 Bryan Thrall <bryan.thrall@flightsafety.com>
3086
3087 * source.cc (SourcePage::OnActivate): Command line takes precedence
3088 over last user selection.
3089
3090 2005-11-30 Max Bowsher <maxb1@ukf.net>
3091
3092 * res.rc (IDD_ROOT, IDD_LOCAL_DIR): Rearrange some controls a little,
3093 in response to suggestion from Carl Karsten.
3094
3095 2005-11-30 Max Bowsher <maxb1@ukf.net>
3096
3097 * site.h, site.cc: Use std::string in preference to String.
3098 (site_list_type::init): Convert some painful raw C string work to
3099 STL std::string work. Stop totally ignoring the result of this
3100 calculation, implementing the (somewhat weird) sort order for sites
3101 that was apparently indented for ages.
3102
3103 2005-10-14 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3104
3105 * io_stream.cc (url_scheme_not_registered): New macro.
3106 (io_stream::open): Better log message on error.
3107 (io_stream::mkpath_p,io_stream::remove,io_stream::mklink): Ditto.
3108 (io_stream::move,io_stream::exists): Ditto.
3109
3110 2005-10-13 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3111
3112 * site.cc (get_site_list): Default to empty mirror list if
3113 server unavailable and none cached, to allow using preferred
3114 mirrors anyway.
3115
3116 2005-09-29 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3117
3118 * package_db.cc (packagedb::packagedb): Remember missing package
3119 database file.
3120
3121 2005-09-29 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3122
3123 * site.cc (get_site_list): Store mirror list locally.
3124 Use local copy if unable to download.
3125
3126 2005-09-27 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3127
3128 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile):
3129 Better log message on error.
3130
3131 2005-09-27 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3132
3133 * script.cc (Script::isAScript): Fix string comparison.
3134
3135 2005-09-27 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3136
3137 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Reconnect on FTP timeout.
3138
3139 2005-09-11 Masayuki FUJII <boochang@m4.kcn.ne.jp>
3140
3141 * package_meta.cc (packagemeta::ScanDownloadedFiles): Don't use an
3142 invalid iterator. Fix whitespace.
3143
3144 2005-09-09 Brian Dessent <brian@dessent.net>
3145
3146 * CHANGES: Document recent updates.
3147 * choose.cc (ChooserPage::OnInit): Add new tooltip.
3148 * res.rc (IDD_CHOOSE): Remove 'administrative' from description.
3149 (IDS_HIDEOBS_TOOLTIP): Add new string for tooltip.
3150 * resource.h (IDS_HIDEOBS_TOOLTIP): Define.
3151 * window.cc (Window::ActivateTooltips): Fix whitespace. Set tooltip
3152 delay to 30 seconds.
3153
3154 2005-09-09 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3155
3156 * PickView.cc (PickView::paint): Set background mode to transparent.
3157 * PickCategoryLine.cc (PickCategoryLine::paint): Use bitwise AND to
3158 blit bitmaps.
3159 * PickPackageLine.cc (PickPackageLine::paint): Ditto.
3160
3161 2005-09-01 Brian Dessent <brian@dessent.net>
3162
3163 * package_meta.cc (packagemeta::uninstall): Remove support for
3164 undocumented and dangerous postremove script.
3165
3166 2005-09-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3167
3168 * script.cc (run): Change to return the exit code or negative error.
3169 (Script::run): Ditto.
3170 (try_run_script): Receive both filename and extension and run only
3171 one script. Also return the exit code.
3172 * script.h (try_run_script): Change signature.
3173 (Script::run): Ditto.
3174 * postinstall.cc (RunScript::operator()): Change to return the exit
3175 code or negative error.
3176 * install.cc (Installer::preremoveOne): Pass extension to
3177 try_run_script().
3178
3179 2005-09-01 Eric Blake <ebb9@byu.net>
3180
3181 * script.cc (shells): Use /bin/bash, not sh, to allow upgrades to
3182 /bin/sh.
3183
3184 2005-09-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3185
3186 * PickView.h (PickView::size_col): New instance variable.
3187 * PickView.cc (pkg_headers, cat_headers): Add size column.
3188 (PickView::set_headers): Initialize size_col.
3189 (PickView::init_headers): Include width of size column.
3190 * PickPackageLine.cc (PickPackageLine::paint): Handle size_col.
3191 * String++.cc (format_1000s): New function.
3192 * String++.h (format_1000s): Declare new function.
3193
3194 2005-09-01 Brian Dessent <brian@dessent.net>
3195
3196 * Makefile.am (BASECXXFLAGS): Add -Wno-uninitialized to work around
3197 spurious warnings with gcc 3.4.4.
3198
3199 2005-05-22 Brian Dessent <brian@dessent.net>
3200
3201 * res.rc (IDD_CHOOSE): Change description to include administrative
3202 packages in addition to obsolete.
3203
3204 2005-05-21 Brian Dessent <brian@dessent.net>
3205
3206 * prereq.cc: New file.
3207 * prereq.h: Ditto.
3208 * tree-minus.bmp: Ditto.
3209 * tree-plus.bmp: Ditto.
3210 * Makefile.am: Add prereq.cc and prereq.h to build.
3211 * PickCategoryLine.cc (PickCategoryLine::paint): Add new parameter and
3212 refactor. Use bitmap for '+' and '-' indicators. Draw package lines
3213 column-wise for better drawing efficiency.
3214 (PickCategoryLine::click): Use previously calculated x value.
3215 * PickCategoryLine.h (PickCategoryLine::paint): Update prototype. Add
3216 'spin_x' member.
3217 * PickLine.h (PickLine:paint): Update prototype.
3218 * PickPackageLine.cc (PickPackageLine::DrawCheck): Remove.
3219 (PickPackageLine::DrawIcon): New function.
3220 (PickPackageLine::paint): Add parameter. Refactor completely for more
3221 efficient painting.
3222 * PickPackageLine.h (PickPackageLine::DrawIcon): Add prototype.
3223 (PickPackageLine::paint): Update prototype.
3224 (PickPackageLine::DrawCheck): Remove.
3225 * PickView.cc (pkg_headers): Remove unused 'slen' field, add new
3226 'needs_clip' field to signify if clipping is necessary for this column.
3227 (PickView::note_width): Fold long line. Refactor slightly for
3228 simplicity.
3229 (PickView::set_view_mode): Remove.
3230 (PickView::cycleViewMode): New function.
3231 (PickView::setViewMode): Refactor completely. Incorporate functionality
3232 of clear_view() here instead. Simplify package selection into a single
3233 'for' loop rather than repeating code for each type.
3234 (isObsolete): New function, with second overloaded version.
3235 (PickView::setObsolete): New function.
3236 (PickView::insert_pkg): Do not show obsolete packages. Move
3237 declaration of 'db' lower. Fix whitespace.
3238 (PickView::insert_category): Do not show obsolete packages.
3239 (PickView::clear_view): Remove. Moved logic into 'setViewMode'.
3240 (PickView::scroll): Add additional parameter 'howmany' with default
3241 value of 1. Scroll by 'howmany' lines for SB_LINEDOWN and SB_LINEUP.
3242 (NUM_CATEGORY_COL_WIDTH): Define.
3243 (PickView::init_headers): Fix whitespace. Add comments. Ignore
3244 obsolete packages in width calculations. Add functionality to size
3245 'Category' column so that at least NUM_CATEGORY_COL_WIDTH categories
3246 are displayed for every package. Ensure that 'new_col' takes into
3247 account all possible labels.
3248 (PickView::PickView): Initialize showObsolete to false.
3249 (PickView::init): Remove unused bitmap bm_rtarrow. Add new bitmaps
3250 bm_treeplus and bm_treeminus. Use a macro for better readability.
3251 Fix whitespace formatting. Remove header computation from here, call
3252 refresh() instead.
3253 (PickView::registerWindowClass): Remove unnecessary background brush.
3254 (PickView::WindowProc): Add support for WM_MOUSEWHEEL message
3255 processing. Fix indentation. Reformat for readability.
3256 (PickView::paint): Get the update region before calling BeginPaint.
3257 Fill the update region with the default colors. Do not do clipping
3258 here. Pass update region to the PickLine paint function instead.
3259 Free the update region when finished.
3260 (PickView::Create): Fix indentation.
3261 (PickView::defaultTrust): Ditto.
3262 (PickView::refresh): Add column recalculation logic here.
3263 * PickView.h: Fix indentation.
3264 (RTARROW_WIDTH): Remove unused define.
3265 (NEW_COL_SIZE_SLOP): Ditto.
3266 (TREE_INDENT): Define.
3267 (PickView::get_view_mode): Remove.
3268 (PickView::set_view_mode): Rename to setViewMode for consistency.
3269 (PickView::cycleViewMode): Add new function.
3270 (PickView::setObsolete): Ditto.
3271 (PickView::clear_view): Remove.
3272 (PickView::bm_treeplus): Define new member.
3273 (PickView::bm_treeminus): Ditto.
3274 (PickView::scroll): Add parameter.
3275 (PickView::Header::slen): Remove unused member.
3276 (PickView::Header::needs_clip): Define new member.
3277 (PickView::showObsolete): Ditto.
3278 (isObsolete): Add prototype, and for overloaded version as well.
3279 * choose.cc: Add include.
3280 (ChooserControlsInfo): Allow new checkbox to be resized.
3281 (ChooserPage::OnInit): Start dialog with 'Hide obsolete' checked.
3282 (ChooserPage::OnNext): Call the dependency checker, act accordingly.
3283 (ChooserPage::changeTrust): Notify dependency checker of current trust
3284 level when it changes.
3285 (ChooserPage::OnMessageCmd): Just call cycleViewMode instead when
3286 changing the view. Update the chooser when the user toggles the
3287 'hide obsolete' checkbox.
3288 (ChooserPage::OnMouseWheel): New function. Pass mouse wheel message
3289 on to chooser.
3290 * choose.h (OnMouseWheel): Add prototype.
3291 * main.cc: Add include.
3292 (main): Define and initialize the PrereqPage object. Add it into
3293 the property sheet list.
3294 * PropPage.cc (PropertyPage::DialogProc): Add support for WM_MOUSEWHEEL
3295 message processing in derived classes.
3296 (PropertyPage::OnMouseWheel): New function.
3297 * PropPage.h (PropertyPage::OnMouseWheel): Add prototype.
3298 * res.rc (IDD_LOCAL_DIR): Shorten edit box so that pushbutton is not
3299 crowded.
3300 (IDD_SITE): Provide static text with an ID so that it can be resized
3301 properly. Move pushbutton slightly to right so that it doesn't crowd
3302 edit box.
3303 (IDD_SPLASH): Change copyright displayed on spash screen to be generic
3304 since the actual list of contributors is long.
3305 (IDD_CHOOSE): Add checkbox. Resize other controls to accomodate.
3306 (IDD_PREREQ): New dialog.
3307 (SPIN): Delete duplicated bitmap resource.
3308 (IDB_RTARROW): Remove unused bitmap resource.
3309 (IDB_TREE_PLUS): Add.
3310 (IDB_TREE_MINUS): Ditto.
3311 (IDS_TRUSTPREV_TOOLTIP): Revise wording to be more concise.
3312 (IDS_TRUSTCURR_TOOLTIP): Ditto.
3313 (IDS_TRUSTEXP_TOOLTIP): Ditto.
3314 (IDS_VIEWBUTTON_TOOLTIP): Ditto.
3315 * resource.h (IDD_PREREQ): Define.
3316 (IDB_RTARROW): Remove.
3317 (IDB_TREE_PLUS): Add, and renumber.
3318 (IDB_TREE_MINUS): Ditto.
3319 (IDC_SITE_USERURL): Define.
3320 (IDC_CHOOSE_HIDE): Ditto.
3321 (IDC_PREREQ_TEXT): Ditto.
3322 (IDC_PREREQ_EDIT): Ditto.
3323 (IDC_PREREQ_CHECK): Ditto.
3324 * site.cc (SiteControlsInfo): Ensure that 'User URL' static text is
3325 properly resized.
3326
3327 2005-05-14 Max Bowsher <maxb@ukf.net>
3328
3329 "Type" field of packageversions was not even being filled in. Fix.
3330
3331 * cygpackage.h, cygpackage.cc (cygpackage::createInstance):
3332 Make "type" a mandatory parameter of the constructor.
3333 * IniDBBuilderPackage.cc: Adjust callers.
3334
3335 2005-05-14 Bas van Gompel <patch-cygsup.buzz@bavag.tmfweb.nl>
3336
3337 Fix behaviour of hardlinks in source packages.
3338
3339 * archive.cc (archive::extract_file):
3340 Use prefixPath for link target on hardlinks.
3341
3342 2005-05-14 Max Bowsher <maxb@ukf.net>
3343
3344 Hopefully, solve the "preremove DLL dependency" bug, by running all
3345 preremove scripts before actually removing any files.
3346
3347 * install.cc
3348 (Installer::preremoveOne): New method. Run preremove scripts here.
3349 (Installer::replaceOne): Remove method.
3350 (num_replacements): Remove variable.
3351 (do_install_thread): Significantly rewrite.
3352 * package_meta.cc (packagemeta::uninstall):
3353 Do not run preremove script here.
3354
3355 2005-05-14 Max Bowsher <maxb@ukf.net>
3356
3357 * download.cc (do_download_thread):
3358 Do not use packageversion::changeRequested().
3359 * package_version.cc (packageversion::Type):
3360 Implement declared but previously unimplemented method.
3361 (packageversion::changeRequested, _packageversion::changeRequested):
3362 Remove.
3363 * package_version.h
3364 (packageversion::changeRequested, _packageversion::changeRequested):
3365 Remove.
3366 * install.cc (Installer::replaceOne): Simplify, return void, not int.
3367 (installOneSource): Rename to...
3368 (installOne): ...this. Change arguments and return type. Refactor.
3369 (install_one): Remove.
3370 (do_install_thread): Tidying up.
3371
3372 2005-05-07 Max Bowsher <maxb@ukf.net>
3373
3374 * download.cc (validateCachedPackage): Remove all MD5 checking code.
3375 It is not acceptable to check MD5 sums as part of simply answering
3376 whether a package exists in the local cache or not. It is too slow.
3377 MD5 sums always have been - and will continue to be - checked at
3378 install time.
3379 (NoMD5Option): Remove this option, as the code it controls has been
3380 removed.
3381
3382 2005-05-07 Max Bowsher <maxb@ukf.net>
3383
3384 * install.cc (md5_one): Make the MD5 checking done at install time
3385 display a progess GUI, as the MD5 checking done at other times does.
3386
3387 2005-05-07 Max Bowsher <maxb@ukf.net>
3388
3389 * resource.h, res.rc: Followup to recent de-MSVC-ification of
3390 resource.h, by removing a lot from res.rc, and the last few bits
3391 from resource.h.
3392
3393 2005-05-05 Brian Dessent <brian@dessent.net>
3394
3395 * choose.cc (ChooserPage::OnInit): Initialize tooltips for this
3396 dialog.
3397
3398 * proppage.h (PropertyPage::makeClickable): Update prototype to
3399 reflect same argument name as function.
3400
3401 * proppage.cc (PropertyPage::DialogProc): Remove redundant 'break'
3402 statements that follow 'return's. Add missing braces to case
3403 statements. Call handler for TTN_GETDISPINFO.
3404
3405 * res.rc (IDS_TRUSTKEEP_TOOLTIP): Add new STRINGTABLE entry for
3406 tooltip text.
3407 (IDS_TRUSTPREV_TOOLTIP): Ditto.
3408 (IDS_TRUSTCURR_TOOLTIP): Ditto.
3409 (IDS_TRUSTEXP_TOOLTIP): Ditto.
3410 (IDS_TRUSTPREV_TOOLTIP): Ditto.
3411 (IDS_VIEWBUTTON_TOOLTIP): Ditto.
3412
3413 * resource.h: Likewise, add identifiers for tooltip resources.
3414
3415 * window.h: Add includes.
3416 (Window::TooltipHandle): Add new private data structure.
3417 (Window::TooltipStrings): Ditto.
3418 (Window::ActivateTooltips): Define new function to support tooltip
3419 functionality.
3420 (Window::SetTooltipState): Ditto.
3421 (Window::AddTooltip): Ditto.
3422 (Window::TooltipNotificationHandler): Ditto.
3423
3424 * window.cc (Window::Window): Initialize handle to NULL.
3425 (Window::~Window): Call DestroyWindow on tooltip control if it was
3426 activated.
3427 (Window::ActivateTooltips): New function to activate the tooltip
3428 control.
3429 (Window::SetTooltipState): New function to allow toggling of
3430 tooltips.
3431 (Window::AddTooltip): New function that adds a tooltip to a given
3432 control in a given window. Also implement overloaded versions that
3433 provide simpler interface and the ability to use a string resource.
3434 (Window::TooltipNotificationHandler): New function to handle
3435 TTN_GETDISPINFO notification messages.
3436
3437 2005-05-05 Brian Dessent <brian@dessent.net>
3438
3439 * resource.h: Reorganize. Group by type, and give each its own
3440 range of IDs. Regenerate IDs accordingly.
3441 (IDD_CHOOSER): Remove obsolete and unused symbol.
3442
3443 2005-05-05 Brian Dessent <brian@dessent.net>
3444
3445 * root.h (class RootPage): Add missing virtual to OnMessageCmd.
3446
3447 2005-05-05 Brian Dessent <brian@dessent.net>
3448
3449 * root.cc (dialog_cmd): Remove. Use OnMessageCmd instead.
3450 (RootPage::Create): Accomodate above change.
3451
3452 * root.h (class RootPage): Add prototype for OnMessageCmd.
3453
3454 * res.rc (IDD_ROOT): Fix broken button groups. Correct the order of
3455 the controls and use of WS_GROUP so that the radio buttons act
3456 correctly.
3457
3458 2005-05-05 Max Bowsher <maxb@ukf.net>
3459
3460 Bulk rename of String++ member cstr_oneuse () to c_str () for
3461 similarity to std::string.
3462
3463 * Exception.cc
3464 * IniDBBuilderPackage.cc
3465 * IniParseFindVisitor.cc
3466 * LogFile.cc
3467 * PickCategoryLine.cc
3468 * PickPackageLine.cc
3469 * PickView.cc
3470 * String++.cc
3471 * String++.h
3472 * archive.cc
3473 * cygpackage.cc
3474 * desktop.cc
3475 * dialog.cc
3476 * diskfull.cc
3477 * download.cc
3478 * filemanip.cc
3479 * find.cc
3480 * geturl.cc
3481 * ini.cc
3482 * install.cc
3483 * io_stream.cc
3484 * io_stream_cygfile.cc
3485 * io_stream_file.cc
3486 * localdir.cc
3487 * mount.cc
3488 * nio-http.cc
3489 * package_db.cc
3490 * package_meta.cc
3491 * package_source.h
3492 * postinstall.cc
3493 * proppage.cc
3494 * root.cc
3495 * script.cc
3496 * site.cc
3497 * splash.cc
3498 * threebar.cc
3499 * window.cc
3500
3501 2005-05-05 Max Bowsher <maxb@ukf.net>
3502
3503 Some String++ refactoring, setting out in the general direction of
3504 eventually just using the STL std::string, not our own class.
3505
3506 * String++.cc (String::cstr, String::cstr () const): Remove.
3507 (new_cstr_char_array): New function.
3508 * String++.h: Sync with above.
3509 Remove irrelevant "class io_stream;" declaration.
3510
3511 * cygpackage.h: Add "class io_stream;" declaration, now no longer
3512 being supplied by side-effect.
3513
3514 * filemanip.cc: Remove unneeded includes, add "using namespace std;".
3515 (parse_filename): Exchange some awkward pointer manipulation for
3516 std::string usage. Use new_cstr_char_array ().
3517 * filemanip.h: Sync with above.
3518 (fileparse): Improve style of declaration.
3519
3520 * io_stream_cygfile.cc (io_stream_cygfile::normalise):
3521 Use new_cstr_char_array ().
3522 * site.cc (site_list_type::init, get_site_list): Ditto.
3523
3524 2005-05-05 Brian Dessent <brian@dessent.net>
3525
3526 * ControlAdjuster.h (enum ControlPosition): Declare new resizing
3527 methods CP_STRETCH_LEFTHALF and CP_STRETCH_RIGHTHALF, and their
3528 TOP/BOTTOM aliases.
3529
3530 * ControlAdjuster.cc (ControlAdjuster::ControlInfo::adjust):
3531 Implement CP_STRETCH_LEFTHALF and CP_STRETCH_RIGHTHALF, which are
3532 designed to resize elements in a two-column layout.
3533
3534 * localdir.h (class LocalDirPage): Remove constructor implementation
3535 from here...
3536
3537 * localdir.cc (LocalDirPage::LocalDirPage): ...to here, and call
3538 AddControlsInfo on initialization.
3539 (static LocaldirControlsInfo): Add. Define sizing rules for dialog
3540 elements.
3541
3542 * proppage.h: Add includes.
3543 (PropertyPage::ClickableURL):
3544 Declare new storage type for internal use by class.
3545 (PropertyPage::urls): Likewise.
3546 (PropertyPage::urlWinProc): Add declaration.
3547 (PropertyPage::makeClickable): Likewise.
3548
3549 * proppage.cc: Add includes.
3550 (PropertyPage::DialogProc): Implement handler for WM_CTLCOLORSTATIC
3551 message. Supports static controls that have been turned into
3552 clickable hyperlinks.
3553 (static PropertyPage::urls): Declare.
3554 (PropertyPage::makeClickable): Implement new member function that
3555 provides user interface for making text into clickable URLs.
3556 (PropertyPage::urlWinProc): Implement new private member function used
3557 as a windowproc for subclassing a static control.
3558
3559 * resource.h (IDC_SPLASH_URL, IDC_FILEMODES_LINK, IDC_ROOTDIR_GRP,
3560 IDC_INSTALLFOR_GRP, IDC_ALLUSERS_TEXT, IDC_JUSTME_TEXT, IDC_MODE_GRP,
3561 IDC_MODE_TEXT, IDC_MODE_BIN, IDC_LOCALDIR_GRP, IDC_SPLASH_TEXT,
3562 IDC_SPLASH_ICON, IDC_SPLASH_COPYR): Add. Replaces anonymous
3563 IDC_STATIC ids, so that controls can be referenced by the resizer.
3564
3565 * res.rc (IDD_LOCAL_DIR): Rearrange controls to match top-down order
3566 in the dialog. Fold long lines. Replace anonymous IDC_STATIC ids.
3567 (IDD_ROOT): Reorder in same manner. Replace anonymous IDC_STATIC ids.
3568 Add descriptive text of each option, and hyperlink for more
3569 information. Mark suggested choice as "(RECOMMENDED)". Swap order of
3570 'unix'/'dos' radio buttons so that recommended choice is first in both
3571 columns.
3572 (IDD_SPLASH): Reorder elements to match top-down order of dialog, fold
3573 long lines. Add descriptive paragraph, remove anonymous ids. Update
3574 copyright text, replace sources.redhat.com with cygwin.com.
3575
3576 * root.h (class RootPage): Remove constructor implementation from
3577 here...
3578
3579 * root.cc: ...to here, and call AddControlInfo.
3580 (static RootControlsInfo): Add. Populate with resizing data.
3581 (RootPage::OnInit): Make text a clickable hyperlink.
3582
3583 * splash.h (class SplashPage): Likewise, move constructor from
3584 here...
3585
3586 * splash.cc: ...to here. Call AddControlInfo.
3587 (static SplashControlsInfo): Add and populate.
3588 (SplashPage::Create): Make link on splash page a clickable hyperlink.
3589
3590 * window.h: Add include.
3591 (class Window): Store allocated fonts with a vector instead of fixed
3592 array. Change indentation of setParent to be consistent.
3593
3594 * window.cc (Window::Window): Remove FontCounter.
3595 (Window::~Window): Likewise. Iterate over vector of fonts instead.
3596 (Window::SetDlgItemFont): Use vector.
3597
3598 2005-05-05 Max Bowsher <maxb@ukf.net>
3599
3600 * Makefile.am (EXTRA_DIST, inilint_SOURCES):
3601 Sync with several recent changes.
3602
3603 2005-05-05 Brian Dessent <brian@dessent.net>
3604
3605 * res.rc: (CREATEPROCESS_MANIFEST_RESOURCE_ID): Include section
3606 comment.
3607
3608 2005-05-05 Brian Dessent <brian@dessent.net>
3609
3610 * res.rc: (IDC_CHOOSE): Widen 'view' button by 6px horizontally and
3611 4px vertically. Adjust other controls to accomodate.
3612 (CREATEPROCESS_MANIFEST_RESOURCE_ID): Define so that manifest is
3613 included in the binary.
3614
3615 * setup.exe.manifest: New file. Results in common controls with
3616 themed appearance on modern versions of Windows.
3617
3618 2005-05-05 Brian Dessent <brian@dessent.net>
3619
3620 * main.cc (WinMain): Change conditional to avoid spurious error
3621 message on success. Include reason for failure in log message.
3622
3623 2005-05-04 Max Bowsher <maxb@ukf.net>
3624
3625 * state.cc, state.h (net_method, net_proxy_host, net_proxy_port,)
3626 (net_user, net_passwd, net_proxy_user, net_proxy_passwd,)
3627 Inet_ftp_user, net_ftp_passwd):
3628 Move these global variables to be static variables of the NetIO class.
3629
3630 * netio.h, netio.cc (net_method, net_proxy_host, net_proxy_port,)
3631 (net_user, net_passwd, net_proxy_user, net_proxy_passwd,)
3632 net_ftp_user, net_ftp_passwd):
3633 As above.
3634
3635 * ConnectionSetting.cc, net.cc:
3636 Change include, refer to variables in new location.
3637
3638 2005-05-04 Max Bowsher <maxb@ukf.net>
3639
3640 * PickLine.cc: Remove file - redundant.
3641 * Makefile.am (setup_SOURCES): Adjust.
3642
3643 2005-05-04 Max Bowsher <maxb@ukf.net>
3644
3645 * package_version.h (packageversion::set_requirements):
3646 Remove deftrust argument default value.
3647
3648 2005-05-04 Max Bowsher <maxb@ukf.net>
3649
3650 * package_version.cc (DependencyProcessor): Remove trivial class.
3651 (select, processOneDependency): Do not use DependencyProcessor, just
3652 pass parameters normally.
3653
3654 2005-05-04 Brian Dessent <brian@dessent.net>
3655
3656 Fix bug #820: Clicking Curr, etc., causes some dependencies to not
3657 be installed.
3658
3659 * choose.cc (ChooserPage::changeTrust):
3660 Add a missing "packagedb.markUnVisited ()".
3661
3662 2005-05-03 Max Bowsher <maxb@ukf.net>
3663
3664 * PickCategoryLine.cc (PickCategoryLine::click):
3665 * PickPackageLine.cc (PickPackageLine::click):
3666 Abandon use of trivial packagemeta::PrepareForVisit() wrapper.
3667
3668 * package_meta.h (packagemeta::PrepareForVisit): Remove.
3669 * package_meta.cc (packagemeta::PrepareForVisit): Remove.
3670
3671 2005-05-03 Max Bowsher <maxb@ukf.net>
3672
3673 * choose.h (ChooserPage::ifChecked): Remove.
3674 (ChooserPage::changeTrust): Convert from template to ordinary function.
3675 * choose.cc (ChooserPage::changeTrust): As above, plus avoid the use
3676 of custom class SetRequirement, when bind2nd(mem_fun(...),...) can
3677 achieve the same effect.
3678 * package_meta.h (SetRequirement): Remove, now unused.
3679
3680 2005-05-03 Max Bowsher <maxb@ukf.net>
3681
3682 * package_meta.h (packagemeta::set_requirements):
3683 Remove default argument which seems inappropriate.
3684 * PickPackageLine.cc (PickPackageLine::click):
3685 Make an argument explicit, and not that it seems like the wrong value.
3686
3687 2005-05-03 Brian Dessent <brian@dessent.net>
3688
3689 Fix part of bug #853 - proxy port not remembered.
3690
3691 * net.cc (doing_loading): New static boolean.
3692 (load_dialog): Use the boolean to prevent save_dialog() from taking
3693 action due to field changes due to initialization.
3694 (save_dialog): Check the boolean and respond appropriately.
3695
3696 2005-04-19 Max Bowsher <maxb@ukf.net>
3697
3698 * postinstall.cc (RunFindVisitor::visitFile): Fix crash on
3699 encountering a postinstall script with a name of 4 characters or less.
3700 Bug introduced on 2004-12-25.
3701
3702 2005-04-05 Max Bowsher <maxb@ukf.net>
3703
3704 The Big Cleanup: Phase "rfc1738"
3705
3706 * rfc1738.cc, rfc1738.h: Delete.
3707 * csu_util/rfc1738.cc: Reimport latest version from upstream source.
3708 Make thread-safe. Rewrite C++ wrapper in terms of std::string.
3709 Document the divergences from the upstream source.
3710 * csu_util/rfc1738.h: Recreate for the std::string version of the
3711 C++ wrapper.
3712
3713 * Makefile.am (setup_SOURCES): Sync with added/removed files.
3714 * IniParseFindVisitor.cc: Modify #includes.
3715 (IniParseFindVisitor::visitFile): Change function name, as the new
3716 C++ wrapper does not contain an irregularity that the old one did.
3717 * download.cc: Modify #includes.
3718 * ini.cc: Modify #includes.
3719
3720 2005-04-05 Max Bowsher <maxb@ukf.net>
3721
3722 Remove setup's internal compression libraries, instead relying on the
3723 mingw-foo packages which have been part of the Cygwin net distribution
3724 for some time now. At the same time, reorganize the README file to
3725 inform about the change, and make some additional tidy-ups there whilst
3726 working there.
3727
3728 * GUIDELINES: Remove, contents transferred to README.
3729 * README: Add build instructions. Delete unconfirmed and fixed bugs
3730 sections. Incorporate the former contents of GUIDELINES.
3731
3732 * bz2lib/: Remove.
3733 * zlib/: Remove.
3734 * Makefile.am (DIST_SUBDIRS, SUBDIRS):
3735 * configure.in: Remove AC_CONFIG_SUBDIRS for removed subdirs.
3736 * compress_bz.h: Remove complex _WIN32 preprocessor conditional.
3737 * compress_gz.h: Fix #include file name.
3738 * archive_tar_file.cc: Remove unused #include.
3739 * install.cc: Remove unused #include.
3740
3741 2005-01-27 Max Bowsher <maxb@ukf.net>
3742
3743 Set CYGWIN=nontsec, for postinstall scripts.
3744
3745 * main.cc (main): putenv("CYGWIN=nontsec").
3746
3747 2005-01-27 Bas van Gompel <patch-cygsup.buzz@bavag.tmfweb.nl>
3748
3749 Fix corrupt display of ini parse percentage in log file.
3750
3751 * ini.cc (GuiParseFeedback): Use a sensible data type for lastpct.
3752
3753 2004-12-29 Max Bowsher <maxb@ukf.net>
3754
3755 * site.cc (get_site_list): Filter the incoming mirrors list to contain
3756 only URL schemes that we can read.
3757
3758 2004-12-28 Max Bowsher <maxb@ukf.net>
3759
3760 The Big Cleanup: Phase "hash"
3761
3762 * hash.cc, hash.h: Delete.
3763 * Makefile.am (setup_SOURCES): Sync with deleted files.
3764
3765 * package_mets: Modify includes.
3766 (standard_dirs): Remove.
3767 (hash::add_subdirs): Remove.
3768 (packagemeta::uninstall): Re-implement using STL set instead of
3769 homebrew hash.
3770
3771 2004-12-28 Max Bowsher <maxb@ukf.net>
3772
3773 * String++.h (operator std::string): Take care to never do
3774 std::string((char*)NULL) - it causes a hang!
3775
3776 2004-12-27 Max Bowsher <maxb@ukf.net>
3777
3778 The Big Cleanup: Phase "log"
3779
3780 * log.cc, log.h: Delete old C-style compatibility wrapper around the
3781 logging subsystem.
3782 * Makefile.am (setup_SOURCES): Sync with deleted files.
3783
3784 * AntiVirus.cc, archive_tar_file.cc, ini.cc, install.cc,
3785 * io_stream_cygfile.cc, localdir.cc, msg.cc, net.cc, netio.cc,
3786 * netio.h, nio-ftp.cc, nio-ftp.h, root.cc, source.cc:
3787 Throughout, refine includes, and update code using the old
3788 compatibility wrapper to C++ streams style code.
3789
3790 2004-12-27 Max Bowsher <maxb@ukf.net>
3791
3792 * compress.cc: Refine includes. Remove placeholder function
3793 definitions. Make destructor an empty function.
3794 * compress.h: Refine includes. Make placeholder functions pure
3795 virtual. Add missing const on buffer argument to write function,
3796 to match derived classes.
3797 * compress_bz.cc, compress_gz.cc: Refine includes. Throw exception,
3798 rather than logging and returning an error, when an unimplemented
3799 function is called.
3800 * compress_bz.h, compress_gz.h: Refine includes.
3801
3802 2004-12-26 Max Bowsher <maxb@ukf.net>
3803
3804 The Big Cleanup: Phase "version"
3805
3806 * String++.h (operator std::string): Add.
3807 * desktop.cc, fromcwd.cc: Remove irrelevant include.
3808
3809 * version.cc, version.h: Delete, replacing all functionality in new
3810 files.
3811
3812 * setup_version.h: Add, taking over declaration of generated version
3813 symbol functionality.
3814
3815 * Makefile.am (setup_SOURCES): Sync with new/deleted files.
3816 (setup_version.c): Rename the symbol 'version' to 'setup_version'.
3817 * main.cc: Modify includes.
3818 (main): Adapt to setup_version rename.
3819 * splash.cc: Modify includes.
3820 (SplashPage::OnInit): Adapt to setup_version rename.
3821
3822 * csu_util/version_compare.cc, csu_util/version_compare.h: Add,
3823 containing a completely rewritten replacement for canonical_version().
3824
3825 * IniDBBuilderPackage.cc: Modify includes.
3826 (IniDBBuilderPackage::buildVersion): Use new version_compare API.
3827 * ini.cc: Modify includes.
3828 (setup_version): Rename...
3829 (ini_setup_version): ...to this.
3830 (do_local_ini, do_remote_ini): Adapt to above change.
3831 (do_ini_thread): Adapt to above change. Use new version_compare API.
3832
3833 2004-12-25 Max Bowsher <maxb@ukf.net>
3834
3835 * install.cc (Installer::installOneSource): Remove a stray "break;"
3836 left over from the switch-case -> if-else conversion in the previous
3837 change.
3838
3839 2004-12-25 Max Bowsher <maxb@ukf.net>
3840
3841 The Big Cleanup: Phase "win32"
3842
3843 * win32.h: Major overhaul. Document why we use _WIN32_IE. Move out
3844 fragment dealing with alloca() to the single file in which it is used.
3845 Remove fragment dealing with _MAX_PATH, and convert all uses of it
3846 elsewhere to MAX_PATH. Remove random include of <stdarg.h>. Remove
3847 NOCOMATTRIBUTE, as setup contains no code which it affects. Remove
3848 includes of <wininet.h> and <windowsx.h> - see later in this log.
3849 (IsWindowsNT): New inline function, a much simpler implementation of
3850 Win32::OS().
3851
3852 * win32.cc: Delete.
3853
3854 * Makefile.am (setup_SOURCES): Remove "win32.cc".
3855
3856 * AntiVirus.cc (detect), PickPackageLine.cc (PickPackageLine::paint),
3857 * install.c (Installer::installOneSource):
3858 Use IsWindowsNT(), not Win32::OS().
3859 * main.cc (main): Use IsWindowsNT(), not locally defined iswinnt.
3860
3861 * PickView.cc (PickView::WindowProc), netio.cc (auth_proc),
3862 * proppage.cc (PropertyPage::DialogProc):
3863 Avoid using obfuscating macros from <windowsx.h>.
3864
3865 * archive.cc: Include or #define alloca() in the only file in which
3866 it is used.
3867
3868 * nio-ie5.h: Include <wininet.h> here, where it is actually needed,
3869 rather than in "win32.h" which is included almost everywhere.
3870
3871 * archive_tar.cc, archive_tar.h, cygpackage.cc, cygpackage.h,
3872 * desktop.cc, find.cc, install.cc, main.cc, mklink2.c, mount.cc,
3873 * script.cc: Use MAX_PATH, not _MAX_PATH.
3874
3875 2004-12-25 Max Bowsher <maxb@ukf.net>
3876
3877 Remove some overcomplications.
3878
3879 * Makefile.am (setup_SOURCES): Remove FilterVisitor.{cc,h}.
3880 * FilterVisitor.cc, FilterVisitor.h: Delete.
3881 * String++.cc (strmatch, String::matches): Remove.
3882 * String++.h (String::matches): Remove.
3883 * postinstall.cc: Do not include "FilterVisitor.h".
3884 (RunFindVisitor): Exclude items with the extension ".done".
3885 (do_postinstall_thread): Remove overcomplicated exclusion of items
3886 with the extension ".done".
3887
3888 2004-12-24 Max Bowsher <maxb@ukf.net>
3889
3890 * String++.cc, String++.h: Remove unused and incomplete code.
3891 * LogFile.cc (LogFile::log_save): Don't leak memory.
3892 * filemanip.cc, geturl.cc, root.cc, version.cc:
3893 Don't pointlessly create temporary copies strings.
3894
3895 2004-12-23 Max Bowsher <maxb@ukf.net>
3896
3897 * choose.cc (ChooserPage::OnNext): Relegate some overly verbose
3898 logging to an #ifdef DEBUG section.
3899 * geturl.h (dismiss_url_status_dialog): Remove stale function
3900 declaration, for which there is no definition.
3901 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile):
3902 Motivated by the recent unexplained hang bug, add some extra logging.
3903
3904 2004-11-22 Max Bowsher <maxb@ukf.net>
3905
3906 * MD5++.cc, MD5++.h: Remove this class.
3907 * csu_util/MD5Sum.cc, csu_util/MD5Sum.h: New more complete MD5 class.
3908 * Makefile.am (setup_SOURCES): Adjust to new files.
3909 * download.cc (validateCachedPackage): Simplify, using the new class.
3910 * install.cc (md5_one): Ditto.
3911 * package_source.h (packagesource::md5): Change to be an object of the
3912 new class.
3913
3914 2004-11-22 Max Bowsher <maxb@ukf.net>
3915
3916 * main.cc (main): Fix bug in one of the 2004-11-19 commits.
3917 Avoid referring to the theLog pointer before it is set.
3918
3919 2004-11-20 Max Bowsher <maxb@ukf.net>
3920
3921 * res.rc (IDD_SOURCE): Clarify the radio-button option descriptions.
3922 Re-layout the radio buttons.
3923
3924 2004-11-20 Max Bowsher <maxb@ukf.net>
3925
3926 Repair the broken detection of wrongly-sized package files.
3927
3928 * download.cc (validateCachedPackage): Make static, since not used
3929 elsewhere. Improve logging. Migrate file-size tests to here, alongside
3930 the MD5 tests.
3931 (check_for_cached): Remove broken testing of file-size, now covered by
3932 the above. Code cleanups.
3933
3934 2004-11-19 Max Bowsher <maxb@ukf.net>
3935
3936 * package_version.cc (dumpAndList): Make dependencies much more
3937 readable in full log output.
3938
3939 2004-11-19 Max Bowsher <maxb@ukf.net>
3940
3941 * proppage.cc (PropertyPage::DialogProc): Wrap in a TOPLEVEL_CATCH
3942 block, since allowing exceptions to unwind into the guts of Windows is
3943 quite disasterous.
3944
3945 2004-11-19 Max Bowsher <maxb@ukf.net>
3946
3947 * main.cc (main): Move option parsing code earlier - it must execute
3948 before any significant object creations, which might test options in
3949 their initialization.
3950
3951 2004-11-19 Max Bowsher <maxb@ukf.net>
3952
3953 * main.cc (main): Remove some junk code - either commented out, or
3954 contained within unreachable preprocessor conditional sections.
3955
3956 2004-11-19 Max Bowsher <maxb@ukf.net>
3957
3958 * install.cc (Installer::installOneSource): Avoid leaking the open
3959 file handles of every tarball that is installed.
3960
3961 2004-11-19 Max Bowsher <maxb@ukf.net>
3962
3963 * package_source.h (packagesource::Canonical, packagesource::Base)
3964 (packagesource::Filename): Add "const" specification to accessor
3965 methods.
3966
3967 2004-11-18 Max Bowsher <maxb@ukf.net>
3968
3969 * archive.h (archive::~archive): Define a pure virtual destructor to
3970 enforce the abstract nature of this class.
3971 * archive.cc (archive::~archive): Pure virtual destructors require an
3972 implementation! Add one.
3973 * io_stream.h (io_stream::destroyed): Remove this severely
3974 brain-damaged implementation of a weakly-enforced abstract class.
3975 The pure virtual destructor was strongly enforcing the abstract nature
3976 anyway.
3977 * io_stream.cc (io_stream::~io_stream): Empty out horribly pointless
3978 code from the pure virtual destructor.
3979 * archive_tar.cc (archive_tar::~archive_tar): Remove all
3980 reference to the removed "destroyed" member.
3981 * archive_tar_file.cc (archive_tar_file::~archive_tar_file): Ditto.
3982 * compress_bz.cc (compress_bz::~compress_bz): Ditto.
3983 * compress_gz.cc (compress_gz::~compress_gz): Ditto.
3984 * io_stream_cygfile.cc (io_stream_cygfile::~io_stream_cygfile): Ditto.
3985 * io_stream_file.cc (io_stream_file::~io_stream_file): Ditto.
3986 * io_stream_memory.cc (io_stream_memory::~io_stream_memory): Ditto.
3987
3988 2004-11-17 Max Bowsher <maxb@ukf.net>
3989
3990 * mount.cc (create_mount): Fix operator precedence error introduced in
3991 first 2004-11-11 commit - warned of by gcc 3.3.3 but not 3.4.1 !
3992
3993 2004-11-13 Max Bowsher <maxb@ukf.net>
3994
3995 Miscellaneous cleanup.
3996
3997 * geturl.cc (getUrlToStream): Make static.
3998 * geturl.h (getUrlToStream): Remove declaration.
3999
4000 * geturl.cc, geturl.h, netio.cc, netio.h, nio-ftp.cc, nio-ftp.h,
4001 nio-http.cc, nio-http.h:
4002 Remove unused "allow_ftp_auth" flag throughout.
4003
4004 2004-11-11 Max Bowsher <maxb@ukf.net>
4005
4006 * libmd5-rfc: New directory, to hold code imported from the libmd5-rfc
4007 project in a clearly delineated fashion.
4008 * libmd5-rfc/README: New file.
4009 * md5.c, md5.h: Delete...
4010 * libmd5-rfc/md5.c, libmd5-rfc/md5.h: ...and replace with pristine
4011 versions from upstream (only change is restoration of upstream CVS
4012 keyword expansions).
4013 * libmd5-rfc/md5main.c: New file.
4014 * Makefile.ami (setup_SOURCES): Edit file paths.
4015 * download.cc, install.cc: Edit include paths.
4016
4017 2004-11-11 Max Bowsher <maxb@ukf.net>
4018
4019 * dialog.cc (fatal): Make capable of handling a passed-in error code,
4020 as an alternative to calling GetLastError().
4021 * dialog.h (fatal): Adjust prototype as above.
4022 * mount.cc (create_mount): Use the above to correctly report errors.
4023
4024 2004-10-28 Max Bowsher <maxb@ukf.net>
4025
4026 * LogFile.cc (LogFile::getFileName), splash.cc (SplashPage::Create),
4027 threebar.cc (ThreeBarProgressPage::SetBar2):
4028 Migrate from cistring and string resources
4029 to String and string literals.
4030 * localdir.cc: Remove unneeded #include of "cistring.h".
4031 * cistring.cc, cistring.h: Remove this now-redundant class.
4032 * Makefile.am: Remove mention of the above removed files.
4033 * res.rc, resource.h: Remove obsolete strings and IDs, both those
4034 obseleted by and obselete before the above changes.
4035 * res.rc: Merge the 2 adjacent STRINGTABLEs.
4036
4037 2004-10-27 Max Bowsher <maxb@ukf.net>
4038
4039 * Makefile.am (setup_SOURCES): Add "RECTWrapper.h". It was missing.
4040
4041 2004-10-25 Bas van Gompel <cygsup-patch.buzz@bavag.tmfweb.nl>
4042
4043 * package_source.cc (packagesource::set_canonical):
4044 Fix one-off in 'base' when ini is in same dir as package.
4045
4046 2004-10-25 Max Bowsher <maxb@ukf.net>
4047
4048 * main.cc (next_dialog): Remove this legacy global variable.
4049 * download.cc (do_download_thread): Return a value instead of setting
4050 a global variable, then returning void.
4051 (do_download_reflector): Look for the next dialog code as a return
4052 value instead of a global variable.
4053
4054 2004-10-25 Max Bowsher <maxb@ukf.net>
4055
4056 * port.h: Remove this redundant file - all contained definitions are
4057 duplicated in "win32.h".
4058 * Makefile.am, UserSetting.cc, UserSettings.cc, archive.cc,
4059 archive_tar.cc, archive_tar_file.cc, choose.cc, compress.cc,
4060 compress_bz.cc, compress_gz.cc, desktop.cc, find.cc, fromcwd.cc,
4061 iniparse.y, install.cc, io_stream_cygfile.cc, io_stream_file.cc,
4062 main.cc, netio.cc, site.cc, version.cc:
4063 Remove all references to "port.h".
4064
4065 2004-10-25 Max Bowsher <maxb@ukf.net>
4066
4067 Fix compilation with w32api 3.1 and later.
4068
4069 * ControlAdjuster.h, RECTWrapper.h, cistring.h, propsheet.h,
4070 window.cc, window.h: Include "win32.h" not <windows.h> directly.
4071 * win32.h (WINBASEAPI): Define to empty string.
4072
4073 2004-09-13 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4074
4075 * script.cc (run): Kill stdin when running scripts.
4076
4077 2004-09-01 Max Bowsher <maxb@ukf.net>
4078
4079 * Makefile.am: Oops. Unwanted keyword expansion ate the code of the
4080 previous commit. Restore the code, escaped to not look like a keyword.
4081
4082 2004-09-01 Max Bowsher <maxb@ukf.net>
4083
4084 * Makefile.am: Simplify the shell incantation for getting the revision
4085 of ChangeLog from grep-and-sed to just sed.
4086
4087 2004-08-31 Max Bowsher <maxb@ukf.net>
4088
4089 Attain GCC 3.4 compatibility.
4090
4091 * PackageSpecification.h (PackageSpecification): Make the
4092 unnecessarily private copy-constructor public.
4093
4094 2004-08-30 Max Bowsher <maxb@ukf.net>
4095
4096 Rework the implementation of not including -Werror for specific files,
4097 to a way that does not require hardcoding modified automake output back
4098 into its input.
4099
4100 * Makefile.am (AM_CXXFLAGS, BASECXXFLAGS): Seperate out -Werror.
4101 (autoload.o): Drop this rule, -finline-functions is no longer required
4102 and -Werror is acceptable here now we have __attribute__ ((used)).
4103 (WARNONLY_CFLAGS, inilex.o): Drop these.
4104 (EXTRA_PROGRAMS): Add a fake "warnonly" program.
4105 (warnonly_CXXFLAGS): Set to the $(BASECXXFLAGS).
4106 (warnonly_SOURCES): Set to "inilex.cc".
4107 (EXTRA_setup_SOURCES): Set to $(warnonly_SOURCES).
4108 (setup_SOURCES): Remove "inilex.cc".
4109 (setup_LDADD): Add "warnonly-inilex.o".
4110
4111 2004-08-30 Max Bowsher <maxb@ukf.net>
4112
4113 Move closer to GCC 3.4 compatibility.
4114
4115 * IOStreamProvider.h, io_stream_cygfile.cc, io_stream_cygfile.h,
4116 io_stream_file.cc: Do not incorrectly use "enum" after it has been
4117 hidden inside a typedef.
4118 * archive.h: In "virtual func() = 0;", the 0 is a language construct,
4119 not some symbol that might evaluate to 0, and gcc 3.4 enforces this.
4120 * autoload.c (DllInfo.name): Silence warning by making const.
4121 (DLL, autoload_common): __attribute__ ((used)) is now required to
4122 prevent gcc being over-eager in it's optimization, and removing these
4123 seemingly-unused (used only from assembly) functions.
4124 Silences some warnings, too.
4125 * Makefile.am (AM_CXXFLAGS, AM_CFLAGS): The options
4126 -Wstrict-prototypes -Wmissing-prototypes do not apply to C++ and
4127 g++ 3.4 complains about them.
4128
4129 2004-08-29 Max Bowsher <maxb@ukf.net>
4130
4131 * Exception.h: Reformatting, #include more, remove incorrect and
4132 less-than-useful comments.
4133 (TOPLEVEL_CATCH): New preprocessor macro.
4134
4135 * LogFile.cc (LogFile::operator()): Throw an exception object, not a
4136 char* string.
4137
4138 Wrap the top-level of each thread (including the main thread) in a
4139 try...catch block, in order to display a useful error message if an
4140 exception is not caught.
4141 * download.cc (do_download_reflector): Here ...
4142 * ini.cc (do_ini_thread_reflector): ... and here ...
4143 * install.cc (do_install_reflector: ... and here ...
4144 * main.cc (main): ... and here ...
4145 * postinstall.cc (do_postinstall_thread): ... and here ...
4146 * site.cc (do_download_site_info_thread): ... and here!
4147
4148 * msg.h: Include a missing header requirement.
4149 * res.rc (IDS_UNCAUGHT_EXCEPTION, IDS_UNCAUGHT_EXCEPTION_WITH_ERRNO):
4150 New strings.
4151 * resource.h (IDS_UNCAUGHT_EXCEPTION)
4152 (IDS_UNCAUGHT_EXCEPTION_WITH_ERRNO): New IDs.
4153
4154 2004-08-28 Max Bowsher <maxb@ukf.net>
4155
4156 * res.rc (IDS_WINDOW_INIT_BADMSG): New string.
4157 * resource.h (IDS_WINDOW_INIT_BADMSG): New string resource ID.
4158 * window.cc (Window::FirstWindowProcReflector): Convert an abort()
4159 into a descriptive error.
4160
4161 2004-08-24 Max Bowsher <maxb@ukf.net>
4162
4163 The Doug Lee replacement malloc was no longer hooked up with the
4164 buildsystem in any way. Pruning the remaining unused file.
4165
4166 * dlmalloc.c: Removed.
4167
4168 2004-08-18 Max Bowsher <maxb@ukf.net>
4169
4170 "librsync is not wire-compatible with rsync 2.x, and is not likely
4171 to be in the future." -- librsync.sourceforge.net
4172
4173 So, it is of no practical use to setup. Therefore, removing all
4174 rsync related files and code from setup.
4175
4176 * rsync: Directory removed.
4177 * Makefile.am: Remove rsync support from the buildsystem.
4178 * configure.in: Ditto.
4179 * README: Since it seems vanishingly unlikely that it will ever happen,
4180 remove rsync support from the wishlist.
4181 * io_stream_rsync.cc: Remove.
4182 * io_stream_rsync.h: Remove.
4183
4184 2004-04-25 Robert Collins <rbtcollins@hotmail.com>
4185
4186 * package_meta.cc (packagemeta::set_requirements): fix problem with
4187 libpcre0 not being pulled in automatically.
4188
4189 2004-04-25 Robert Collins <rbtcollins@hotmail.com>
4190
4191 * IniDBBuilderPackage.cc (dumpAndList):
4192 Move out to packageversion for reuse.
4193 * package_meta.cc (packagemeta::logAllVersions): log dependencies.
4194 * package_version.cc (packageversion::depends):
4195 provide a const accessor.
4196 (dumpAndList): Moved from INIDBBuilder.cc.
4197 * package_version.h: declare new method and function.
4198
4199 2003-12-21 Robert Collins <rbtcollins@hotmail.com>
4200
4201 * main.cc (main): Update to head libgetopt++ syntax.
4202
4203 2003-11-2 Robert Collins <rbtcollins@hotmail.com>
4204
4205 * ControlAdjuster.h (ControlPosition::CP_MIDDLE): Rename to
4206 CP_CENTERED.
4207 * ControlAdjuster.cc: Ditto.
4208
4209 2003-10-31 Frank Richter <frichter@gmx.li>
4210
4211 * localdir.cc (OnNext): When SelectDirectoryA() fails, display a
4212 message with the error returned from the system instead of just
4213 'could not change dir'. Also, offer the user to 'Retry', 'Ignore' the
4214 error or 'Abort' the directory change.
4215
4216 2003-10-31 Frank Richter <frichter@gmx.li>
4217
4218 * propsheet.cc (PropSheetWndProc): Don't do child resizing if a the
4219 window gets minimized. Otherwise some glitches (e.g. wrong child
4220 sizes) occur.
4221 Added support for WM_GETMINMAXINFO. Prevents the property sheet from
4222 getting smaller than the original size.
4223
4224 2003-11-1 Robert Collins <rbtcollins@hotmail.com>
4225
4226 * ControlAdjuster.h (ControlDimension): Add.
4227 (ControlAdjuster): Factor adjust functionality into ControlInfo.
4228 * ControlAdjuster.cc (ControlAdjuster::adjust): Ditto.
4229 (ControlAdjuster::ControlInfo::adjust): Ditto.
4230
4231 2003-10-31 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4232
4233 * ControlAdjuster.h (ControlPosition): New enum type.
4234 (ControlInfo::horizontalPos, ControlInfo::verticalPos): New
4235 instance variables.
4236 (ControlInfo::anchorLeft, ControlInfo::anchorTop,
4237 ControlInfo::anchorRight, ControlInfo::anchorBottom): Remove.
4238 * ControlAdjuster.cc (ControlAdjuster::AdjustControls): Switch to
4239 using position specifiers instead of anchors.
4240 * choose.cc (ChooserControlsInfo): Ditto.
4241 * proppage.cc (DefaultControlsInfo): Ditto.
4242 * propsheet.cc (PropSheetControlsInfo): Ditto.
4243 * site.cc (SiteControlsInfo): Position specifiers for site
4244 selection dialog controls.
4245 * threebar.cc (ThreeBarControlsInfo): Position specifiers for
4246 progress dialog controls.
4247
4248 2003-10-27 Ralf Habacker <ralf.habacker@freenet.de>
4249
4250 * main.cc (HelpOption): New instance.
4251 (main): Added help command line option handling.
4252 * localdir.cc (LocalDirOption): New instance.
4253 (LocalDirSetting::load): allow setting localdir from command line.
4254
4255 2003-10-16 Frank Richter <frichter@gmx.li>
4256
4257 * ControlAdjuster.cc: New file, helper to move elements of a dialog
4258 along when the it's resized.
4259 * ControlAdjuster.h: Ditto.
4260 * Makefile.am: Add new source files.
4261 * proppage.cc (PropertyPage::DialogProc): Adjust some common
4262 controls (Cygwin icon top right, separator below) when a page is
4263 resized.
4264 (PropertyPage::PropertyPage): Dito.
4265 * propsheet.cc (IsDialog): New. Test whether a window is a dialog.
4266 Used internally by resize logic.
4267 (EnumPages): New. Used internally by resize logic: resizes the
4268 property sheet's individual pages.
4269 (PropSheetWndProc): New. Hook for the propery sheet window proc.
4270 (PropSheetProc): More style tweaks, add maximize box and thick border
4271 as well. Hook into the property sheet's window proc.
4272 (PropSheet::AdjustPageSize): New. Adjust the metrics of a single page
4273 to fit nicely into the property sheet. Part of resize logic.
4274 * res.rc (All dialogs): The top-right Cygwin icon and top separator
4275 now have IDs distinct from IDC_STATIC, so their metrics can be
4276 adjusted upon a resize. Also, all those Cygwin icons are at the exact
4277 same spot now.
4278 * choose.cc (ChooserPage::ChooserPage): Now the controls on the
4279 chooser page move/size when the page size is changed.
4280 * choose.h: Dito.
4281
4282 2003-10-23 Jerry D. Hedden <jerry@hedden.us>
4283
4284 * ConnectionSetting.cc (ConnectionSetting::load): Load proxysettings.
4285 (ConnectionSetting::save): Save proxy settings.
4286
4287 2003-10-07 Robert Collins <rbtcollins@hotmail.com>
4288
4289 * proppage.h (PropertyPage::wantsActivation): const correctness fix.
4290
4291 2003-08-19 Max Bowsher <maxb@ukf.net>
4292
4293 * win32.h: Define NOMINMAX only if not already defined - because
4294 libstdc++-v3 3.3.1 defines NOMINMAX itself.
4295
4296 2003-08-03 Max Bowsher <maxb@ukf.net>
4297
4298 * ChangeLog: Fix broken line-wrapping throughout. Clarify that
4299 "Ran automake" in 2003-07-26 entry was in bz2lib and zlib subdirs.
4300
4301 2003-08-03 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4302
4303 * propsheet.cc (Copyright): Update copyright dates.
4304 (PropSheet::PropSheet): Remove NumPropPages initialization.
4305 (PropSheet::CreatePages): Use PropertyPages.size() instead of
4306 NumPropPages.
4307 (PropSheet::Create): Ditto.
4308 (PropSheet::AddPage): Change to use new PropertyPages std::vector<>.
4309 * propsheet.h (Copyright): Update copyright dates.
4310 (File Scope): Include <vector>.
4311 (PropSheet::PropertyPages): Change from array to vector<>.
4312 (PropSheet::NumPropPages): Remove.
4313
4314 2003-08-02 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4315
4316 Changes modified by Max Bowsher <maxb@ukf.net>
4317 * splash.cc (Copyright): Update copyright dates.
4318 (SplashPage::OnInit): Remove call to SetDlgItemFont(). Now handled in
4319 base class.
4320 * proppage.h (PropertyPage::setTitleFont): Declare.
4321 * proppage.cc (Copyright): Update copyright dates.
4322 (PropertyPage::DialogProc WM_INITDIALOG): Move all font setting code,
4323 including that from splash.cc into new function...
4324 (PropertyPage::setTitleFont): Create, using moved code. Change font
4325 "MS Sans Serif" to "MS Shell Dlg" in line with recent res.rc change.
4326 Set font for IDC_STATIC_WELCOME_TITLE here, to allow easy re-use of
4327 style for future "Finished" page.
4328
4329 2003-08-02 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4330
4331 * propsheet.cc: Include "resource.h".
4332 (PropSheet::Create): Add the Cygwin icon in the left of the title bar.
4333
4334 2003-08-01 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4335
4336 * proppage.cc (PropertyPage::FirstDialogProcReflector): Modify comment.
4337
4338 2003-08-01 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4339
4340 * proppage.h (Copyright): Update copyright dates.
4341 (PropertyPage): Document OnNext and OnBack.
4342
4343 2003-07-31 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4344
4345 * proppage.cc (PropertyPage::Create): Use more self-documenting
4346 MAKEINTRESOURCE() instead of cast to LPCSTR.
4347
4348 2003-07-31 Robert Collins <rbtcollins@hotmail.com>
4349
4350 * README: Mark completed items complete.
4351
4352 2003-07-31 Pierre Humblet <pierre.humblet@ieee.org>
4353
4354 * main.cc (set_default_sec): Set token owner from token user.
4355 Always try to set the token primary group to Users or Admins.
4356
4357 2003-07-30 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4358
4359 * String++.h (String::replace): New instance functions.
4360 * String++.cc (String::replace): Implement.
4361 * filemanip.cc (backslash): Change to use String::replace.
4362 * desktop.cc (make_cygwin_bat): Escape '%' in path.
4363
4364 2003-07-30 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4365
4366 * String++.h (TOSTRING): New macro.
4367 * UserSettings.cc (UserSettings::deRegisterSetting): Fix
4368 erroneous __LINE__/__FILE__ usage.
4369 * download.cc (validateCachedPackage, check_for_cached): Ditto.
4370 * geturl.cc (getUrlToStream): Ditto.
4371 * install.cc (md5_one): Ditto.
4372
4373 2003-07-30 Max Bowsher <maxb@ukf.net>
4374
4375 * ini.cc (do_ini_thread): Return bool.
4376 (do_ini_thread_reflector): Put returned bool in lParam.
4377 * threebar.cc (WM_APP_SETUP_INI_DOWNLOAD_COMPLETE): Rework for new
4378 meaning of lParam. Replace erroneous use of do_fromcwd with
4379 SetActivePageByID (IDD_SOURCE).
4380
4381 2003-07-30 Robert Collins <rbtcollins@hotmail.com>
4382
4383 * ConnectionSetting.cc: New file, persist connection type selection.
4384 * ConnectionSetting.h: Ditto.
4385 * net.cc: Hold a ConnectionSetting instance to trigger the logic.
4386 (NetPage::OnInit): Don't force net_method to any value.
4387 * Makefile.am: Add new source files.
4388
4389 2003-07-30 Robert Collins <rbtcollins@hotmail.com>
4390
4391 * SourceSetting.cc: New file, persist source selection.
4392 * SourceSetting.h: Ditto.
4393 * source.cc: Hold a Source setting instance to trigger the logic.
4394 * Makefile.am: Add new source files.
4395
4396 2003-07-30 Robert Collins <rbtcollins@hotmail.com>
4397
4398 * UserSettings.h (UserSettings::settingFileForLoad): Extracted method
4399 from LocalDirSetting::load().
4400 * UserSettings.cc (UserSettings::settingFileForLoad): Ditto.
4401 * UserSettings.h (UserSettings::settingFileForSave): Extracted method
4402 from LocalDirSetting::save().
4403 * UserSettings.cc (UserSettings::settingFileForSave): Ditto.
4404 * localdir.cc (LocalDirSetting::load): Extract location logic to
4405 UserSettings.
4406 (LocalDirSetting::save): Extract location logic to UserSettings.
4407 * site.cc (SiteSetting::getSavedSites): Use
4408 UserSettings::settingFileForLoad.
4409 (SiteSetting::save): Use UserSettings::settingFileForSave.
4410
4411 2003-07-30 Robert Collins <rbtcollins@hotmail.com>
4412
4413 * PickView.cc: Adjust ::GetClientRect(..) to the inherited one
4414 throughout.
4415
4416 2003-07-29 Max Bowsher <maxb@ukf.net>
4417
4418 Based on a patch by Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>.
4419 * AntiVirus.cc (AntiVirusPage::wantsActivation): Define.
4420 * AntiVirus.h (AntiVirusPage::wantsActivation): Declare.
4421 * localdir.cc (LocalDirPage::OnBack): Remove logic subsumed by
4422 RootPage::wantsActivation.
4423 * proppage.cc (PropertyPage::DialogProc): Call wantsActivation(),
4424 and skip to next page in sequence if activation is refused.
4425 * proppage.h (PropertyPage::wantsActivation): Default implementation.
4426 * root.cc (RootPage::wantsActivation): Define.
4427 * root.h (RootPage::wantsActivation): Declare.
4428 * source.cc: Don't include "AntiVirus.h".
4429 (SourcePage::OnNext): Remove logic subsumed by
4430 RootPage::wantsActivation.
4431 (SourcePage::OnBack): Remove logic subsumed by
4432 AntiVirusPage::wantsActivation.
4433 * splash.cc: Don't include "AntiVirus.h" or "dialog.h".
4434 (SplashPage::OnNext): Remove - subsumed by
4435 AntiVirusPage::wantsActivation.
4436 * splash.h (SplashPage::OnNext): Remove declaration.
4437
4438 2003-07-29 Robert Collins <rbtcollins@hotmail.com>
4439
4440 * PickView.h (PickView::refresh): New method.
4441 * PickView.cc (PickView::refresh): Extracted from various
4442 ChooserPage callers.
4443 * choose.cc: Use PickView::refresh wherever possible.
4444
4445 2003-07-29 Robert Collins <rbtcollins@hotmail.com>
4446
4447 * choose.h (ChooserPage::createListView): Remove last parameter.
4448 (ChooserPage::getDefaultListViewSize): Extracted method.
4449 * choose.cc (ChooserPage::createListView): Remove last parameter.
4450 (ChooserPage::getDefaultListViewSize): Extracted method.
4451
4452 2003-07-29 Robert Collins <rbtcollins@hotmail.com>
4453
4454 * choose.cc (ChooserPage::createListView): Remove unneeded
4455 parameter.
4456 * choose.h: Ditto.
4457
4458 2003-07-29 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4459
4460 * dialog.h (do_fromcwd): Change function declaration.
4461 * fromcwd.cc (do_fromcwd): Change return type to bool. Eliminate
4462 use of next_dialog, return true or false instead.
4463 * localdir.cc (LocalDirPage::OnNext): Use do_fromcwd()'s return
4464 value instead of next_dialog.
4465
4466 2003-07-29 Robert Collins <rbtcollins@hotmail.com>
4467
4468 * package_db.h (packagedb::fillMissingCategory): Move from ChooserPage.
4469 * choose.h (ChooserPage::fillMissingCategory): Delete.
4470 * package_db.cc (packagedb::fillMissingCategory): Move from ChooserPage.
4471 * choose.cc (ChooserPage::fillMissingCategory): Delete and adjust
4472 callers.
4473
4474 2003-07-29 Robert Collins <rbtcollins@hotmail.com>
4475
4476 * PickView.h (CATEGORY_EXPANDED): Move from choose.h
4477 (CATEGORY_COLLAPSED): Move from choose.cc.
4478 (PickView::setViewMode): Move from ChooserPage.
4479 * choose.h (CATEGORY_EXPANDED): Delete.
4480 (CATEGORY_COLLAPSED): Delete.
4481 (ChooserPage::setViewMode): Delete.
4482 * PickView.cc (PickView::setViewMode): Move from ChooserPage.
4483 * chooser.cc (ChooserPage::setViewMode): Delete, and adjust callers
4484 throughout.
4485
4486 2003-07-28 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4487
4488 * AntiVirus.cc (AntiVirusPage::OnNext): Do not explicitly specify the
4489 page to display next, since it follows in the default page ordering
4490 anyway.
4491
4492 2003-07-28 Max Bowsher <maxb@ukf.net>
4493
4494 * dialog.h: (NEXT): Remove obsolete macro.
4495 * site.cc (save_dialog): Remove use of NEXT(), and non-functional
4496 unnecessary error handler.
4497
4498 2003-07-28 Robert Collins <rbtcollins@hotmail.com>
4499
4500 * package_meta.h (packagemeta::addToCategoryAll): Declare.
4501 * package_meta.cc (packagemeta::addToCategoryAll): New method,
4502 separated to allow clear iteration.
4503 * choose.cc (ChooserPage::fillMissingCategory): BUGFIX: "all" is
4504 meant to be added unconditionally.
4505
4506 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
4507
4508 * Generic.h: New file, home for generic programming tools.
4509 (visit_if): Move here from package_meta.cc.
4510 Adjust to be fully parameterised.
4511 * package_meta.h (packagemeta::hasNoCategories): Query for generic
4512 programming.
4513 (packagemeta::setDefaultCategories): set categories for packages
4514 with none.
4515 * package_meta.cc: Move visit_if out. Adjust users for
4516 full paramterised operation.
4517 (packagemeta::hasNoCategories): Implement.
4518 (packagemeta::setDefaultCategories): Implement.
4519 * choose.cc (ChooserPage::fillMissingCategory): Use visit_if to
4520 reduce duplicate code.
4521 (ChooserPage::setExistence): Delete.
4522 * choose.h (ChooserPage::setExistence): Rename to
4523 packagedb::setExistence.
4524 * package_db.h (packagedb::setExistence): Declare.
4525 * package_db.cc (packagedb::setExistence): Copy from choose.cc
4526
4527 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
4528
4529 * localdir.h (LocalDirPage::OnInit): Remove.
4530 * localdir.cc (LocalDirPage::OnInit): Move to LocalDirSetting
4531 ::load().
4532 (LocalDirSetting::load): Copied from LocalDirPage::OnInit.
4533 * site.h (SitePage::OnInit): Remove.
4534 (SitePage::getSavedSites): New member, replaces get_saved_sites.
4535 (SitePage::registerSavedSite): New member, replaces
4536 register_saved_site.
4537 * site.cc (SitePage::OnInit): Move to SiteSetting::load().
4538 (SiteSetting::load): Copied from SitePage::OnInit.
4539 (SitePage::getSavedSites): Renamed from get_saved_sites.
4540 (SitePage::registerSavedSite): Renamed from register_saved_site.
4541 (do_download_site_info_thread): Don't look at the list size for
4542 determining if the download was successful.
4543
4544 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
4545
4546 * choose.h (ChooserPage::setViewMode): Remove HWND from
4547 signature.
4548 (ChooserPage::defaultTrust): Ditto.
4549 Move to PickView.
4550 (ChooserPage::ifChecked): Use Window helper function
4551 IsButtonChecked.
4552 * choose.cc (ChooserPage::setViewMode): Use chooser->GetHWND()
4553 throughout.
4554 Update all callers with new signature.
4555 (ChooserPage::defaultTrust): Ditto.
4556 Move to PickView.
4557 * PickView.h (PickView::defaultTrust): Declare.
4558 * PickView.cc (PickView::defaultTrust): Copy from chooser.cc.
4559
4560 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
4561
4562 * PickView.h (PickView::lv): Eliminate.
4563 * PickView.cc (PickView::init): Replace use of lv with
4564 GetHWND().
4565 (PickView::list_click): Ditto.
4566 * choose.h (ChooserPage::lv): Eliminate.
4567 * choose.cc: Replace lv with chooser->GetHWND()
4568 throughout.
4569
4570 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
4571
4572 * PickView.h (PickView::chooser): Eliminate.
4573 (PickView::list_vscroll): Make non-static.
4574 (PickView::list_hscroll): Ditto.
4575 (PickView::list_click): Ditto.
4576 (PickView::paint): Ditto.
4577 * PickView.cc (PickView::list_vscroll): Eliminate use
4578 of PickView::chooser.
4579 (PickView::list_hscroll): Ditto.
4580 (PickView::list_click): Ditto.
4581 (PickView::paint): Ditto.
4582 * choose.cc (Chooser::createListView): Eliminate use
4583 of PickView::chooser.
4584
4585 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
4586
4587 * PickView.h (PickView): Inherit from Window.
4588 (PickView::RegisterWindows): Move from ChooserPage.
4589 (PickView::listview_proc): Likewise.
4590 (PickView::paint): Ditto.
4591 (PickView::list_click): Ditto.
4592 (PickView::list_hscroll): Ditto.
4593 (PickView::list_vscroll): Ditto.
4594 (PickView::lv): Ditto.
4595 (PickView::chooser): Ditto.
4596 (PickView::Create): Override Windows::Create as we migrate.
4597 (PickView::registerWindowClass): Renamed RegisterWindows.
4598 (PickView::WindowClassAtom): Prevent double registration.
4599 (PickView::init): Declare.
4600 * PickView.cc: Adjust for new inheritance.
4601 (PickView::RegisterWindows): Move from ChooserPage.
4602 (PickView::listview_proc): Likewise.
4603 (PickView::paint): Ditto.
4604 (PickView::list_click): Ditto.
4605 (PickView::list_hscroll): Ditto.
4606 (PickView::list_vscroll): Ditto.
4607 (PickView::lv): Ditto.
4608 (PickView::chooser): Ditto.
4609 (PickView::Create): Introduce stub.
4610 (PickView::RegisterWindows): Rename
4611 (PickView::init): Extracted from constructor to allow
4612 reordering.
4613 * chooser.h (ChooserPage::registerWindows): Rename to
4614 PickView::RegisterWindows.
4615 (ChooserPage::listview_proc): Likewise.
4616 (ChooserPage::paint): Ditto.
4617 (ChooserPage::list_click): Ditto.
4618 (ChooserPage::list_hscroll): Ditto.
4619 (ChooserPage::list_vscroll): Ditto.
4620 (ChooserPage::lv): Duplicate into PickView, observe
4621 as non-static.
4622 (ChooserPage::chooser): Ditto.
4623 * chooser.cc (ChooserPage::registerWindows): Delete.
4624 (ChooserPage::listview_proc): Ditto.
4625 (ChooserPage::paint): Ditto.
4626 (ChooserPage::list_click): Ditto.
4627 (ChooserPage::list_hscroll): Ditto.
4628 (ChooserPage::list_vscroll): Ditto.
4629 (ChooserPage::createListView): Create() on PickView.
4630 * window.h (Window::RegisterWindowClass): Make virtual
4631 to allow Create to become a Template Method, and rename
4632 to registerWindowClass as it's not static.
4633 * window.cc (Window::registerWindowClass): Ditto.
4634 (Window::FirstWindowProcReflector): BUGFIX: Set window
4635 handle to prevent races with the window procedure.
4636
4637 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
4638
4639 * choose.cc (set_view_mode): Rename to ChooserPage::setViewMode.
4640 (default_trust): Rename to ChooserPage::defaultTrust.
4641 (fill_missing_category): Rename to ChooserPage::fillMissingCategory.
4642 (set_existence): Rename to ChooserPage::setExistence.
4643 (register_windows): Rename to ChooserPage::registerWindows.
4644 (listview_proc): Rename to ChooserPage::listview_proc.
4645 (paint): Rename to ChooserPage::paint.
4646 (list_click): Rename to ChooserPage::list_click.
4647 (list_hscroll): Rename to ChooserPage::list_hscroll.
4648 (list_vscroll): Rename to ChooserPage::list_vscroll.
4649 (lv): Rename to ChooserPage::lv.
4650 (chooser): Rename to ChooserPage::chooser.
4651 * choose.h (ChooserPage::setViewMode): Declare.
4652 (ChooserPage::defaultTrust): Declare.
4653 (ChooserPage::fillMissingCategory): Declare.
4654 (ChooserPage::setExistence): Declare.
4655 (ChooserPage::registerWindows): Declare.
4656 (ChooserPage::listview_proc): Declare.
4657 (ChooserPage::paint): Declare.
4658 (ChooserPage::list_click): Declare.
4659 (ChooserPage::list_hscroll): Declare.
4660 (ChooserPage::list_vscroll): Declare.
4661 (ChooserPage::lv): Declare.
4662 (ChooserPage::chooser): Declare.
4663
4664 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
4665
4666 * choose.cc (create_listview): Use for_each instead of explicit
4667 iteration.
4668 (create_listview): Rename to ChooserPage::createListview.
4669 * package_meta.h (packagemeta::set_requirements): Explicitly separate
4670 the 1 and 2 parameter versions.
4671
4672 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
4673
4674 * String++.h (String::operator !=): Declare for char * and String.
4675 * String++.cc (String::operator !=): Implement.
4676 * package_meta.cc(StringConcatenator): Move above all users.
4677 (_visit_if): Predicate support for visitors.
4678 (packagemeta::getReadableCategoryList): Refactor to use
4679 StringConcatenator with a predicate.
4680 * choose.h: Remove unneeded c++ guards.
4681
4682 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
4683
4684 * choose.cc (scan_downloaded_files): Rename to
4685 packagemeta::ScanDownloadedFiles.
4686 (scanAVersion): Rename to packageversion::scan.
4687 (GetParentRect): Rename to ChooserPage::getParentRect.
4688 * choose.h (ChooserPage::getParentRect): Declare.
4689 * package_meta.h (packagemeta::ScanDownloadedFiles): Declare.
4690 * package_version.h (packageversion::scan): Declare.
4691 * package_version.cc (packageversion::scan): Move from choose.cc
4692 * package_meta.cc (packagemeta::ScanDownloadedFiles): Move from
4693 choose.cc
4694
4695 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
4696
4697 * choose.cc (ChooserPage::OnNext): log before starting activity threads.
4698 (ChooserPage::OnInit): Remove temporary variable frame.
4699 (ChooserPage::setPrompt): Extract method from OnInit.
4700 (choose_inst_text): Remove unused variable.
4701 * choose.h(ChooserPage::setPrompt): Declare
4702 * res.rc (IDD_CHOOSE): Bugfix: the chooser was setting a non-present
4703 caption.
4704
4705 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
4706
4707 Remove package specific code from choose.cc.
4708 Update copyrights where appropriate.
4709 * choose.cc(ChooserPage::OnNext): Extract logging to
4710 packagemeta::logSelectionStatus.
4711 * package_meta.cc(packagemeta::logSelectionStatus): Extract from
4712 ChooserPage::OnNext.
4713 (StringConcatenator): helper for logSelectionStatus.
4714 (action_caption): Make const.
4715 * package_meta.h(packagemeta): Declare logSelectionStatus.
4716 (packagemeta::action_caption): Make const.
4717 * package_version.cc(packageversion::sourcePackage): Make const.
4718 * package_version.h(packageversion::sourcePackage): Make const.
4719
4720 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
4721
4722 * choose.cc: Update copyright.
4723 (ChooserPage::keepClicked): Extracted from OnMessageCmd.
4724 (ChooserPage::changeTrust): Ditto.
4725 * choose.h (ChooserPage): Declare keepClicked and changeTrust.
4726 (ChooserPage::ifChecked): Extracted from OnMessageCmd.
4727 * package_meta.h (SetRequirement): Adapter for visiting package
4728 collections.
4729
4730 2003-07-26 Max Bowsher <maxb@ukf.net>
4731
4732 * tests/.cvsignore: New file, listing Makefile.in.
4733
4734 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
4735
4736 Save used local cache dir from initial run of setup, so the user doesn't
4737 need to retype it.
4738 * localdir.h (LocalDirSetting): UserSetting class for the local cache
4739 dir.
4740 * localdir.cc (LocalDirSetting::save): Replace save_local_dir, and
4741 update callers.
4742
4743 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
4744
4745 Save used site from initial run of setup, so the user doesn't need to
4746 retype it.
4747 * main.cc (main): Load and save all user settings.
4748 * site.cc (SiteSetting::save): Migrate logic from save_site_url.
4749 (SitePage::OnNext): Use ChosenSites.save() to remove uneeded
4750 save_site_url call.
4751 (save_site_url): Delete.
4752 * site.h (save_site_url): Remove declaration.
4753 * .cvsignore: Update autoconf generated files.
4754
4755 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
4756
4757 * tests/Makefile.am: Driver for test suite.
4758 * tests/UserSettingTest.cc: Test UserSetting interface.
4759 * tests/UserSettingsTest.cc: Test UserSettings interface.
4760 * Makefile.am: Add the tests dir to recurse into.
4761 * configure.in: Ditto.
4762 * UserSetting.h: Add load and save methods to allow global
4763 serialisation.
4764 Add explicit copy and assignment operators to prevent synthetics.
4765 Make the constructor protected to prevent direct instantiation.
4766 * UserSettings.h (UserSettings::loadAllSettings): New method.
4767 (UserSettings::savedAllSettings): New method.
4768 * UserSettings.cc: Implement new methods.
4769 * site.cc: Implement stubs for new required UserSetting methods.
4770 * site.h (ChosenSite): Ditto.
4771 * bz2lib/: Ran automake.
4772 * zlib/: Ran automake.
4773
4774 2003-07-23 Max Bowsher <maxb@ukf.net>
4775
4776 * desktop.cc (DesktopSetupPage::OnBack): Remove obsolete use of NEXT().
4777 * root.cc (RootPage::OnNext): Ditto.
4778 (RootPage::OnBack): Ditto.
4779 * install.cc (do_install_thread): Remove obsolete use of next_dialog.
4780 * main.cc (main): Ditto.
4781 * postinstall.cc (do_postinstall_thread): Ditto.
4782
4783 2003-07-23 Max Bowsher <maxb@ukf.net>
4784
4785 * dialog.h (do_choose, do_desktop, do_local_dir, do_net, do_other)
4786 (do_root, do_site, do_source, do_splash): Remove declarations, since
4787 these functions no longer exist.
4788
4789 2003-07-23 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4790
4791 * choose.cc (initialized): Remove obsolete file scope variable.
4792
4793 2003-07-18 Max Bowsher <maxb@ukf.net>
4794
4795 * res.rc: Make caption of every dialog page begin with "Cygwin Setup".
4796 This aids recognition when minimized.
4797 Prompted by Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>.
4798
4799 2003-07-10 Jeremy White <jwhite@codeweavers.com>
4800
4801 * mount.cc, root.cc, site.cc: Make StringOptions required,
4802 thereby making --longopt <parm> behave as a newbie would expect.
4803
4804 2003-07-08 Max Bowsher <maxb@ukf.net>
4805
4806 * LogFile.h, cistring.h, dialog.h, diskfull.h, filemanip.h, geturl.h,
4807 hash.h, log.h, mkdir.h, mklink2.h, mount.h, msg.h, netio.h, nio-file.h,
4808 nio-ftp.h, nio-http.h, nio-ie5.h, port.h, simpsock.h, state.h,
4809 version.h: Add inclusion guard.
4810 * root.h: Standardize naming of inclusion guard.
4811
4812 2003-06-23 Max Bowsher <maxb@ukf.net>
4813
4814 * AntiVirus.h, Exception.h, FilterVisitor.h, FindVisitor.h,
4815 IOStreamProvider.h, IniDBBuilder.h, IniDBBuilderPackage.h,
4816 IniParseFeedback.h, IniParseFindVisitor.h, LogSingleton.h, MD5++.h,
4817 PackageSpecification.h, PackageTrust.h, PickCategoryLine.h, PickLine.h,
4818 PickPackageLine.h, PickView.h, RECTWrapper.h, ScanFindVisitor.h,
4819 String++.h, UserSetting.h, UserSettings.h, archive.h, archive_tar.h,
4820 category.h, choose.h, compress.h, compress_bz.h, compress_gz.h,
4821 cygpackage.h, desktop.h, download.h, find.h, ini.h, io_stream.h,
4822 io_stream_cygfile.h, io_stream_file.h, io_stream_memory.h,
4823 io_stream_rsync.h, localdir.h, net.h, package_db.h, package_meta.h,
4824 package_source.h, package_version.h, proppage.h, propsheet.h, script.h,
4825 site.h, source.h, splash.h, threebar.h, win32.h, window.h:
4826 Standardize naming and placement of inclusion guards.
4827
4828 2003-06-22 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
4829
4830 * res.rc (all dialogs): Change font from "MS Sans Serif" to
4831 "MS Shell Dlg".
4832
4833 2003-06-22 Max Bowsher <maxb@ukf.net>
4834
4835 * Makefile.am: Clarify comment.
4836 Derive AM_CFLAGS from AM_CXXFLAGS, rather than the other way around.
4837 (AM_CXXFLAGS): Remove -Wmissing-declarations - it is a C-only warning.
4838 (AM_CFLAGS): Add -Winline, and -Wmissing-declarations.
4839
4840 2003-06-22 Max Bowsher <maxb@ukf.net>
4841
4842 * rfc1738.cc (rfc1738_do_escape): Eliminate redundant conditional.
4843
4844 2003-06-05 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4845
4846 * window.h (SETUP_WINDOW_H): Rename multi-include guard.
4847 (Copyright): Update.
4848 (RECTWrapper): New forward declaration.
4849 (Window::Create): Move.
4850 (Window::MoveWindow): New overload declaration.
4851 * window.cc: (RECTWrapper.h) Include.
4852 (Copyright): Update.
4853 (Window::FirstWindowProcReflector): Use reinterpret_cast<> instead
4854 of C-style casts.
4855 (Window::MoveWindow): New overload.
4856
4857 2003-05-31 Max Bowsher <maxb@ukf.net>
4858
4859 * res.rc: Resize title controls to fully fill available width.
4860
4861 2003-05-07 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4862
4863 * RECTWrapper.h: New file.
4864
4865 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
4866
4867 * script.cc (Script::extension): Extract method from Script::run.
4868 (Script::run): Extract extension generation to Script::extension.
4869 * script.h (Script::extension): Declare.
4870
4871 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
4872
4873 * script.cc (run_script): Remove.
4874 (try_run_script): Inline method run_script.
4875 * script.h (run_script): Remove.
4876
4877 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
4878
4879 * postinstall.cc (RunScript::operator()): Use new run syntax.
4880 * script.h (Script::run): Eliminate to_log parameter.
4881 * script.cc (Script::run): Ditto.
4882 (run_script): Use new run syntax.
4883
4884 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
4885
4886 * script.cc (Script::run): Eliminate temp variable 'f2'.
4887 Rename temp variable 'f2' to 'windowsName' for increased clarity.
4888
4889 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
4890
4891 * script.cc (Script::run): Eliminate temp variable 'fname'.
4892
4893 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
4894
4895 * script.cc (Script::run): Eliminate temp variable 'dir'.
4896
4897 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
4898
4899 * script.cc (run_script): Always pass TRUE to Script::run.
4900 * script.h (run_script): Remove optional to_log parameter.
4901
4902 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
4903
4904 * script.cc (run_script): Move functionality into Script.
4905 (Script::run): Absorb run_script.
4906
4907 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
4908
4909 * PickCategoryLine.cc (PickCategoryLine::click): Tell packagemeta we
4910 are about to perform a visit.
4911 * PickPackageLine.cc (PickPackageLine::click): Tell packagemeta we
4912 are about to perform a visit.
4913 * package_db.cc (packagedb::markUnVisited): Convenience wrapper -
4914 mark all packages as unvisited.
4915 * package_db.h (packagedb::markUnVisited): Declare.
4916 * package_meta.cc (packagemeta::PrepareForVisit): New static method
4917 to prepare for a loop-free visit.
4918 (packagemeta::packagemeta): Adjust for new member.
4919 (packagemeta::set_requirements): Only visit a node once.
4920 (packagemeta::visited): Get and Set methods for new member visited_.
4921 * package_meta.h (packagemeta::PrepareForVisit): Declare.
4922 (packagemeta::visited): Declare.
4923 (packagemeta::visited_): Declare.
4924
4925 2003-04-07 Max Bowsher <maxb@ukf.net>
4926
4927 * download.cc: Add command line option to suppress MD5 checks.
4928 (validateCachedPackage): Test option and possibly skip.
4929
4930 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
4931
4932 Merge in setup-200303-troubleshooting fixes.
4933
4934 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
4935
4936 * main.cc (NTSecurity::setDefaultDACL): Reinstate commented code.
4937 (NTSecurity::setDefaultSecurity): Ditto.
4938
4939 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
4940
4941 * main.cc (NTSecurity::setDefaultDACL): Use MS calculations for ACL
4942 buffer sizing.
4943
4944 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
4945
4946 * main.cc (NTSecurity::setDefaultDACL): Sanity check memory allocation.
4947
4948 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
4949
4950 * main.cc (NTSecurity::setDefaultDACL): Adjust commented code for
4951 auto_ptr use.
4952
4953 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
4954
4955 * main.cc (NTSecurity::NoteFailedAPI): Helper function.
4956 Use throughout NTSecurity routines.
4957 (NTSecurity::setDefaultDACL): Use dynamic memory for ACL storage.
4958
4959 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
4960
4961 * main.cc (NTSecurity::setDefaultDACL): Disable ~ 50% of remaining
4962 active code.
4963
4964 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
4965
4966 * main.cc (NTSecurity::GroupInfo): Extract group query code.
4967 (NTSecurity::setDefaultDACL): Disable ~ 50% of code.
4968
4969 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
4970
4971 * main.cc (NTSecurity::setDefaultSecurity): Disable ~ 50% of security
4972 code.
4973
4974 2003-04-01 Robert Collins <rbtcollins@hotmail.com>
4975
4976 * main.cc (NTSecurity::setDefaultSecurity): Remove double declaration of
4977 sz. User TokenGroupCollection to abstract token searching logic,
4978 eliminate isadmin and isuser temporary variables.
4979 (TokenGroupCollection): New class for querying token group information.
4980
4981 2003-04-01 Robert Collins <rbtcollins@hotmail.com>
4982
4983 * main.cc (NTSecurity::setDefaultSecurity): Extract esid initialisation.
4984 Move local variables to just before first use.
4985 SetTokenInformationFailures where being handled inconsistently.
4986 Remove assignments from if statements.
4987 (NTSecurity::esid): Rename to everyOneSID.
4988 (NTSecurity::initialiseEveryOneSID): new method.
4989 (NTSecurity::setDefaultDACL): Extract method for default DACL logic.
4990
4991 2003-04-01 Robert Collins <rbtcollins@hotmail.com>
4992
4993 * main.cc (SIDWrapper): Manage SID memory.
4994 (HANDLEWrapper): Likewise for HANDLES.
4995 (NTSecurity): Worker class for set_default_sec().
4996 (set_default_sec): Move body into NTSecurity::setDefaultSecurity().
4997 (NTSecurity::setDefaultSecurity): Eliminate goto out: via memory
4998 managing objects.
4999
5000 2003-04-01 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
5001
5002 * cygwin.ico: Added two new resolutions, 64x64 and 72x72.
5003
5004 2003-03-29 Robert Collins <rbtcollins@hotmail.com>
5005
5006 * GUIDELINES: New file documenting code guidelines.
5007
5008 2003-03-26 Max Bowsher <maxb@ukf.net>
5009
5010 * .cvsignore: Add cfgaux.
5011
5012 2003-03-26 Robert Collins <rbtcollins@hotmail.com>
5013
5014 * package_version.cc (_defaultversion::accessible): Override and make
5015 always false.
5016 (_packageversion::accessible): Fix a couple of logic bugs resulting in
5017 incorrect trues.
5018 * package_version.h (_packageversion::accessible): Make virtual.
5019
5020 2003-03-25 Igor Pechtchanski <pechtcha@cs.nyu.edu>
5021
5022 * threebar.h (WM_APP_START_POSTINSTALL): New message.
5023 (WM_APP_POSTINSTALL_THREAD_COMPLETE): New message.
5024 * threebar.cc (ThreeBarProgressPage::OnMessageApp):
5025 Add handling for WM_APP_START_POSTINSTALL and
5026 WM_APP_POSTINSTALL_THREAD_COMPLETE.
5027 * install.cc (do_install_thread): Set next_dialog to
5028 IDD_S_POSTINSTALL.
5029 * desktop.cc (DesktopSetupPage::OnFinish): Move the
5030 do_postinstall call to ThreeBarProgressPage::OnMessageApp.
5031 * script.h (Script::fullName): New member function.
5032 (Script::run): New member function.
5033 (Script::ETCPostinstall): New static member constant.
5034 * script.cc (Script::fullName): Implement.
5035 (Script::run): Implement.
5036 (Script::ETCPostinstall): Define.
5037 (Script::isAScript): Use ETCPostinstall instead of a
5038 hardcoded string constant.
5039 (run): Enable "#if 0"'d code.
5040 * postinstall.cc (Progress): New extern variable.
5041 (RunFindVisitor::visitFile): Add script to vector
5042 instead of running.
5043 (RunFindVisitor::_scripts): New member variable.
5044 (RunScript): New helper class for use in for_each.
5045 (do_postinstall_thread): Rename do_postinstall to. Add
5046 Progress bar and text setting. Add package count.
5047 (do_postinstall_reflector): New static function.
5048 (do_postinstall): Rename to do_postinstall_thread.
5049 Create a thread instead.
5050
5051 2003-03-18 Igor Pechtchanski <pechtcha@cs.nyu.edu>
5052
5053 * script.cc (run): Add file_out parameter.
5054 Redirect output of subprocess to file, creating the
5055 path if necessary. Minimize the script window.
5056 (run_script): Add optional to_log boolean parameter.
5057 If to_log, redirect output to temporary file and then
5058 import it into LOG_BABBLE.
5059 (OutputLog): New helper class.
5060 (operator<<): New operation on OutputLog.
5061 * script.h (run_script): Add optional to_log parameter.
5062 * postinstall.cc (RunFindVisitor::visitFile): Instruct
5063 run_script() to log script output.
5064 (do_postinstall): Ditto.
5065
5066 2003-03-20 Robert Collins <rbtcollins@hotmail.com>
5067
5068 * package_meta.cc (packagemeta::set_action): The logic
5069 test for the default action was reversed.
5070
5071 2003-03-18 Igor Pechtchanski <pechtcha@cs.nyu.edu>
5072
5073 * postinstall.cc (do_postinstall): Filter out '*.done'.
5074 * FilterVisitor.h: New header file. Declare the
5075 FilterVisitor, Filter, and ExcludeNameFilter classes.
5076 * FilterVisitor.cc: New file. Implement FilterVisitor,
5077 Filter, and ExcludeNameFilter.
5078 * String++.h (String::matches): New instance function.
5079 * String++.cc (String::matches): Implement.
5080 (strmatch) Import and adapt for <buf,len> strings.
5081 * Makefile.am (setup_SOURCES): Add FilterVisitor.cc and
5082 FilterVisitor.h to value.
5083
5084 2002-03-18 Max Bowsher <maxb@ukf.net>
5085
5086 * LogFile.cc (LogFile::exit): Use CRT exit() instead of ExitProcess().
5087 Use passed exit_code even if been_here.
5088 Remove incorrect _CYGWIN_ preprocessor conditional.
5089
5090 2003-03-16 Robert Collins <rbtcollins@hotmail.com>
5091
5092 * package_db.h (PackageDBConnectedIterator): Typedef
5093 for connected loop detection collection iterator.
5094 * package_db.cc (ConnectedLoopDetector): An
5095 implementation of R.E. Tarjans strongly connected
5096 set visitor algorithm.
5097 * postinstall.cc (do_postinstall): Use the new iterator
5098 for visiting postinstall scripts.
5099
5100 2003-03-16 Robert Collins <rbtcollins@hotmail.com>
5101
5102 * install.cc: Introduce Installer class.
5103 (init_dialog): Rename to Installer::initDialog.
5104 (progress): Rename to Installer::progress.
5105 (standard_dirs): Rename to Installer::StandardDirs.
5106 (uninstall_one): Rename to Installer::uninstallOne.
5107 (replace_one): Rename to Installer::replaceOne.
5108 (log_ror_failure): Rename to
5109 Installer::replaceOnRebootFailed.
5110 (log_ror_success): Rename to
5111 Installer::replaceOnRebootSucceeded.
5112 (install_one_source): Rename to Installer::installOneSource.
5113 Note script files as they are installed.
5114 * package_version.cc (packageversion::addScript): Implement.
5115 (packageversion::scripts): Implement.
5116 * package_version.h (packageversion::addScript): Record the
5117 presence of a script.
5118 * script.h (Script): New class to track scripts.
5119 * postinstall.cc (do_postinstall): Iterate through the
5120 package listed scripts before searching for scripts.
5121 * String++.cc (String::substr): Second argument needed to
5122 be signed.
5123 * String++.h (String::substr): Second argument needed to
5124 be signed.
5125
5126 2003-03-16 Max Bowsher <maxb@ukf.net>
5127
5128 * .cvsignore: Create, to ignore configure, aclocal.m4, Makefile.in and
5129 autom4te.cache.
5130
5131 2003-03-16 Max Bowsher <maxb@ukf.net>
5132
5133 * UserSettings.cc (UserSettings::Instance): Remove premature return.
5134
5135 2003-03-15 Robert Collins <rbtcollins@hotmail.com>
5136
5137 * script.cc (run): Rename variable b to createSucceeded.
5138
5139 2003-03-15 Igor Pechtchanski <pechtcha@cs.nyu.edu>
5140
5141 * script.cc (run): Close unneeded handles.
5142
5143 2003-03-15 Robert Collins <rbtcollins@hotmail.com>
5144
5145 * configure: Remove.
5146 * aclocal.m4: Remove.
5147 * Makefile.in: Remove.
5148 * cfgaux: Remove.
5149 * cfgaux/compile: Remove.
5150 * cfgaux/config.guess: Remove.
5151 * cfgaux/config.sub: Remove.
5152 * cfgaux/depcomp: Remove.
5153 * cfgaux/install-sh: Remove.
5154 * cfgaux/ltmain.sh: Remove.
5155 * cfgaux/missing: Remove.
5156 * cfgaux/mkinstalldirs: Remove.
5157
5158 2003-03-14 Igor Pechtchanski <pechtcha@cs.nyu.edu>
5159
5160 * install.cc (replace_one): Clear Text3.
5161
5162 2003-03-14 Igor Pechtchanski <pechtcha@cs.nyu.edu>
5163
5164 * install.cc (install_one_source): Add logging for successful
5165 replace-on-reboot scheduling. Factor out duplicate code.
5166 Set rebootneeded on Win9x.
5167 (log_ror_failure): New static function.
5168 (log_ror_success): New static function.
5169
5170 2003-03-14 Robert Collins <rbtcollins@hotmail.com>
5171
5172 * choose.cc (ChooserPage::OnNext): Fix iterator bug. Reported by
5173 Igor Pechtchanski <pechtcha@cs.nyu.edu>.
5174
5175 2003-03-13 Max Bowsher <maxb@ukf.net>
5176
5177 * Update included zlib to 1.1.4.
5178
5179 2003-03-13 Robert Collins <rbtcollins@hotmail.com>
5180
5181 * install.cc (do_install_thread): Use a query method rather than temp
5182 variable do_skip.
5183
5184 2003-03-09 Pavel Tsekov <ptsekov@gmx.net>
5185
5186 * install.cc (do_install_thread): Use IDS_SKIP_PACKAGE
5187 instead of IDS_CORRUPT_PACKAGE when asking the user to take
5188 action if the hash verification check fails for a source package.
5189 Do not increase the value of 'total_bytes' variable if the
5190 user chooses to skip over a package, which failed the hash
5191 verification.
5192
5193 2003-03-10 Max Bowsher <maxb@ukf.net>
5194
5195 * Makefile.am: Add foreign to AUTOMAKE_OPTIONS.
5196
5197 2003-03-10 Robert Collins <rbtcollins@hotmail.com>
5198
5199 * UserSettings.cc (UserSettings::init): Really initialize all members.
5200
5201 2003-03-10 Robert Collins <rbtcollins@hotmail.com>
5202
5203 * Exception.h: Add a logic error exception id.
5204 * Makefile.am: Add new sources.
5205 * UserSettings.cc: New file.
5206 * UserSettings.h: New file.
5207 * UserSetting.cc: New file.
5208 * UserSetting.h: New file.
5209 * site.h: Add a SiteSetting as example of a UserSetting.
5210 * site.cc (ChosenSites): Add a instance of SiteSetting to trigger
5211 registration.
5212
5213 2003-03-10 Robert Collins <rbtcollins@hotmail.com>
5214
5215 * compress_bz.cc (compress_bz::read): Adjust incorrect assignment of
5216 lasterr.
5217 (compress_bz::error): Return lasterr which will indicate any error.
5218
5219 2003-03-10 Robert Collins <rbtcollins@hotmail.com>
5220
5221 * choose.h (ChooserPage): Override OnActivate.
5222 * choose.cc (ChooserPage::OnActivate): Refresh the current view when
5223 activating the dialog.
5224
5225 2003-03-09 Robert Collins <rbtcollins@hotmail.com>
5226
5227 * package_version.cc (_defaultversion::pick(bool)): Override this and
5228 do nothing.
5229 (packageversion::pick(bool): Use a mutator function rather than direct
5230 member access.
5231 * package_version.h (_packageversion::pick(bool)): Move method from
5232 _packageversion.
5233
5234 2003-02-16 Pavel Tsekov <ptsekov@gmx.net>
5235
5236 * install.cc (install_one_source): Remove the MD5 verification
5237 code.
5238 Delay the creation of the package listing file.
5239 (do_install_thread): Check the hashes for packages which need
5240 to be installed before the uninstall step. Allow the user to
5241 skip over packages, which fail the hash verification.
5242 (md5_one): Define new function.
5243 * res.rc (IDS_SKIP_PACKAGE): New string resource.
5244 * resource.h (IDS_SKIP_PACKAGE): New macro definition.
5245
5246 2003-02-16 Pavel Tsekov <ptsekov@gmx.net>
5247
5248 * Exception.h: Declare new constructor.
5249 (Exception::_message): Change the type from 'const char *' to
5250 'class String'.
5251 (Exception::~Exception): Implement destructor (make gcc shut up).
5252 * Exception.cc: Implement new constructor.
5253 (Exception::what): Use String::cstr_oneuse ().
5254 * download.cc (validateCachedPackage): Use the constructor, which
5255 takes String& as its second argument, when throwing objects
5256 of type Exception.
5257 (check_for_cached): Ditto.
5258 * install.cc (install_one_source): Ditto.
5259
5260 2003-02-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
5261
5262 * res.rc (IDS_INSTALL_INCOMPLETE): Change hard-coded
5263 log filename to %s.
5264 (IDS_MISSING_LOG): New string resource.
5265 * resource.h (IDS_MISSING_LOG): New resource.
5266 * LogFile.cc (LogFile::exit): Pass log filename for
5267 LOG_BABBLE to note().
5268 (LogFile::getFileName): New function.
5269 * LogFile.h (LogFile::getFileName): New function.
5270
5271 2003-02-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
5272
5273 * String++.cc: Don't include concat.h.
5274 * Makefile.am: Remove concat.cc and concat.h references.
5275 * concat.h: Remove.
5276 * concat.cc: Remove.
5277
5278 2003-03-09 Max Bowsher <maxb@ukf.net>
5279
5280 * bootstrap.sh: Add sanity check of current directory.
5281 Recurse into libgetopt++ if needed.
5282
5283 2003-03-09 Robert Collins <rbtcollins@hotmail.com>
5284
5285 * Update readme of bugs and wishes.
5286
5287 2003-03-05 Max Bowsher <maxb@ukf.net>
5288
5289 * netio.cc (save_dialog): Allocate an empty string if the password is
5290 null, so that an empty password is accepted elsewhere in setup.
5291 (check_if_enable_ok): An empty password is OK.
5292
5293 2003-03-05 Brian Keener <bkeener@thesoftwaresource.com>
5294
5295 * PickView.cc (PickView::views): Add two new views for Skipped
5296 packages and Installed Packages not requiring update.
5297 (PickView::set_headers () ): Ditto.
5298 (PickView::clear_view (void) ): Ditto.
5299 (PickView::views::caption () ): Add two new captions for the new
5300 views added for Skipped and Installed Packages.
5301 (PickView::scroll () ): Modify Scroll Bar property to Disable
5302 instead of disappearing when there is nothing to Scroll.
5303 * PickView.h: Add two new views for Skipped packages and Installed
5304 packages to public class view.
5305 * choose.cc (list_click () ): Modify Scroll Bar property to Disable
5306 instead of disappearing when there is nothing to Scroll.
5307 (listview_proc () ): Ditto.
5308 (set_view_mode): Add two new views for Skipped Packages and Installed
5309 Packages not requiring update. Modify Scroll Bar property to Disable
5310 instead of disappearing when there is nothing to scroll.
5311 * res.rc (IDD_CHOOSE): Reposition Radio Buttons, View Selection
5312 Button and View Button Caption to make room for longer captions.
5313
5314 2003-03-04 Max Bowsher <maxb@ukf.net>
5315
5316 * compress_gz.cc (compress_gz::construct):
5317 Fix broken checkin dated 2002-07-03.
5318
5319 2003-02-28 Max Bowsher <maxb@ukf.net>
5320
5321 * main.cc (set_default_sec): Add logging.
5322
5323 2003-02-28 Pierre Humblet <pierre.humblet@ieee.org>
5324
5325 * main.cc (set_default_dacl): Replace with set_default_sec.
5326 (set_default_sec): Attempt to change the default group to
5327 Users or Administrators if it is None, in addition to setting
5328 Everyone in the default DACL.
5329 (main): Call set_default_sec instead of set_default_dacl.
5330
5331 2003-01-31 Max Bowsher <maxb@ukf.net>
5332
5333 * install.cc (install_one_source): Fix spacing in log message.
5334
5335 2003-01-19 Max Bowsher <maxb@ukf.net>
5336
5337 * resource.h (IDC_CHOOSE_KEEP): Define.
5338 * res.rc (IDD_CHOOSE): Add radio button IDC_CHOOSE_KEEP.
5339 * choose.cc (create_listview): Add IDC_CHOOSE_KEEP to ta[].
5340 (ChooserPage::OnMessageCmd): Handle new IDC_CHOOSE_KEEP button.
5341
5342 2003-01-15 Max Bowsher <maxb@ukf.net>
5343
5344 * mkdir.cc [_CYGWIN_]: Implement what was pseudocode.
5345 * io_stream.h [__CYGWIN__]: Don't typedef ssize_t.
5346 * proppage.h: Include "win32.h" instead of <windows.h>.
5347
5348 2003-01-15 Max Bowsher <maxb@ukf.net>
5349
5350 * mount.cc [MAINTAINER_FEATURES]: Add --override-registry-name option.
5351
5352 2002-12-11 Abraham Backus <abraham@backus.com>
5353
5354 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Leave port out of Host header,
5355 unless non-default.
5356
5357 2002-12-11 Max Bowsher <maxb@ukf.net>
5358
5359 * package_meta.cc: Change 'endl' to 'endLog' as appropriate.
5360 * package_version.cc: Ditto.
5361
5362 2002-09-22 Max Bowsher <maxb@ukf.net>
5363
5364 * PickView.cc (pkg_headers): Rename column 'Category' to 'Categories'.
5365 * package_meta.h (packagemeta::getReadableCategoryList): Declare.
5366 * package_meta.cc (packagemeta::getReadableCategoryList): Implement.
5367 * PickPackageLine.cc (PickPackageLine::paint): Change to use
5368 getReadableCategoryList.
5369 Fix x2 argument to IntersectClipRect.
5370
5371 2002-11-25 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
5372
5373 * window.h (Window::GetWindowRect): New method declaration.
5374 (Window::GetClientRect): Ditto.
5375 (Window::MoveWindow): Ditto.
5376 (Window::ScreenToClient): Ditto.
5377 * window.cc (REFLECTION_INFO): Remove.
5378 (ReflectionInfo): Remove.
5379 (Window::FirstWindowProcReflector): Use the WM_NCCREATE message instead
5380 of the horrid REFLECTION_INFO hack to hook the Window instance to the
5381 HWND instance.
5382 (Window::WindowProcReflector): Use GetWindowLongPtr() now that it's
5383 available.
5384 (Window::Create): Change to use new WM_NCCREATE reflection procedure
5385 above.
5386 (Window::GetWindowRect): New method.
5387 (Window::GetClientRect): New method.
5388 (Window::MoveWindow): New method.
5389 (Window::CenterWindow): Use new methods, also specify "::" for some non-
5390 member functions with the same names.
5391 (Window::ScreenToClient): New method.
5392
5393 2002-11-26 Robert Collins <rbtcollins@hotmail.com>
5394
5395 * AntiVirus.cc: Change the short option again! It's now 'A'.
5396 * desktop.cc (etc_profile): Remove.
5397 (make_etc_profile): Remove.
5398 (uexists): Remove.
5399 (make_passwd_group): Remove.
5400 (do_desktop_setup): Don't call removed functions.
5401
5402 2002-11-26 Robert Collins <rbtcollins@hotmail.com>
5403
5404 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Fix my botched application of
5405 Marcel's patch.
5406
5407 2002-07-08 Marcel Telka <marcel@telka.sk>
5408
5409 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Fixed decoding of the FTP
5410 reply (code 227) to the PASV command.
5411
5412 2002-11-26 Robert Collins <rbtcollins@hotmail.com>
5413
5414 * IniDBBuilderPackage.cc (IniDBBuilderPackage::~IniDBBuilderPackage):
5415 Sort the packages db once all the new packages have been added.
5416 * IniDBBuilderPackage.h (IniDBBuilderPackage::~IniDBBuilderPackage):
5417 Declare this.
5418
5419 2002-11-26 Robert Collins <rbtcollins@hotmail.com>
5420
5421 * choose.cc (ChooserPage::OnNext): Remove extracted comment.
5422 * package_version.cc (processOneDependency): Return once selecting
5423 a package (bugfix to prevous rework).
5424 Log if the default trust fails the package specification.
5425
5426 2002-11-26 Robert Collins <rbtcollins@hotmail.com>
5427
5428 * package_meta.h (packagemeta::logAllVersions): Declare.
5429 (packagemeta::trustLabel): Ditto.
5430 * choose.cc (ChooserPage::OnNext): Get each package to log all it's
5431 versions.
5432 * package_meta.cc (packagemeta::logAllVersions): Implement.
5433 (packagemeta::trustLabel): Ditto.
5434
5435 2002-11-25 Robert Collins <rbtcollins@hotmail.com>
5436
5437 * AntiVirus.cc: Change 'd' to 'D' to fix command line conflict.
5438
5439 2002-11-25 Robert Collins <rbtcollins@hotmail.com>
5440
5441 * AntiVirus.cc: New file.
5442 * AntiVirus.h: Ditto.
5443 * LogFile.cc: Include AntiVirus.h for class definition.
5444 (LogFile::exit): Trigger AntiVirus::AtExit().
5445 * MakeFile.am(setup_SOURCES): Add AntiVirus files.
5446 * autoload.c: Declare Service Control Manager related API's.
5447 * main.cc: Include AntiVirus.h for class definition.
5448 (main): Add the AntiVirus page in.
5449 * res.rc: Define IDD_VIRUS.
5450 * resource.h: Define IDD_VIRUS related control ID's.
5451 * splash.h: Override OnNext.
5452 * splash.cc: Only show AntiVirus page when one has been detected.
5453 * source.cc: Ditto.
5454
5455 2002-11-25 Robert Collins <rbtcollins@hotmail.com>
5456
5457 * package_version.cc (DependencyProcessor): Create convenience class.
5458 (select): Extract version selection method.
5459 (processOneDependency): Check for a satisfactory trusted version
5460 first.
5461
5462 2002-11-10 Robert Collins <rbtcollins@hotmail.com>
5463
5464 * main.cc (main): Use the factory for LogFile.
5465 * String++.cc: Update to use sstream.
5466 (String::String): Use a ostringstream for libC++ 3.2.
5467 * LogFile.h (LogFile): Make createLogFile static.
5468
5469 2002-11-10 Robert Collins <rbtcollins@hotmail.com>
5470
5471 * main.cc (main): Oops, pass LogSingleton a reference, not a pointer.
5472
5473 2002-11-04 Max Bowsher <maxb@ukf.net>
5474
5475 * Exception.h (Exception::what): Add throw() specification,
5476 to agree with libstdc++-v3.
5477 * Exception.cc (Exception::what): Ditto.
5478 * IniDBBuilderPackage.h: Add 'std::' where needed.
5479 * PickCategoryLine.h: Ditto.
5480 * category.h: Ditto.
5481 * package_db.h: Ditto.
5482 * package_meta.h: Ditto.
5483 * package_source.h: Ditto.
5484 * package_version.h: Ditto.
5485 * site.h: Ditto.
5486 * win32.h: Define NOMINMAX before including <windows.h>.
5487 * package_meta.cc: Add 'using namespace std;'.
5488 (packagemeta::set_requirements): Remove default parameter values
5489 from definition (gcc3 likes them only in declaration).
5490 * package_version.cc: Add 'using namespace std;'.
5491 (packageversion::set_requirements): Remove default parameter
5492 values from definition (gcc3 likes them only in declaration).
5493
5494 2002-11-10 Robert Collins <rbtcollins@hotmail.com>
5495
5496 * compress_bz.cc: Don't include bzlib.h directly, the compress_bz.h
5497 header includes it.
5498
5499 2002-11-04 Max Bowsher <maxb@ukf.net>
5500
5501 * compress_bz.h: #undef small before including bzlib.h - if we are
5502 going to hide the fact that we are _WIN32 from bzlib, then we need
5503 to #undef small for it as well (bad windows.h clash).
5504
5505 2002-11-10 Robert Collins <rbtcollins@hotmail.com>
5506
5507 * localdir.cc: Update the extern LogFile to be a pointer.
5508 (save_local_dir): Change . to -> for the above.
5509 * main.cc (theFile): Change from an instance to a pointer.
5510 (main): Change . to -> for the above.
5511
5512 2002-11-10 Robert Collins <rbtcollins@hotmail.com>
5513
5514 * LogFile.cc: use 'std::' where needed throughout.
5515 (LogFile::createLogFile): Implement a factory for LogFile.
5516 (LogFile::LogFile): Update for use with the factory, and to
5517 handle the latest g++ library changes.
5518 (LogFile::operator()): Ditto.
5519 (LogFile::endEntry()): Ditto.
5520 * LogFile.h: Ditto.
5521 * LogSingleton.cc: Ditto.
5522 * LogSingleton.h: Ditto.
5523
5524 2002-11-04 Max Bowsher <maxb@ukf.net>
5525
5526 * String++.h: Add 'std::' where needed.
5527
5528 2002-11-04 Max Bowsher <maxb@ukf.net>
5529
5530 * IniDBBuilderPackage.cc: Add 'using namespace std;'.
5531 * IniParseFindVisitor.cc: Ditto.
5532 * LogFile.cc: Ditto.
5533 * LogSingleton.cc: Ditto.
5534 * PickView.cc: Ditto.
5535 * String++.cc: Ditto.
5536 * choose.cc: Ditto.
5537 * download.cc: Ditto.
5538 * find.cc: Ditto.
5539 * install.cc: Ditto.
5540 * io_stream.cc: Ditto.
5541 * io_stream_file.cc: Ditto.
5542 * package_db.cc: Ditto.
5543 * root.cc: Ditto.
5544 * site.cc: Ditto.
5545
5546 2002-11-04 Max Bowsher <maxb@ukf.net>
5547
5548 * LogSingleton.h: Add 'std::' where needed.
5549
5550 2002-11-04 Max Bowsher <maxb@ukf.net>
5551
5552 * archive_tar_file.cc: Include <algorithm>.
5553 Change min(a,b) to std::min(a,b)
5554 * compress_bz.cc: Ditto.
5555 * compress_gz.cc: Ditto.
5556
5557 2002-11-04 Max Bowsher <maxb@ukf.net>
5558
5559 * res.rc: Change a #-comment (invalid) to a //-comment.
5560
5561 2002-11-04 Max Bowsher <maxb@ukf.net>
5562
5563 * Makefile.am (%.o: %.rc): Make windres use $(CC) not hardcoded gcc.
5564 (inilint_LDADD): Remove -lstd++.
5565 (setup_LDADD): Ditto.
5566
5567 2002-09-22 Max Bowsher <maxb@ukf.net>
5568
5569 * IniDBBuilderPackage.cc: Update DEBUG code to current class
5570 layout.
5571
5572 2002-09-21 Robert Collins <rbtcollins@hotmail.com>
5573
5574 * choose.h: Add OnUnattended method.
5575 * desktop.cc (DesktopSetupPage::OnInit): Allow fine grained
5576 control via command line options.
5577 (DesktopSetupPage::OnUnattended): Implement.
5578 (DesktopSetupPage::OnMessageApp): Implement.
5579 * desktop.h (DesktopSetupPage::OnUnattended): declare.
5580 (DesktopSetupPage::OnMessageApp): Ditto.
5581 * download.cc (do_download_thread): Support unattended mode.
5582 * install.cc (do_install_thread): Ditto.
5583 * localdir.h: Ditto.
5584 * main.cc (main): Ditto.
5585 * net.cc (NetPage::OnUnattended): Ditto.
5586 * net.h (NetPage::OnUnattended): Declare.
5587 * proppage.cc (PropertyPage::DialogProc): Support unattended mode.
5588 * proppage.h (PropertyPage::OnUnattended): Declare.
5589 * root.cc (RootPage::OnInit): Support unattended mode.
5590 (RootPage::OnUnattended): Implement.
5591 * root.h (RootPage::OnUnattended): Declare.
5592 * site.cc (register_saved_site): Extract Method from get_saved_sites.
5593 (get_saved_sites): Remove common code for adding a site.
5594 (SitePage::OnInit): Support unattended mode.
5595 (SitePage::OnUnattended): Implement.
5596 * site.h (SitePage::OnUnattended): Declare.
5597 * source.cc (SourcePage::OnActivate): Support unattended mode.
5598 (SourcePage::OnUnattended): Implement.
5599 * source.h (SourcePage::OnUnattended): Declare.
5600 * splash.h (SplashPage::OnUnattended): Declare.
5601 * state.cc (unattended_mode): Declare.
5602 * state.h (unattended_mode): Declare.
5603 * threebar.h (ThreeBarProgressPage::OnUnattended): New method.
5604
5605 2002-09-21 Robert Collins <rbtcollins@hotmail.com>
5606
5607 * res.rc: Commit Harry Johnston's dialog caption patch. From July.
5608
5609 2002-07-15 Robert Collins <rbtcollins@hotmail.com>
5610
5611 * package_version.cc (packageversion::sources): Implement this.
5612 * download.cc (do_download_thread): Support multiple files per package.
5613
5614 2002-07-15 Robert Collins <rbtcollins@hotmail.com>
5615
5616 * package_version.h (packageversion::sources): Support multiple files in
5617 a single package version.
5618 * package_version.cc (_packageversion::accessible): Ditto.
5619 (packageversion::source): Ditto.
5620
5621 2002-07-15 Robert Collins <rbtcollins@hotmail.com>
5622
5623 * iniparse.y: Implement support for multiple source files for a source
5624 package.
5625 * IniDBBuilder.h (IniDBBuilder::buildSourceFile): Ditto.
5626 * IniDBBuilderPackage.h (IniDBBuilder::buildSourceFile): Ditto.
5627 * IniDBBuilder.cc (IniDBBuilder::buildSourceFile): Ditto.
5628 * IniDBBuilderPackage.cc (IniDBBuilder::buildSourceFile): Implement a
5629 stub as preparation.
5630
5631 2002-07-13 Robert Collins <rbtcollins@hotmail.com>
5632
5633 * PickPackageLine.cc (PickPackageLine::click): Set requirements for
5634 packages under all circumstances - slightly higher overheader, simpler
5635 code.
5636 * download.cc (do_download_thread): Correctly download source
5637 packages.
5638 * package_meta.cc (checkForInstalled): Remove.
5639 (checkForUpgradeable): Ditto.
5640 (checkForSatisfiable): Ditto.
5641 (processOneDependency): Ditto.
5642 (packagemeta::set_requirements): Move guts to packageversion.
5643 * package_version.cc (checkForInstalled): Copied from package_meta.cc.
5644 (checkForUpgradeable): Ditto.
5645 (checkForSatisfiable): Ditto.
5646 (processOneDependency): Ditto.
5647 (packageversion::set_requirements): Ditto.
5648 * package_version.h (packageversion::set_requirements): Declare.
5649
5650 2002-07-13 Robert Collins <rbtcollins@hotmail.com>
5651
5652 * IniDBBuilder.cc (IniDBBuilder::buildBeginBuildDepends): Implement.
5653 (IniDBBuilder::buildBeginBinary): Implement.
5654 * IniDBBuilder.h (IniDBBuilder::buildBeginBuildDepends): Declare.
5655 (IniDBBuilder::buildBeginBinary): Ditto.
5656 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildBeginBuildDepends):
5657 Implement.
5658 (IniDBBuilderPackage::buildBeginBinary): Ditto.
5659 * IniDBBuilderPackage.h (IniDBBuilderPackage::buildBeginBuildDepends):
5660 Declare.
5661 (IniDBBuilderPackage::buildBeginBinary): Ditto.
5662 * inilex.l: Recognise Build-Depends-Indep, [,], >, < and remove
5663 T_UNKNOWN.
5664 * iniparse.y: Full support for parsing a debian Sources file in-line in
5665 setup.ini.
5666 * package_version.cc (packageversion::binaries): Implement.
5667 * package_version.h (packageversion::binaries): Declare list of what
5668 packages are created from a given source package.
5669 (_packageversion::binaries): Ditto.
5670
5671 2002-07-10 Robert Collins <rbtcollins@hotmail.com>
5672
5673 * iniparse.y: Add basis for support for parsing a debian Sources file.
5674 * inilex.l: Ditto.
5675
5676 2002-07-09 Robert Collins <rbtcollins@hotmail.com>
5677
5678 Change custom container code for packagedb::packages to STL containers
5679 throughout.
5680 * IniDBBuilderPackage.cc: Ditto.
5681 * PickView.cc: Ditto.
5682 * choose.cc: Ditto.
5683 * desktop.cc: Ditto.
5684 * download.cc: Ditto.
5685 * install.cc: Ditto.
5686 * package_db.cc: Ditto.
5687 * package_db.h: Ditto.
5688 * Makefile.am: Remove list.h references.
5689 * list.h: Remove.
5690
5691 2002-07-08 Max Bowsher <maxb@ukf.net>
5692
5693 * PickView.cc (PickView::PickView): Set font of package list header to
5694 the same as used in the rest of the package list.
5695
5696 2002-07-08 Robert Collins <rbtcollins@hotmail.com>
5697
5698 * install.cc (NoReplaceOnReboot): New command line option to prevent
5699 replacing in use files.
5700 (install_one_source): Check the option and use it.
5701 * README: Update TODO lists.
5702
5703 2002-07-08 Robert Collins <rbtcollins@hotmail.com>
5704
5705 * PickCategoryLine.cc: Change bucket to use STL container syntax
5706 throughout.
5707 (PickCategoryLine::paint): Use new Category type syntax.
5708 * PickCategoryLine.h: Use STL vectors rather than custom containers
5709 throughout.
5710 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageCategory):
5711 Use new add_category syntax.
5712 * PickView.cc (PickView::insert_pkg): Use new Category type syntax.
5713 (PickView::insert_category): Ditto.
5714 (PickView::init_headers): Ditto.
5715 * category.cc: Trim obsolete code.
5716 * category.h: Replace interconnecting class with a typedef to
5717 facilitate leveraging STL maps.
5718 * choose.cc (fill_missing_category): Use updated pkg.add_category
5719 syntax.
5720 (default_trust): Use new Category type syntax.
5721 (set_view_mode): Ditto.
5722 (create_listview): Ditto.
5723 * package_db.cc (categories): Ditto.
5724 * package_db.h: Update headers list to include needed headers.
5725 (packagedb::categories): Replace custom list with STL map.
5726 * package_meta.cc: Use new Category type syntax throughout.
5727 (packagemeta::add_category): Implement new syntax.
5728 * package_meta.h: Remove commented out source.
5729 (packagemeta::add_category): Update syntax to decouple interface from
5730 packagedb.
5731
5732 2002-07-06 Christopher Faylor <cgf@redhat.com>
5733
5734 * site.cc (do_download_site_info_thread): Correct spelling error.
5735
5736 2002-07-06 Robert Collins <rbtcollins@hotmail.com>
5737
5738 * PickCategoryLine.h: Include required header list.h.
5739 * PickPackageLine.cc (PickPackageLine::paint): Adjust to use STL
5740 containers for listing of packages per category and vice verca.
5741 * PickView.cc (PickView::insert_pkg): Ditto.
5742 (PickView::insert_category): Ditto.
5743 * String++.h (String::caseless): STL helper to allow trivial containers
5744 of Strings with case insensitive comparisons.
5745 * category.h: Adjust to use STL containers for listing of packages per
5746 category and vice verca.
5747 * choose.cc (fill_missing_category): Ditto.
5748 (default_trust): Ditto.
5749 (ChooserPage::OnNext): Ditto.
5750 * package_meta.cc (CategoryPackage::~CategoryPackage): Remove.
5751 (packagemeta::packagemeta): Adjust for new category list name.
5752 (packagemeta::~packagemeta): Adjust to use STL containers for listing
5753 of packages per category and vice verca.
5754 (packagemeta::set_action): Ditto.
5755 * package_meta.h (CategoryPackage): Remove.
5756 (packagemeta): Adjust to use STL containers for listing of packages per
5757 category and vice verca.
5758
5759 2002-07-05 Robert Collins <rbtcollins@hotmail.com>
5760
5761 * io_stream.cc: Use STL containers rather than custom ones.
5762 (io_stream::registerProvider): Ditto.
5763 (findProvider): Ditto.
5764
5765 2002-07-05 Robert Collins <rbtcollins@hotmail.com>
5766
5767 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource):
5768 Use STL collections for download site collections.
5769 (IniDBBuilderPackage::add_correct_version): Ditto.
5770 (IniDBBuilderPackage::process_src): Ditto.
5771 * PickPackageLine.cc (PickPackageLine::click): Use the packageversion
5772 accessible() call to abstract package availability.
5773 * choose.cc (scanAVersion): Use STL collections for download site
5774 collections.
5775 * download.cc (check_for_cached): Ditto.
5776 (download_one): Ditto.
5777 * package_meta.cc (packagemeta::set_action): Use the packageversion
5778 accessible() call to abstract package availability.
5779 * package_source.h: Use STL containers rather than custom containers.
5780 (site): Create a == operator to allow STL container use.
5781 (packagesource::sites): Use STL containers rather than custom
5782 containers.
5783 * package_version.cc (_packageversion::accessible): Use STL containers
5784 for download site containers.
5785
5786 2002-07-05 Robert Collins <rbtcollins@hotmail.com>
5787
5788 * LogFile.cc: Use STL containers rather than custom containers.
5789 (filedef): Create == and < operators for STL use.
5790 (files): Convert to an STL set.
5791 (LogFile::setFile): Use STL operations on files.
5792 (LogFile::exit): Ditto.
5793
5794 2002-07-05 Robert Collins <rbtcollins@hotmail.com>
5795
5796 * ini.cc (do_remote_ini): Use STL collection for site collection.
5797 * site.cc: Include site.h first to ensure it's parsable standalone.
5798 Use STL algorithms.
5799 (site_list): Convert to an STL container.
5800 (all_site_list): Ditto.
5801 (site_list_type::site_list_type): Implement copy constructor.
5802 (site_list_type::operator=): Implement assignment operator.
5803 (site_list_type::operator ==): Implement.
5804 (site_list_type::operator <): Ditto.
5805 (save_dialog): Use STL collection calls for site collection.
5806 (save_site_url): Ditto.
5807 (get_site_list): Ditto.
5808 (get_saved_sites): Ditto.
5809 (do_download_site_info_thread): Ditto.
5810 (SitePage::OnNext): Ditto.
5811 (SitePage::PopulateListBox): Ditto.
5812 (SitePage::OnMessageCmd): Ditto.
5813 * site.h: Use STL vectors instead of custom code.
5814 (site_list_type::site_list_type): Declare.
5815 (site_list_type::operator=): Ditto.
5816 (site_list_type::operator ==): Ditto.
5817 (site_list_type::operator !=): Ditto.
5818 (site_list_type::operator <): Ditto.
5819 (site_list_type::operator <=): Ditto.
5820 (site_list_type::operator >): Ditto.
5821 (site_list_type::operator >=): Ditto.
5822 (site_list): Convert to an STL container.
5823 (all_site_list): Ditto.
5824
5825 2002-07-05 Robert Collins <rbtcollins@hotmail.com>
5826
5827 * choose.cc (default_trust): Check package accessibility before
5828 triggering an install. (Suggested by Pavel).
5829
5830 2002-07-03 Pavel Tsekov <ptsekov@gmx.net>
5831
5832 * compress_gz.cc (compress_gz::construct): Always initialize key members
5833 to ensure the destructor does the right thing.
5834
5835 2002-07-03 Pavel Tsekov <ptsekov@gmx.net>
5836
5837 * filemanip.cc (parse_filename): Do not try to parse empty
5838 strings (filenames).
5839 * package_db.cc (packagedb::packagedb): For each line check if sscanf()
5840 extracted good package name and filename.
5841
5842 2002-07-03 Robert Collins <rbtcollins@hotmail.com>
5843
5844 * package_meta.cc (packagemeta::set_requirements): Automatically select
5845 version of dependent packages that satisfies the requirements.
5846 Use processOneDependency to trigger the install of those packages.
5847 (checkForInstalled): Check that the package remains installed.
5848 (processOneDependency): Helper function for dependent packages.
5849 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackage): Add more
5850 debug information.
5851 Clear out all current state on new packages.
5852 (IniDBBuilderPackage::add_correct_version): Copy the dependency list
5853 across.
5854
5855 2002-07-02 Robert Collins <rbtcollins@hotmail.com>
5856
5857 * Makefile.am (inilint_SOURCES): Add PackageSpecification sources.
5858 nb: inilint is still incomplete, as the packageversion code is not
5859 ready for database-less linking.
5860 * site.cc (get_site_list): When the same site is reentered by the user
5861 replace the old one. (Suggested by John Marshall).
5862
5863 2002-07-02 Robert Collins <rbtcollins@hotmail.com>
5864
5865 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource):
5866 Clear out package selections when generating implicit source packages.
5867 * PackageSpecification.cc (PackageSpecification::satisfies): Implement.
5868 (PackageSpecification::_operators::satisfies): Implement.
5869 * PackageSpecification.h (PackageSpecification::_operators::satisfies):
5870 Worker function for testing versions.
5871
5872 2002-07-01 Robert Collins <rbtcollins@hotmail.com>
5873
5874 * IniDBBuilder.cc (IniDBBuilder::buildPackageRequirement): Remove.
5875 * IniDBBuilder.h (IniDBBuilder::buildPackageRequirement): Ditto.
5876 * IniDBBuilderPackage.cc: Use the STL algorithms.
5877 Change cpv to cbpv throughout. Adjust -> to ., and use the new accessor
5878 functions for the same variable throughout.
5879 (IniDBBuilderPackage::IniDBBuilderPackage): Initialise new members.
5880 (IniDBBuilderPackage::buildPackage): Use new cygpackage syntax,
5881 and set an empty source package.
5882 (IniDBBuilderPackage::buildPackageInstall): Use the new source member
5883 to record an install package.
5884 (IniDBBuilderPackage::buildPackageSource): Move source package logic
5885 out from process_src, as it now occurs at separate times.
5886 (IniDBBuilderPackage::buildPackageRequirement): Remove.
5887 (IniDBBuilderPackage::buildSourceName): Use renamed package
5888 specifiation accessor for clarity.
5889 (IniDBBuilderPackage::buildSourceNameVersion): Ditto.
5890 (IniDBBuilderPackage::add_correct_version): Use STL iterators rather
5891 than custom code.
5892 Remove source package references.
5893 (IniDBBuilderPackage::process_src): Remove source package code as it's
5894 now handled separately.
5895 Set Path information before merging versions, to prevent dangling
5896 pointers.
5897 * IniDBBuilderPackage.h (IniDBBuilderPackage::buildPackageRequirement):
5898 Remove.
5899 (IniDBBuilderPackage::cpv): Remove.
5900 (IniDBBuilderPackage::cbpv): New generic binary working variable.
5901 (IniDBBuilderPackage::cspv): Ditto, but for source packages.
5902 (IniDBBuilderPackage::csp): Source package variable for disjoint
5903 source packages.
5904 * Makefile.am (AM_CFLAGS): Remove -Winline to allow stl set code
5905 to compile. If it compiles cleanly in gcc 3.1, then reinstate.
5906 * PickPackageLine.cc: Adjust packageversion accessors to the new
5907 reference calls. (i.e. -> to .) throughout.
5908 (PickPackageLine::paint): Use accessible() for clarity.
5909 Use new split out source package logic.
5910 (PickPackageLine::click): Ditto.
5911 * PickView.cc (PickView::init_headers): Adjust packageversion accessors
5912 to the new reference calls. (i.e. -> to .) throughout.
5913 Use new split out source package logic.
5914 * choose.cc: Don't depend on a specific package type.
5915 Adjust packageversion accessors to the new reference calls. (i.e. -> to
5916 .) throughout.
5917 (set_existence): Use accessible () for clarity.
5918 (default_trust): Simplify a little.
5919 (scanAVersion): Factored out code from scan_downloaded_files for
5920 clarity.
5921 (scan_downloaded_files): Factor out inner loop for clarity.
5922 (ChooserPage::OnNext): Don't dump the dependency list,
5923 it's parsing is robust now!.
5924 * cygpackage.cc (createInstance): Use a factory method to create new
5925 objects.
5926 (cygpackage::cygpackage): Make this private for use by the factory.
5927 (cygpackage::setCanonicalVersion): Renamed from set_canonical_version.
5928 Remove key usage as it's obsolete.
5929 * cygpackage.h (cygpackage): Inherit from _packageversion, not
5930 packageversion.
5931 (cygpackage::createInstance): New factory.
5932 (cygpackage::cygpackage): Make private.
5933 * desktop.cc (make_passwd_group): Use new packageversion reference.
5934 * download.cc (do_download_thread): Use changeRequested() for clarity.
5935 Use new packageversion reference calls.
5936 * iniparse.y (REQUIRES): Reuse the packageList code and dump the one-off
5937 requires code.
5938 * install.cc: Adjust -> to ., and use the new accessor functions for
5939 packageversion throughout.
5940 * package_db.cc: Adjust -> to ., and use the new accessor functions for
5941 packageversion throughout.
5942 (packagedb::packagedb): Use the new cygpackage factory.
5943 (packagedb::flush): Leverage String to remove buffer overflow chance in
5944 sprintf.
5945 (packagedb::findBinary): Find a binary meta package that has a version
5946 matching a given specification.
5947 (packagedb::findSource): Ditto, but for source.
5948 * package_db.h (packagedb::findBinary): Declare.
5949 (packagedb::findSource): Ditto.
5950 * package_meta.cc: Adjust packageversion accessors to the new
5951 reference calls. (i.e. -> to .) throughout.
5952 Include the package_meta header first to ensure it parses standalone.
5953 Use the STL algorithms.
5954 (packagemeta::packagemeta): Create a copy constructor to allowing
5955 cloning binary package metadata to source package metadata.
5956 (packagemeta::~packagemeta): Use the STL coleltion code rather than
5957 custom collection code.
5958 (packagemeta::add_version): Ditto.
5959 (packagemeta::set_installed): Ditto.
5960 (packagemeta::SDesc): Ditto.
5961 (hasSDesc): Helper function for find_if.
5962 (checkForInstalled): Ditto.
5963 (checkForUpgradeable): Ditto.
5964 (checkForSatisfiable): Ditto.
5965 (packagemeta::action_caption): Update for split out source packages.
5966 (packagemeta::set_action): Ditto.
5967 (packagemeta::set_requirements): Support multi-valued dependency
5968 lists - a|b & c|d - with versioned package specifications.
5969 (packagemeta::accessible): Helper member to improve abstraction.
5970 (packagemeta::sourceAccessible): Ditto.
5971 * package_meta.h: Adjust packageversion accessors to the new
5972 reference calls. (i.e. "->" to "." and"*" to "" ) throughout.
5973 (packagemeta::packagemeta): Declare copy constructor.
5974 Remove self initialising members.
5975 (packagemeta::set_action): Update parameters for new packageversion.
5976 (packagemeta::trustp): Ditto.
5977 (packagemeta::versions): Becomes an STL set.
5978 * package_source.h (packagesource::Cached): Const correctness change.
5979 * package_version.cc: Rewrite the packageversion interface to remove
5980 the cygpackage nonvirtual members, and provide a copy by value,
5981 pointer semantics reference counting wrapper class to ease use and
5982 comparison of packageversions.
5983 Change existing packageversion class to _packageversion throughout.
5984 (_defaultversion): A trivial concrete class to prevent specialcasing
5985 the default constructor for packageversion;
5986 (packageversion::packageversion): Implement.
5987 (packageversion::~packageversion): Ditto.
5988 (packageversion::operator=): Ditto.
5989 (packageversion::operator !): Ditto.
5990 (packageversion::operator bool): Ditto.
5991 (packageversion::operator ==): Ditto.
5992 (packageversion::operator !=): Ditto.
5993 (packageversion::operator <): Ditto.
5994 (packageversion::Name): Ditto.
5995 (packageversion::Canonical_version): Ditto.
5996 (packageversion::setCanonicalVersion): Ditto.
5997 (packageversion::getfirstfile): Ditto.
5998 (packageversion::getnextfile): Ditto.
5999 (packageversion::SDesc): Ditto.
6000 (packageversion::set_sdesc): Ditto.
6001 (packageversion::LDesc): Ditto.
6002 (packageversion::set_ldesc): Ditto.
6003 (packageversion::sourcePackage): Ditto.
6004 (packageversion::sourcePackageSpecification): Ditto.
6005 (packageversion::setSourcePackageSpecification): Ditto.
6006 (packageversion::depends): Ditto.
6007 (packageversion::predepends): Ditto.
6008 (packageversion::recommends): Ditto.
6009 (packageversion::suggests): Ditto.
6010 (packageversion::replaces): Ditto.
6011 (packageversion::conflicts): Ditto.
6012 (packageversion::provides): Ditto.
6013 (packageversion::picked): Ditto.
6014 (packageversion::pick): Ditto.
6015 (packageversion::changeRequested): Ditto.
6016 (packageversion::uninstall): Ditto.
6017 (packageversion::source): Ditto.
6018 (packageversion::accessible): Ditto.
6019 (_packageversion::sourcePackage): Ditto.
6020 (_packageversion::accessible): Ditto.
6021 (_packageversion::changeRequested): Ditto.
6022 * package_version.h: Rewrite the packageversion interface to remove
6023 the cygpackage nonvirtual members, and provide a copy by value,
6024 pointer semantics reference counting wrapper class to ease use and
6025 comparison of packageversions.
6026 Change existing packageversion class to _packageversion throughout.
6027 (Dependency): Remove.
6028 (packageversion): New wrapper class.
6029 (_packageversion): Renamed from packageversion.
6030 (_packageversion::setCanonicalVersion): New method.
6031 (_packageversion::sourcePackage): Ditto.
6032 (_packageversion::sourcePackageSpecification): Ditto.
6033 (_packageversion::setSourcePackageSpecification): Ditto.
6034 (_packageversion::changeRequested): Ditto.
6035 (_packageversion::bin): Rename to source.
6036 (_packageversion::src): Remove.
6037 (_packageversion::accessible): New method.
6038 (_packageversion::references): Allow reference counting.
6039 (_packageversion::sourceVersion): Cached the best-match source
6040 package version.
6041
6042 2002-06-27 Robert Collins <rbtcollins@hotmail.com>
6043
6044 * compress_bz.h (compress_bz::position): Track how much has been read.
6045 * compress_bz.cc (compress_bz::compress_bz): And initialise it.
6046 (compress_bz::read): Track amount read by the client.
6047 (compress_bz::tell): And report it when asked.
6048
6049 2002-06-27 Robert Collins <rbtcollins@hotmail.com>
6050
6051 * Makefile.am (snapshot): Automate snapshot creation some more.
6052
6053 2002-06-27 Robert Collins <rbtcollins@hotmail.com>
6054
6055 * msg.cc (msg): Use vsnprintf to avoid buffer overflows.
6056 (mbox): Ditto.
6057 * ini.cc (fprintf): Ditto.
6058 * log.cc (log): Ditto.
6059 * package_db.cc (packagedb::sourcePackages): Split out source packages
6060 from binary packages.
6061 * package_db.h: Ditto.
6062
6063 2002-06-27 Robert Collins <rbtcollins@hotmail.com>
6064
6065 * PackageSpecification.h: New file. Abstracts the ability to refer
6066 to another package, by name, or name and version.
6067 * PackageSpecification.cc: Ditto.
6068 * IniDBBuilder.cc (IniDBBuilder::buildPackageInstall): Simplify.
6069 (IniDBBuilder::buildPackageSource): Ditto.
6070 (IniDBBuilder::buildBeginDepends): New method for versioned
6071 dependencies.
6072 (IniDBBuilder::buildBeginPreDepends): Likewise, for dependencies to be
6073 satisfied before pre-install.
6074 (IniDBBuilder::buildPriority): New method, for getting the package
6075 Priority.
6076 (IniDBBuilder::buildInstalledSize): How much disk space does it need?
6077 (IniDBBuilder::buildMaintainer): Who maintains the package?
6078 (IniDBBuilder::buildArchitecture): What platform is it for?
6079 (IniDBBuilder::buildInstallSize): How big is the binary download?
6080 (IniDBBuilder::buildInstallMD5): Whats the MD5 on the binary?
6081 (IniDBBuilder::buildSourceMD5): Whats the MD5 on the source package?
6082 (IniDBBuilder::buildBeginRecommends): What other packages are
6083 recommended with this one?
6084 (IniDBBuilder::buildBeginSuggests): And suggested?
6085 (IniDBBuilder::buildBeginReplaces): What packages does this replace?
6086 (IniDBBuilder::buildBeginConflicts): And collide with?
6087 (IniDBBuilder::buildBeginProvides): What virtual packages (or obsolete
6088 package names) does this provide?
6089 (IniDBBuilder::buildDescription): Grab a multi line description one
6090 line at a time.
6091 (IniDBBuilder::buildSourceName): What source package should be used to
6092 install the source for this binary package?
6093 (IniDBBuilder::buildSourceNameVersion): Is a specific version needed?
6094 (IniDBBuilder::buildPackageListAndNode): Add another AND clause to a
6095 list of package specifications.
6096 (IniDBBuilder::buildPackageListOrNode): Add another OR clause.
6097 (IniDBBuilder::buildPackageListOperator): Add a versioning operator
6098 to the current specification.
6099 (IniDBBuilder::buildPackageListOperatorVersion): What version does the
6100 operator act on?
6101 * IniDBBuilder.h: Declare all the IniDBBuilder.cc changes.
6102 * IniDBBuilderPackage.cc: As for IniDBBuilder.cc.
6103 (IniDBBuilderPackage::IniDBBuilderPackage): Iniitialize new members.
6104 (IniDBBuilderPackage::process_src): Streamline and split out
6105 functionality.
6106 (IniDBBuilderPackage::setSourceSize): From process_src.
6107 * IniDBBuilderPackage.h: Declare the IniDBBuilderPackage.cc changes.
6108 (IniDBBuilderPackage::currentSpec): Track the in-progress specifiation.
6109 (IniDBBuilderPackage::currentOrList): Track the current Or list.
6110 (IniDBBuilderPackage::currentAndList): Track the current And list.
6111 * IniParseFeedback.cc (IniParseFeedback::progress): Provide completion
6112 progress on parsing.
6113 (IniParseFeedback::iniName): Tell what ini filename we are currently
6114 processing.
6115 * IniParseFeedback.h: Declare IniParseFeedback.cc changes.
6116 * IniParseFindVisitor.cc (IniParseFindVisitor::IniParseFindVisitor):
6117 Make the feedback object non-const to allow mutating methods which are
6118 needed when the object has state.
6119 (IniParseFindVisitor::visitFile): Tell the caller the name of each
6120 .ini found.
6121 Initialise the parser with the feedback object to allow it to tell of
6122 progress.
6123 * IniParseFindVisitor.h: Declare IniParseFindVisitor.cc changes.
6124 * Makefile.am (inilinst_SOURCES): Add more requisite classes.
6125 (setup_SOURCES): Add the new PackageSpecification sources.
6126 * ScanFindVisitor.cc (ScanFindVisitor::visitFile): Use the new
6127 builder syntax to setup binary package details.
6128 * choose.cc: Use the LogSingleton calls throughout.
6129 * configure.in: Create the INILINT substitution correctly for recent
6130 autotool configurations.
6131 * cygpackage.cc (cygpackage::getfirstfile): Return an empty String
6132 rather than a string built from an int. Thanks to Pavel Tsekov for
6133 identifying the bug.
6134 (cygpackage::getnextfile): Ditto.
6135 * download.cc: Use LogSIngletion calls throughout.
6136 (validateCachedPackage): A refactoring of the
6137 check_for_cached code to eliminate duplciation.
6138 (check_for_cached): Use validateCachedPackage to check packages.
6139 * ini.cc (GuiParseFeedback): Provide gui feedback on ini name and
6140 parsing progress.
6141 (do_remote_ini): Ditto.
6142 * ini.h (ini_init): Pass a IniParseFeedback to the parser, to allow
6143 progress reporting.
6144 * inilex.l: Identify new symbols - operators, and multi line plain text.
6145 Releases files.
6146 * inilintmain.cc (show_help): Provide basic infomation on inilint.
6147 * iniparse.y: Adjust for the new builder syntax, and process debian
6148 Release files.
6149 * io_stream_file.cc: Always include mkdir.h.
6150 * list.h: Factor index location into a private routine.
6151 (list::findindex): Implement this.
6152 * mkdir.cc (mkdir_p): Make the use of WIN32 code conditional on mingw
6153 builds. NB: This breaks cygwin build functionality still.
6154 * package_meta.cc: Use the LogSingleton calls throughout.
6155 (packagemeta::set_requirements): Adjust for object changes in
6156 dependencies.
6157 * package_meta.h (packagemeta::packagemeta): Initialise new members.
6158 (packagemeta::architecture): What platform does this package run on?
6159 This may need to move in the future to a per packagefile object.
6160 (packagemeta::priority): What priority does this package have?
6161 * package_source.h (packagesource::packagesource): Initialise new
6162 members.
6163 (packagesource::installedSize): How much space does the package need?
6164 (packagesource::setInstalledSize): Tell the amount.
6165 (packagesource::_installedSize): And store it.
6166 * package_version.cc (packageversion::sourcePackage): return the
6167 source package.
6168 (packageversion::setSourcePackage): And set it.
6169 * package_version.h: Declare the package_version.cc changes.
6170 (packageversion::depends): New package specification AND list.
6171 (packageversion::predepends): Ditto.
6172 (packageversion::recommends): Ditto.
6173 (packageversion::suggests): Ditto.
6174 (packageversion::replaces): Ditto.
6175 (packageversion::conflicts): Ditto.
6176 (packageversion::provides): Ditto.
6177 (packageversion::sourcePackage): What source package is needed?
6178 * threebar.cc (ThreeBarProgressPage::SetText4): Set the label beside
6179 the bottom bar.
6180 * threebar.h: Declare the threebar.cc change.
6181
6182 2002-06-27 John Marshall <johnm@falch.net>
6183
6184 * res.rc (SETUPINI_MISSING): Make trailing spaces visible.
6185 * site.cc (SitePage::OnMessageCmd): Ditto
6186
6187 2002-06-15 Robert Collins <rbtcollins@hotmail.com>
6188
6189 * nio-ie5.cc (NetIO_IE5::NetIO_IE): Allow cached data.
6190
6191 2002-06-15 Robert Collins <rbtcollins@hotmail.com>
6192
6193 * package_meta.cc (packagemeta::set_action): When installing packages
6194 with no binaries, choose the source package.
6195
6196 2002-06-10 Robert Collins <rbtcollins@hotmail.com>
6197
6198 * IniParseFindVisitor (IniParseFindVisitor::visitFile): Apply Max
6199 Bowshers fix for the crash with a root level setup.ini.
6200 * README: Update todos.
6201
6202 2002-05-26 Ralf Habacker <ralf.habacker@freenet.de>
6203
6204 * archive_tar.cc (archive_tar::next_file_name()): fixed broken
6205 GNU long name extension support.
6206
6207 2002-05-27 Robert Collins <rbtcollins@hotmail.com>
6208
6209 * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Don't
6210 unescape 0 length strings.
6211
6212 2002-05-20 Robert Collins <rbtcollins@hotmail.com>
6213
6214 * package_meta.cc (packagemeta::set_action): Don't allow reinstall
6215 when local with no cached file, and install the default source if the
6216 default version has no binary.
6217
6218 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
6219
6220 * IniDBBuilderPackage.cc (IniDBBuilderPackage::IniDBBuilderPackage): New
6221 method.
6222 (IniDBBuilderPackage::buildVersion): Provide a warning when a newer
6223 setup version created the ini file.
6224 * IniDBBuilderPackage.h (IniDBBuilderPackage::IniDBBuilderPackage): New
6225 method.
6226 * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Use the new
6227 feedback strategy.
6228 * IniParseFindVisitor.h (IniParseFindVisitor::IniParseFindVisitor):
6229 Require a feedback strategy.
6230 * Makefile.am (setup_SOURCES): Add IniParseFeedback sources.
6231 * Makefile.in: Regenerate.
6232
6233 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
6234
6235 * io_stream_file.cc (io_stream_file::remove): Use the SetFileAttributes
6236 trick to delete read only files.
6237 * io_stream_cygfile.cc (io_stream_cygfile::remove): Use file:// to
6238 remove files.
6239 * Makefile.am (release): Tweak to be more helpful.
6240 * Makefile.in: Regenerate.
6241
6242 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
6243
6244 * Makefile.am (release): Tweak to be more helpful.
6245 * Makefile.in: Regenerate.
6246
6247 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
6248
6249 * Makefile.am (release): Tweak to be more helpful.
6250 * Makefile.in: Regenerate.
6251
6252 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
6253
6254 * choose.cc (scan_downloaded_files): When a non-installed version
6255 has neither bin nor src cached files for local installs,
6256 remove the version from availability.
6257
6258 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
6259
6260 * ini.cc (do_remote_ini): Save uncompressed ini's correctly.
6261
6262 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
6263
6264 * rsync: New support library, contains librsync. This is not (yet)
6265 rsync interoperable.
6266 * configure.in: --with-rsync to enable rsync support. (Not complete).
6267 * Makefile.am: Enable building with rsync.
6268 * Makefile.in: Regenerate.
6269 * configure: Ditto.
6270 * IniDBBuilder.cc (IniDBBuilder::buildPackageInstall): Pass the md5 as
6271 an array.
6272 (IniDBBuilder::buildPackageSource): Ditto.
6273 * IniDBBuilder.h: Ditto.
6274 * IniDBBuilderPackage.cc: Ditto.
6275 * IniDBBuilderPackage.h: Ditto.
6276 * FindVisitor.cc: New file.
6277 * FindVisitor.h: New file, interface for visiting a file system
6278 aggregate.
6279 * IniParseFindVisitor.cc: New file.
6280 * IniParseFindVisitor.h: New file, concrete FindVisitor that parses
6281 found setup.ini's.
6282 * README: Update TODO's.
6283 * String++.cc (String::String): New constructor for <string> inter-
6284 operability.
6285 (String::substr): New method.
6286 * String++.h: Ditto.
6287 * choose.cc (scan2): Remove.
6288 (scan_downloaded_files): Simplify.
6289 * dialog.h: Include parsing pre-requirements.
6290 * download.cc (check_for_cached): Fullname was used incorrectly - fix.
6291 * filemanip.cc (parse_filename): -src packages where incorrectly parsed.
6292 * find.cc: Rewrite. Now uses a Visitor pattern and is re-entrant.
6293 * find.h: Ditto.
6294 * fromcwd.cc: Remove unneeded includes.
6295 (is_test_version): Remove.
6296 (found_file): Remove.
6297 (SetupFindVisitor): Trivial visitor to detect setup.ini's.
6298 (found_ini): Remove.
6299 (do_fromcwd): Remove commented code that has be replaced elsewhere.
6300 * ini.cc (local_ini): Remove.
6301 (findBuilder): Remove.
6302 (find_routine): Remove.
6303 (do_local_ini): Use new IniParseFindVisitor.
6304 * iniparse.y: Typecase MD5 arrays, as we know they are allocated as
6305 unsigned char.
6306 * postinstall.cc: Remove non-core includes.
6307 (run_script_in_postinstall): Remove.
6308 (RunFindVisitor): Trivial Visitor, runs each found script.
6309 (do_postinstall): Use new find syntax.
6310
6311 2002-05-14 Christopher Faylor <cgf@redhat.com>
6312
6313 * ini.cc (find_routine): Don't clear buffer it it's NULL.
6314
6315 2002-05-14 Christopher Faylor <cgf@redhat.com>
6316
6317 * filemanip.h (trail): Declare.
6318 * filemanip.cc (trail): New function.
6319 (find_tar_ext): Use trail() instead of strstr().
6320 * fromcwd.cc (check_ini): Ditto.
6321 * ini.cc (find_routine): Ditto. Don't tack local_dir to path since it
6322 should now be fully qualified. Set ini_filename. Reset error_buf and
6323 error_count for any subsequent ini file parsing.
6324 (ini_filename): New static variable for parse error reporting.
6325 (yyerror): Use full path of setup.ini in error message. Subtract one
6326 from line number if at bol.
6327 * find.cc (found_part): Eliminate.
6328 (find_sub): Call for_each with full path found rather than just file
6329 component.
6330 (find): Don't calculate found_part.
6331 * inilex.l (ini_init): Flush input buffer and reset line number.
6332 (yybol): New function. Exports YY_AT_BOL.
6333 * iniparse.y: Increase stack depth to allow more tokens to be processed.
6334 (yyparse): Remove newline from error condition to allow subsequent
6335 per-line error processing to proceed normally.
6336
6337 2002-05-14 Christopher Faylor <cgf@redhat.com>
6338
6339 * find.cc (find_sub): Be more defensive in preserving trailing parts of
6340 components when doing recursive directory searches or calling user
6341 supplied for_each().
6342 * ini.cc (find_routine): Don't assume that any path name with
6343 "setup.ini" in it is actually a setup.ini file. Only honor trailing
6344 components. Copy path argument to temporary storage when unescaping
6345 to prevent nuking of argument.
6346
6347 2002-05-12 Robert Collins <rbtcollins@hotmail.com>
6348
6349 * CONTRIBUTORS: New file.
6350
6351 2002-04-02 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
6352
6353 * choose.cc: Run indent.
6354 (nextbutton): Remove static variable.
6355 (default_trust): Remove use of nextbutton.
6356 (set_view_mode): Ditto.
6357 (create_listview): Add IDC_CHOOSE_PREV and IDC_CHOOSE_NEXT to ta[] so
6358 rbset() sets the prev/next/curr radio buttons properly.
6359 (dialog_cmd): Delete function.
6360 (dialog_proc): Delete function. Move WM_INITDIALOG functionality to
6361 ChooserPage::OnInit.
6362 (do_choose): Delete function. Move pre-DialogBox() code to
6363 ChooserPage::OnInit(), post-DialogBox() code to ChooserPage::OnNext.
6364 (WM_APP_START_CHOOSE): Remove define.
6365 (WM_APP_CHOOSE_IS_FINISHED): Remove define.
6366 (do_choose_thread): Delete function.
6367 (ChooserPage::OnActivate): Delete method.
6368 (ChooserPage::OnMessageApp): Delete method.
6369 (ChooserPage::OnInit): New method.
6370 (ChooserPage::OnNext): New method.
6371 (ChooserPage::OnBack): New method.
6372 (ChooserPage::OnMessageCmd): New method.
6373 * choose.h: Run indent.
6374 (ChooserPage::OnMessageApp): Delete declaration.
6375 (ChooserPage::OnActivate): Ditto.
6376 (ChooserPage::OnMessageCmd): New declaration.
6377 (ChooserPage::OnInit): Ditto.
6378 (ChooserPage::OnNext): Ditto.
6379 (ChooserPage::OnBack): Ditto.
6380 * desktop.cc (DesktopSetupPage::OnBack): Replace use of IDD_CHOOSER
6381 with IDD_CHOOSE.
6382 * fromcwd.cc (do_fromcwd): Replace use of IDD_CHOOSER with IDD_CHOOSE.
6383 * ini.cc (do_ini_thread): Replace use of IDD_CHOOSER with IDD_CHOOSE.
6384 * res.rc (IDD_CHOOSE): Remove dialog template.
6385 (IDD_CHOOSER): Alter dialog template to fit wizard size and format.
6386
6387 2002-05-12 Robert Collins <rbtcollins@hotmail.com>
6388
6389 * LogFile.cc (endLog): Work around an apparent libg++-3 bug causing
6390 corrupt log file entries.
6391 * geturl.cc: Convert to the new LogSingleton logging.
6392
6393 2002-05-12 Robert Collins <rbtcollins@hotmail.com>
6394
6395 * ini.cc (do_remote_ini): Use setup.bz2 if it exists in preference to
6396 setup.ini.
6397
6398 2002-05-12 Robert Collins <rbtcollins@hotmail.com>
6399
6400 * geturl.h: Declare getUrlToStream.
6401 * geturl.cc (getUrlToStream): New function.
6402 (get_url_to_membuf): Refactor to use getUrlToStream.
6403
6404 2002-05-11 Robert Collins <rbtcollins@hotmail.com>
6405
6406 * Makefile.am: Add a release target to automate some of the routine
6407 work.
6408 * Makefile.in: Regenerate.
6409
6410 2002-05-11 Robert Collins <rbtcollins@hotmail.com>
6411
6412 * choose.cc (scan_downloaded_files): On local installs remove all
6413 mirror sites if no cached copy of a package is found.
6414
6415 2002-05-10 Robert Collins <rbtcollins@hotmail.com>
6416
6417 * Makefile.in: Regenerate.
6418 * iniparse.y: Use left recursion, not right in the lines rule to
6419 avoid stack overflows.
6420 * README: Update TODO's.
6421 * io_stream_file.cc: Native builds need to include sys/stat.h
6422
6423 2002-05-06 John Marshall <jmarshall@acm.org>
6424
6425 * site.cc (SitePage::OnMessageCmd): recalculate navigation
6426 button activation when "Add" is pressed.
6427 (SitePage::CheckControlsAndDisableAccordingly): tweak comment.
6428
6429 2002-05-07 Robert Collins <rbtcollins@hotmail.com>
6430
6431 * Makefile.am (inlint_SOURCES): Add conditional objects to inilint
6432 depending on platform.
6433 Add file:// support.
6434 * configure.in: Set conditional MINGWTARGET if compiling against mingw
6435 libraries.
6436 * Makefile.in: Regenerate.
6437 * configure: Ditto.
6438 * io_stream_file.cc: Only use win32 calls when building for mingw.
6439
6440 2002-05-05 Robert Collins <rbtcollins@hotmail.com>
6441
6442 * Makefile.am (noinst_PROGRAMS): Make inilint configurable.
6443 * configure.in: Ditto.
6444 Fix incorrect header checking syntax.
6445 * aclocal.m4: Regenerate.
6446 * configure: Regenerate.
6447 * Makefile.in: Regenerate.
6448 * io_stream.cc: Remove platform specific and provider specific code.
6449 (io_stream::registerProvider): New method, registers a Url provider with
6450 the io_stream code.
6451 Make all methods consistently throw invalid_argument exceptions when
6452 a provider that is requested is not present.
6453 (findProvider): New private function, finds a provider.
6454 * io_stream.h: Declare io_stream::registerProvider.
6455 * io_stream_cygfile.cc: Create a Provider class to register with
6456 io_stream.cc.
6457 * io_stream_file.cc: Ditto.
6458 * archive.cc: Remove unneeded includes.
6459 * archive_tar.cc: Remove unneeded includes.
6460 * archive_tar.h: Add required include.
6461 * archive_tar_file.cc: Remove unneded includes.
6462 * choose.cc: Remove unneeded includes:
6463
6464 2002-05-04 Robert Collins <rbtcollins@hotmail.com>
6465
6466 * io_stream.cc: Use the new log interface thruout.
6467
6468 2002-05-04 Robert Collins <rbtcollins@hotmail.com>
6469
6470 * log.cc (log): Reimplement via LogSingleton.
6471 (log_save): Remove.
6472 (exit_setup): Remove.
6473 * log.h (log_save): Remove.
6474 (exit_setup): Remove.
6475 * LogSingleton.cc: New file.
6476 * LogSingleton.h: New file.
6477 * LogFile.cc: New file.
6478 * LogFile.h: New file.
6479 * Makefile.am (inilint_SOURCES): Add the new log interface.
6480 (setup_SOURCES): Add the new log interface and the concrete File
6481 implementation.
6482 * Makefile.in: Regenerate.
6483 * archive.cc: Use the new log interface thruout.
6484 * archive_tar.cc: Ditto.
6485 * main.cc: Ditto.
6486 * dialog.cc (fatal): Use the new log interface.
6487 * ini.cc (do_ini_thread): Use the log interface to exit.
6488 * isntall.cc (do_install_thread): Ditto.
6489 * netio.cc (auth_cmd): Ditto.
6490 * msg.cc (fatal): Ditto.
6491 * localdir.cc (save_local_dir): Save to different files depending on
6492 the mode, and if a root dir exists.
6493
6494 2002-05-04 Robert Collins <rbtcollins@hotmail.com>
6495
6496 * IniDBBuilder.cc: New file.
6497 * IniDBBuilder.h: New file.
6498 * IniDBBuilderPackage.cc: New file.
6499 * IniDBBuilderPackage.h: New file.
6500 * PackageTrust.h: New file.
6501 * IniState.h: Remove, wasn't thought out well enough.
6502 * Makefile.am (inilint_SOURCES): Add more requirements.
6503 (setup_SOURCES): Add new Builder base and concrete classes.
6504 * Makefile.in: Regenerate.
6505 * String++.cc (String::String): Implement int contructor.
6506 * String++.h (String): Declare int constructor.
6507 * archive_tar.cc (archive_tar::next_file_name): Return String() when
6508 no filename exists.
6509 * archive_tar.h (archive_tar_file): Remove get_next_filename method,
6510 it's not needed.
6511 * ini.cc: Replace IniState wuth IniDBBuilderPacakge.
6512 (find_routine): Use new IniDBBuilder to configure the parser.
6513 (do_local_ini): Ditto.
6514 (do_remote_ini): Ditto.
6515 * ini.h: Use IniDBBuilder to initialise parsing.
6516 * inilex.l (MD5): Parse the MD5 string correctly, we had the nibbles
6517 swapped.
6518 (ini_init): Use an IniDBBuilder rather than static variables.
6519 * iniparse.y: Hand off all the object creation to a builder, rather
6520 than hardcoding the behaviour. This allows run-time configured
6521 behaviour.
6522 * io_stream_cygfile.h (io_stream_cygfile): Remove get_next_filename
6523 method, it's not needed.
6524 * io_stream_file.h (io_stream_file): Ditto.
6525 * mount.cc (cygpath): Return String() for missing mounts.
6526 * package_meta.cc (packagemeta::SDesc): Return String() for blank
6527 descriptions.
6528 * package_meta.h (trusts): Remove - replaced by PackageTrust.h.
6529 (packagemeta::packagemeta): Fix incorrect syntax in String constructor
6530 usage.
6531 * cygpackage.cc (cygpackage::cygpackage): Fix incorrect syntax in
6532 String constructor usage.
6533 * site.h (site_list_type): Ditto.
6534
6535 2002-05-03 Robert Collins <rbtcollins@hotmail.com>
6536
6537 * String++.h: Declare a << operator that accepts String objects.
6538 * String++.cc: We need iostream for..
6539 (operator <<): this. Provide a << operator that accepts String objects.
6540 * ini.cc (yyerror): Remove the "C" classifier - it's not needed.
6541 Change from vargs to a String parameter.
6542 * inilintmail.cc: Remove the gui related headers.
6543 (yyerror): Implement this for parsing.
6544 * iniparse.y: Use the new yyerror syntax.
6545
6546 2002-05-03 Robert Collins <rbtcollins@hotmail.com>
6547
6548 * Makefile.am: Add IniState.h.
6549 * Makefile.in: Regenerate.
6550 * IniState.h: New file.
6551 * choose.cc: Don't include ini.h - it's not needed.
6552 * configure: Regenerate.
6553 * desktop.cc: Don't include ini.h - it's not needed.
6554 * download.cc: Ditto.
6555 * fromcwd.cc: Ditto.
6556 * ini.cc: Use IniState.h to track each parsing calling.
6557 (find_routine): Ditto.
6558 (do_remote_ini): Ditto.
6559 (do_ini_thread): Ditto.
6560 * ini.h (ini_init): Adjust parameters to include state object.
6561 * inilex.l: Declare parser state variable.
6562 (ini_init): Adjust parameters to include state object.
6563 * iniparse.y: Remove obsolete setup_timestamp and setup_version
6564 declarations.
6565 (setup_header): Use new state variable to track time and version.
6566 (add_correct_version): Ditto.
6567 * install.cc: Don't include ini.h - it's not needed.
6568
6569 2002-05-03 Robert Collins <rbtcollins@hotmail.com>
6570
6571 * nio-files.cc (NetIO): Use io_stream syntax for get_file_size.
6572 * io_stream_file.cc: Don't include filemanip.h.
6573 (io_stream_file::get_size): Implement here to remove filemanip
6574 dependency.
6575 * io_stream_cygfile.cc: Don't include filemanip.h.
6576 (io_stream_cygfile::get_size): Implement here to remove filemanip
6577 dependency.
6578 Implement a stat based version for when win32 is not available.
6579 * filemanip.h (get_file_size): Return size_t - it's more appropriate.
6580 * filemanip.cc: Don't include win32.h - be platform independent.
6581 Include strings.h and io_stream.h as part of that.
6582 (get_file_size): Leverage io_streams and remove win32 implementation.
6583 * download.cc (check_for_cached): Use io_stream syntax for
6584 get_file_size.
6585 (download_one): Ditto.
6586
6587 2002-05-02 Robert Collins <rbtcollins@hotmail.com>
6588
6589 * configure.in: Correct a typo in last change.
6590 * configure: Regenerate.
6591 * Makefile.in: Regenerate.
6592
6593 2002-05-02 Robert Collins <rbtcollins@hotmail.com>
6594
6595 * configure.in: Check for string.h and string.
6596 * configure: Regenerate.
6597 * Makefile.in: Regenerate.
6598
6599 2002-05-01 Robert Collins <rbtcollins@hotmail.com>
6600
6601 * res.rc (IDD_SPLASH): Remove white box.
6602
6603 2002-05-01 Robert Collins <rbtcollins@hotmail.com>
6604
6605 Oops! forgot to list these in the last checkin.
6606 * inilintmain.cc: New file.
6607 * md5.h: New file - imported md5 source, BSD style licence.
6608 * md5.cc: New file - imported md5 source, BSD style licence.
6609 * Exception.cc: New file.
6610 * Exception.h: New file.
6611 * MD5++.cc: New file.
6612 * MD5++.h: New file.
6613
6614 2002-05-01 Robert Collins <rbtcollins@hotmail.com>
6615
6616 * Makefile.am (AM_CFLAGS): Remove -mwindows, it's a linker flag.
6617 Remove -fno-rtti, we need it for exceptions.
6618 (AM_CXXFLAGS): Ditto.
6619 (WARNONLY_CFLAGS): Ditto.
6620 (EXTRA_PROGRAMS): Add with initial linter sources - not functional yet.
6621 (setup_LDFLAGS): Add and set to -mwindows.
6622 (setup_SOURCES): Add new sources.
6623 * Makefile.in: Regenerate.
6624 * README: Update TODO.
6625 * choose.cc (scan_downloaded_files): Use ini information if it's
6626 available.
6627 * configure: Regenerate.
6628 * download.cc (check_for_cached): Make reusable from elsewhere.
6629 Throw exceptions on errors (as opposed to failures).
6630 Check MD5 sum when it's known.
6631 (download_one): Never force a download.
6632 Handle corrupt package exceptions.
6633 * ini.cc (find_routine): Reverse escape the URL to correctly identify
6634 the site URL.
6635 * inilex.l (MD5): Provide a parsing rule (note: lowercase is required).
6636 * iniparse.y: Allow calculation of MD5 sums, and allow src only
6637 packages.
6638 (process_src): New helper function.
6639 * isntall.cc (install_one_source): Check MD5 sums when possible.
6640 Throw exceptions on errors.
6641 (do_install_thread): Handle exceptions for installation calls.
6642 * package_source.h: Store MD5 information.
6643 * propsheet.cc (PropSheet::Create): Add a useful comment.
6644 * res.rc (IDS_INSTALL_ERROR): Define.
6645 (IDS_CORRUPT_PACKAGE): Define.
6646 * resource.h (IDS_INSTALL_ERROR): Define.
6647 (IDS_CORRUPT_PACKAGE): Define.
6648 * rfc1738.cc (rfc1738_unescape_part): Implement.
6649 * rfc1738.h (rfc1738_unescape_part): Declare.
6650
6651 2002-04-29 Robert Collins <rbtcollins@hotmail.com>
6652
6653 * Makefile.am: Remove dependecy rules that automake emits.
6654 Correct badly copied dependency info for manually compiled files.
6655 (setup_SOURCES): Add all used headers.
6656 (EXTRA_DIST): Include non compilate but required sources.
6657 (setup_LDADD): Remove mingw32, it is autodetected.
6658 * Makefile.in: Regenerate.
6659 * String++.h: sys/types is a system header.
6660 * choose.cc (do_choose_thread): Make into a Win32 thread routine.
6661 Use ExitThread.
6662 (ChooserPage::OnMessageApp): Use Win32 threads. (_beginthread is not
6663 portable).
6664 * configure: Regenerate.
6665 * configure.in: Check for mingw32/cygwin specific headers and libraries.
6666 * cygpackage.h: Include the win32.h header to get correct macro
6667 definitions in all situations.
6668 * download.cc (do_download_reflector): Make into a Win32 thread routine.
6669 Use ExitThread.
6670 (do_download): Use Win32 threads.
6671 * ini.cc: Ditto.
6672 * install.cc: Ditto.
6673 * (WinMain): Adjust to build valid command line using application
6674 under both mingw32 and cygwin.
6675 * mount.cc (set)cygdrive_flags): Create new system flags if the
6676 user requests system and the value does not exist.
6677 * nio-http.cc: Define a _strnicmp for cygwin.
6678 * package_db.cc: Include <errno.h> if it exists.
6679 * site.cc (do_download_site_info_thread): Make into a Win32 thread
6680 routine.
6681 Use ExitThread.
6682 (do_download_site-Info): Use Win32 threads.
6683 * state.cc: Explicity declare variables to avoid header conflicts
6684 caused by '#define extern" on cygwin.
6685 * win32.h: Include <alloca.h> if it exists.
6686 (_MAX_PATH): Define as MAX_PATH when not defined by windows.h.
6687 (_access): Define as access if not defined by windows.h.
6688
6689 2002-04-27 Robert Collins <rbtcollins@hotmail.com>
6690
6691 * compress_gz.cc (compress_gz::error): EOF is not an error condition.
6692
6693 2002-04-27 Robert Collins <rbtcollins@hotmail.com>
6694
6695 * Makefile.am: Add libgetopt++ to the subdirs list.
6696 Search the libgetopt++ header directory.
6697 Link against libgetopt++.la.
6698 (setup_SOURCES): Remove GetOption.cc and getopt.c and Option.cc.
6699 (setup_LDADD): Explicitly include res.o.
6700 * Makefile.in: Regenerate.
6701 * aclocal.m4: Regenerate.
6702 * bootstrap.sh: Call libtoolize.
6703 * configure: Regenerate.
6704 * configure.in: Add libtool support and configure libgetopt++.
6705 * desktop.cc (NoShortcutsOption): Turn into a BoolOption.
6706 (DesktopSetupPage::OnInit): Use the simpler syntax.
6707 * desktop.h: Remove dependency on Option.h, and remove NoShortcustOption
6708 declaration.
6709 * main.cc: Include getopt++/GetOption.h.
6710 (main): Use simpler syntax.
6711 * cdefs.h: Remove.
6712 * getopt.h: Remove.
6713 * getopt.c: Remove.
6714 * GetOption.h: Remove.
6715 * GetOption.cc: Remove.
6716 * Option.h: Remove.
6717 * Option.cc: Remove.
6718
6719 2002-04-26 Robert Collins <rbtcollins@hotmail.com>
6720
6721 * Makefile.am: Add zlib and bz2lib to SUBDIRS.
6722
6723 2002-04-26 Robert Collins <rbtcollins@hotmail.com>
6724
6725 * aclocal.m4: New file, cached macros.
6726 * bootstrap.sh: New file, calls required autotools in appropriate
6727 order.
6728 * Makefile.am: New file, input Makefile for automake.
6729 * Makefile,in: Now a generated file - regenerate.
6730 * configure: Regenerate.
6731 * configure.in: Add automake support.
6732 * inilex.l: Change VERSION to PACKAGEVERSION to avoid a collision with
6733 automake's VERSION define.
6734 * iniparse.y: Ditto.
6735
6736 2002-04-26 Robert Collins <rbtcollins@hotmail.com>
6737
6738 * cdefs.h: New file, imported to allow getopt.c to build without
6739 cygwin headers.
6740 * getopt.h: New file, imported to allow building without cygwin headers.
6741 * getopt.c: Ditto.
6742 * bz2lib: New directory, contains copy of bz2lib.
6743 * cfgaux: New directory, contains autotool helper scripts.
6744 * Makefile,in: Adjust library and target definitions for building
6745 outside the sourceware tree.
6746 * compress_bz.h: Use new bz2lib header location.
6747 * mount.cc: Import key defines and enums to be independent of cygwin
6748 headers.
6749 * configure.in: Update to autoconf 2.53, and to be sourceware
6750 independent.
6751 * configure: Regenerate.
6752
6753 2002-04-12 Robert Collins <rbtcollins@hotmail.com>
6754
6755 * mklink2.cc (make_link_2): Tweak to work with current w32api
6756 headers.
6757
6758 2002-04-10 Pavel Tsekov <ptsekov@gmx.net>
6759
6760 * version.cc (canonicalize_version): Fix a call delete[]
6761 to delete the allocated address.
6762
6763 2002-03-29 Robert Collins <rbtcollins@hotmail.com>
6764
6765 * PickView.cc (PickView::set_headers): Set last_col correctly. Thanks
6766 to Ton van Overbeek for locating the bug area.
6767
6768 2003-03-27 Robert Collins <rbtcollins@hotmail.com>
6769
6770 * PickView.cc (PickView::insert_pkg): Be more generic with
6771 object use.
6772 (PickView::insert_category): Ditto.
6773 (PickView::~PickView): Create.
6774 * PickView.h (PickView::~PickView): Declare.
6775
6776 2003-03-27 Robert Collins <rbtcollins@hotmail.com>
6777
6778 * Makefile.in (OBJS): Add new commandline objects.
6779 * desktop.cc (NoShortCutsOption): New option code.
6780 (DesktopSetupPage::OnInit): Check whether to skip shortcuts.
6781 * desktop.h (NoShortCutsOption): New concrete command line option class.
6782 * main.cc (WinMain): Process command line options.
6783 * GetOption.h: New file, singleton command line class.
6784 * GetOption.cc: New file, implementation of the above.
6785 * Option.h : New file, abstract option for GetOption.
6786 * Option.cc: New file, implement constructor and destructor.
6787
6788 2002-03-26 Pavel Tsekov <ptsekov@gmx.net>
6789
6790 * mkdir.cc (mkdir_p): Stop processing if the path is exhausted.
6791
6792 2002-03-26 Ton van Overbeek <tvoverbe@cistron.nl>
6793
6794 * PickPackageLine.cc (PickPackageline::paint): Adjust clipping rectangle
6795 to textheight, so large fonts work.
6796
6797 2003-03-26 Robert Collins <rbtcollins@hotmail.com>
6798
6799 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Don't translate
6800 symlinks.
6801
6802 2003-03-26 Robert Collins <rbtcollins@hotmail.com>
6803
6804 * io_stream_cygfile.cc (cwd): New static for cwd storage.
6805 (io_stream_cygfile::normalise): New method.
6806 (io_stream_cygfile::io_stream_cygfile): Use it.
6807 (io_stream_cygfile::exists): Ditto.
6808 (io_stream_cygfile::remove): Ditto.
6809 (io_stream_cygfile::mklink): And again.
6810 (cygmkdir_p): Yes, again.
6811 (io_stream_cygfile::move): And once more.
6812 * io_stream_cygfile.h (io_stream_cygfile::normalise): Declare.
6813 (io_stream_cygfile::cwd): Ditto.
6814
6815 2003-03-26 Robert Collins <rbtcollins@hotmail.com>
6816
6817 * package_meta.cc (package_meta::~package_meta): Remove duplicate.
6818 (CategoryPackage::~CategoryPackage): Ditto. (Thanks to Ton van
6819 Overbeek for the report).
6820 * mklink2.cc: Moved from mklink2.c to avoid 'not a prototype error'.
6821 Make g++ compatible.
6822 * mklink2.c: Remove.
6823 * site.cc (site_list_type::init): Delete the correct memory addres.
6824 Thanks to Pavel Tsekov for tracking this down.
6825
6826 2002-03-20 Robert Collins <rbtcollins@hotmail.com>
6827
6828 * win32.h: Only define alloca if it's not already.
6829
6830 2002-03-20 Robert Collins <rbtcollins@hotmail.com>
6831
6832 * package_meta.h (packamgemeta::trustp): Make 'test' choice leave
6833 installed packages alone.
6834 * README: Update with latest requests.
6835 * Various: MTC fixes from setup200202 branch.
6836
6837 2002-03-19 Christopher Faylor <cgf@redhat.com>
6838
6839 * Makefile.in (setup_version.c): Add back magic which allows detection
6840 of setup.exe version number.
6841
6842 2002-03-17 Robert Collins <rbtcollins@hotmail.com>
6843
6844 * PickPackageLine.cc (PickPackageLine::paint): Fix incorrect clip region
6845 calculation on win9x systems.
6846
6847 2002-03-16 Robert Collins <rbtcollins@hotmail.com>
6848
6849 * install.cc (install_one_source): Write the correct length of a string
6850 to the lst file (Thanks to Pavel Tsekov for reporting the bug).
6851
6852 2002-03-15 Robert Collins <rbtcollins@hotmail.com>
6853
6854 * choose.cc (list_click): Always refresh the entire chooser, as our
6855 package state change mechanism is broken with the new improved list
6856 classes.
6857
6858 2002-03-15 Robert Collins <rbtcollins@hotmail.com>
6859
6860 * desktop.cc (make_passwd_group): Check for .lnk suffix on /etc/passwd
6861 and /etc/group.
6862
6863 2002-03-15 Robert Collins <rbtcollins@hotmail.com>
6864
6865 * PickPackageLine.cc (PickPackageLine::DrawCheck): New method factored
6866 out from paint().
6867 (PickPackageLine::paint): Use DrawCheck to draw the src tick box, and
6868 the new bin tickbox.
6869 (PickPackageLine::click): Handle the new bin tickbox.
6870 * PickPackageLine.h (PickPackageLine::DrawCheck): Declare this.
6871 * PickView.cc (pkg_headers): Add a Bin? column.
6872 (cat_headers): Ditto.
6873 (PickView::set_headers): Ditto.
6874 (PickView::init_headers): Ditto.
6875 * PickView.h (PickView): Ditto.
6876 * choose.cc (list_click): Use the new name for src_col to set the clip
6877 rectangle.
6878
6879 2002-02-24 Michael A Chase <mchase@ix.netcom.com>
6880
6881 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Fix up Robert's
6882 fixup.
6883
6884 2002-02-24 Michael A Chase <mchase@ix.netcom.com>
6885
6886 * desktop.cc (make_link): Add "file://" prefix to io_stream::mkpath_p()
6887 call.
6888 (make_passwd_group): Ditto.
6889 * localdir.cc (save_local_dir): Ditto.
6890 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Wrap long lines.
6891 Add "cygfile://" prefix to io_stream::open() calls.
6892
6893 2002-02-24 Robert Collins <rbtcollins@hotmail.com>
6894
6895 * log.cc (log_save): Fix creating /var/log.
6896 * packate_meta.cc (standard_dirs): Remove duplicate '/''s.
6897
6898 2002-02-24 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
6899
6900 * res.rc (STRINGTABLE): Add IDS_CYGWIN_SETUP and
6901 IDS_CYGWIN_SETUP_WITH_PROGRESS strings.
6902 * resource.h: Add IDS_CYGWIN_SETUP and
6903 IDS_CYGWIN_SETUP_WITH_PROGRESS IDs.
6904
6905 * splash.cc (OnInit): Qualify SetWindowText() call with global scope
6906 operator (::SetWindowText()).
6907
6908 * threebar.cc: Run indent.
6909 (cistring.h): Add include.
6910 (SetText1, SetText2, SetText3): Qualify SetWindowText() call with
6911 global scope operator.
6912 (SetBar2): Add logic for writing percent complete into window title.
6913
6914 * window.h: Run indent.
6915 (SetWindowText): New function.
6916 (String): Add forward declaration.
6917 * window.cc: Run indent.
6918 (String++.h): Add include.
6919 (SetWindowText): New function.
6920
6921 2002-02-24 Robert Collins <rbtcollins@hotmail.com>
6922
6923 * README: Update TODO list.
6924 * install.cc (install_one): Fix src package location.
6925 (do_install_thread): Fix creating directories.
6926
6927 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
6928
6929 * choose.cc: Include cygpackage.h for scan2 use.
6930 (set_existence): Ignore setup.ini mirrors when installing from cwd.
6931 (scan2): Process any valid file.
6932 Add cache entries when a file matching a setup.ini listed version is
6933 found.
6934 * filemanip.cc (parse_filename): Remove pkgtar - not used anywhere else.
6935 * filemanip.h (filemanip::pkgtar): Remove.
6936 * package_meta.cc (CategoryPackage::~CategoryPackage): New method.
6937 (packagemeta::~packagemeta): Move from package_meta.h
6938 Remove and delete all version and category information.
6939 * package_meta.h (CategoryPackage): Create a destructor.
6940 (packagemeta::~packagemeta): Move to .cc file.
6941
6942 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
6943
6944 * install.cc (install_one_source): Make NULL cached package names cause
6945 errors.
6946
6947 2002-02-18 Michael A Chase <mchase@ix.netcom.com>
6948
6949 * desktop.cc (make_passwd_group): Don't create passwd-grp.bat
6950 unnecessarily.
6951
6952 2002-02-18 Michael A Chase <mchase@ix.netcom.com>
6953
6954 * log.cc (log_save): Put "\n" at end of log lines instead of "'".
6955
6956 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
6957
6958 * mount.cc (create_mount): Avoid a const char*->char* warning.
6959 (read_mounts): Ditto.
6960
6961 2002-02-05 Jason Tishler <jason@tishler.net>
6962
6963 * download.cc (do_download_thread): Fix off-by-one error.
6964
6965 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
6966
6967 * configure.in (CXXFLAGS): Substitute at configure time, not runtime.
6968 * configure (CXXFLAGS): Regenerate.
6969 * Makefile.in (iniparse.o): Build via default rules - no errors now.
6970 * README: TODO list updates.
6971
6972 2002-02-19 Michael A Chase <mchase@ix.netcom.com>
6973
6974 * String++.cc (String::concat):: Remove.
6975 (String::vconcat):: Ditto.
6976 * String++.h (String::concat):: Remove.
6977 (String::vconcat):: Ditto.
6978 * archive_tar.cc: Don't include concat.h.
6979 * archive_tar_file.cc: Don't include concat.h.
6980 * compress_bz.cc (compress_bz::peek): Don't log unneeded messages.
6981 (compress_bz::seek): Ditto.
6982 (compress_bz::~compress_bz): Ditto.
6983 * compress_gz.cc (compress_gz::peek): Ditto.
6984 (compress_gz::error): Ditto.
6985 (compress_gz::~compress_gz): Ditto.
6986 * concat.cc (vconcat): Remove.
6987 (concat): Ditto.
6988 * concat.h (vconcat): Remove.
6989 (concat): Ditto.
6990 * desktop.cc (desktop_icon): Use new cygpath.
6991 (make_etc_profile): Ditto.
6992 (uexists): Ditto.
6993 (make_passwd_group): Ditto.
6994 (save_icon): Ditto.
6995 (check_desktop): Remove concat use.
6996 (check_start_menu): Ditto.
6997 * download.cc (download_one): Use new mkpath_p correctly.
6998 Use LOG_PLAIN.
6999 * fromcwd.cc: Don't include concat.h.
7000 * geturl.cc (get_url_to_membuf): Use String log() call.
7001 (get_url_to_file): Ditto.
7002 * install.cc: Don't include concat.h.
7003 (uninstall_one): Use LOG_PLAIN.
7004 (replace_one): Ditto.
7005 (install_one_source): Ditto.
7006 (install_one): More char to String conversion.
7007 (do_install_thread): Use new cygpath.
7008 Use new create_mount.
7009 * io_stream.cc (io_stream::move): Use new log().
7010 * io_stream_cygfile (io_stream_cygfile::io_stream_cygfile): Use new
7011 cygpath.
7012 (io_stream_cygfile::exists): Ditto.
7013 (io_stream_cygfile::remove): Ditto.
7014 (io_stream_cygfile::mklink): Ditto.
7015 (io_stream_cygfile::write): Ditto.
7016 (cygmkdir_p): Ditto.
7017 (io_stream_cygfile::move): Ditto.
7018 * io_stream_file.cc: Don't include log.h.
7019 (io_stream_file::write): Don't log unneeded messages.
7020 * localdir.cc: Don't include concat.h.
7021 (LocalDirPage::OnNext): Use LOG_PLAIN.
7022 * log.cc: Don't include log.h.
7023 (exit_setup): Use new cygpath.
7024 * log.h (log_level): Add new level LOG_PLAIN.
7025 * main.cc (WinMain): Use new log().
7026 * mount.cc (SLASH_P): New macro from concat.h.
7027 (cygpath): Make String version globally visible.
7028 Remove varargs version.
7029 * mount,h: Ditto.
7030 * msg.cc (mbox): Use LOG_PLAIN.
7031 * net.cc (NetPage::OnNext): Ditto.
7032 * nio-ftp.cc (ftp_line): Use new log().
7033 * nio-http.cc: Don't include log.h.
7034 (retry_get): Use alternative url variable.
7035 * package_db.cc: Don't include concat.h.
7036 (packagedb::flush): Don't use concat.
7037 * package_meta.cc: Don't include concat.h.
7038 (packagemeta::uninstall): Use new cygpath.
7039 * postinstall.cc (do_postinstall): Ditto.
7040 * root.cc (RootPage::OnNext): Use LOG_PLAIN.
7041 * script.cc: Don't include concat.h.
7042 (init_run_script): Use new cygpath.
7043 (run_script): More char * to String conversion.
7044 (try_run_script): Ditto.
7045 * site.cc: Don't include concat.h.
7046 (SitePage::OnNext): Use LOG_PLAIN.
7047 (SitePage::OnMessageCmd): Use new log().
7048 * source.cc (SourcePage::OnDeactivate): Use LOG_PLAIN.
7049
7050 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
7051
7052 * Makefile.in (OBJS): Add new object.
7053 * PickCategoryLine.cc (PickCategoryLine::paint): Print a "+" before the
7054 name.
7055 * PickCategoryLine.h (PickCategoryLine::bucket): Use the String class.
7056 * PickLine.h (Pickline::key): Change to a String to help plug leaks.
7057 (PickLine::Pickline): Accept a String for the key.
7058 * PickPackageLine.cc (PickPackageLine::paint): Convert all char use to
7059 Strings.
7060 * PickPackageLine.h (PickPackageLine::PickPackageLine): The key is
7061 automatically initialised now.
7062 * PickView.cc (PickView::note_width): Convert all char * use to Strings.
7063 (PickView::init_header): Move category length checking out of the inner
7064 loop for efficiency.
7065 Convert all char use to Strings.
7066 * PickView.h: Include the String++ header.
7067 (PickView::note_width): Update the prototype.
7068 * String++.cc: New file, implements a reference counting string class.
7069 * String++.h: New file, declares a reference counting string class.
7070 * archive.cc: Include String++ instead of concat.
7071 (archive::extract_file): Convert char * usage to Strings.
7072 * archive.h: Inlude the String++ header.
7073 (archive::extract_file): Update prototype.
7074 (archive::next_file_name): Convert to a String.
7075 (archive::linktarget): Ditto.
7076 * archive_tar.cc (archive_tar::next_file_name): Convert to String usage.
7077 (archive_tar::linktarget): Ditto.
7078 * arhive_tar.h: Update the copyright.
7079 Explicitly include the relevant headers.
7080 (tar_map_result_type): Convert to String usage.
7081 (archive_tar::next_file_name): Update prototype.
7082 (archive_tar::linktarget): Ditto.
7083 * category.cc (Category::Category): Update initialisers.
7084 Convert to String usage.
7085 (Categorycmp): Update to String usage.
7086 * category.h: Include the String++ header.
7087 (Category::Category): Update to String usage.
7088 (Category::name): Ditto.
7089 (Category::key): Ditto.
7090 * choose.cc: Remove concat.h, it's not needed.
7091 (scan2): Update to String usage.
7092 (do_choose): Ditto.
7093 * cygpackage.cc: Update includes for use of String class.
7094 (cygpackage::cygpackage): Update for String usage.
7095 (cygpackage::set_canonical_version): Ditto.
7096 (cygpackage::destroy): Ditto.
7097 (cygpackage::getfirstfile): Ditto.
7098 (cygpackage::getnextfile): Ditto.
7099 (cygpackage::Name): Ditto.
7100 (cygpackage::Vendor_version): Ditto.
7101 (cygpackage::Package_version): Ditto.
7102 (cygpackage::Canonical_version): Ditto.
7103 (cygpackage::set_sdesc): Ditto.
7104 (cygpackage::set_ldesc): Ditto.
7105 * cygpackage.h: Include String++.h for parsing this file.
7106 (cygpackage::cygpackage): Update for String usage.
7107 (cygpackage::set_canonical_version): Ditto.
7108 (cygpackage::destroy): Ditto.
7109 (cygpackage::getfirstfile): Ditto.
7110 (cygpackage::getnextfile): Ditto.
7111 (cygpackage::Name): Ditto.
7112 (cygpackage::Vendor_version): Ditto.
7113 (cygpackage::Package_version): Ditto.
7114 (cygpackage::Canonical_version): Ditto.
7115 (cygpackage::set_sdesc): Ditto.
7116 (cygpackage::set_ldesc): Ditto.
7117 (cygpackage::name): Ditto.
7118 (cygpackage::vendor): Ditto.
7119 (cygpackage::packagev): Ditto.
7120 (cygpackage::canonical): Ditto.
7121 (cygpackage::fn): Ditto.
7122 (cygpackage::sdesc): Ditto.
7123 (cygpackage::ldesc): Ditto.
7124 * desktop.cc: Update includes for use of String class.
7125 (batname): Update for String usage.
7126 (iconname): Ditto.
7127 (make_link): Ditto.
7128 (start)menu): Ditto.
7129 (desktop_icon): Ditto.
7130 (make_cygwin_bat): Ditto.
7131 (make_etc_profile): Ditto.
7132 (uexists): Ditto.
7133 (make_passwd_group): Ditto.
7134 (save_icon): Ditto.
7135 (check_desktop): Ditto.
7136 (check_startmenu): Ditto.
7137 * dialog.cc (eget): Update for String usage.
7138 (egetString): New function.
7139 (eset): New variant for Strings.
7140 * dialog.h: Include String++.h for parsing this file.
7141 (egetString): New function.
7142 (eset): New variant for Strings.
7143 * diskfull.cc (diskfull): Update for String usage.
7144 * diskfull.h: Include String++.h for parsing this file.
7145 (diskfull): Update for String usage.
7146 * download.cc: Update includes for use of String class.
7147 (check_for_cached): Update for String usage.
7148 (download_one): Ditto.
7149 * filemanip.cc (get_file_size): Ditto.
7150 (base): Ditto.
7151 (parse_filename): Ditto.
7152 (backslash): Ditto.
7153 * filemanip.h: Include String++.h for parsing this file.
7154 (fileparse): Update for String usage.
7155 (base): Ditto.
7156 (parse_filename): Ditto.
7157 Don't consider '_' to be a separator.
7158 (backslash): Ditto.
7159 * find.cc: Update includes for use of String class.
7160 (find_sub): Make more flexible.
7161 (find): Update for String usage.
7162 * find.h (find): Use Strings.
7163 * fromcwd.cc (found_file): Update for String usage.
7164 * geturl.cc: Ditto.
7165 (init_dialog): Ditto.
7166 (get_url_to_membuf): Ditto.
7167 (get_url_to_string): Ditto.
7168 (get_url_to_file): Ditto.
7169 * geturl.h: Ditto.
7170 (get_url_to_membuf): Ditto.
7171 (get_url_to_string): Ditto.
7172 (get_url_to_file): Ditto.
7173 * hash.h: Ditto.
7174 (add_subdirs): Ditto.
7175 * ini.cc: Update includes for String usage.
7176 (find_routine): Update for String usage.
7177 (do_remote_ini): Ditto.
7178 (do_ini_thread): Ditto.
7179 * ini.h (ini_init): Ditto.
7180 * inilex.l: Update includes for String usage.
7181 (ini_init): Update for String usage.
7182 * iniparse.y: Ditto.
7183 (add_correct_version): Ditto.
7184 * install.cc: Update includes for String usage.
7185 (install_one_source): Update for String usage.
7186 (uninstall_one): Ditto.
7187 (replace_one): Ditto.
7188 (install_one_source): Ditto.
7189 (do_install_thread): Ditto.
7190 * io_stream.cc: Update includes for String usage.
7191 (io_stream::open): Update for String usage.
7192 (io_stream::mkpath_p): Ditto.
7193 (io_stream::remove): Ditto.
7194 (io_stream::mklink): Ditto.
7195 (io_stream::move_copy): Ditto.
7196 (io_stream::move): Ditto.
7197 (io_stream::exists): Ditto.
7198 * io_stream.h: Update includes to allow correct parsing.
7199 (io_stream::open): Update for String usage.
7200 (io_stream::mkpath_p): Ditto.
7201 (io_stream::remove): Ditto.
7202 (io_stream::mklink): Ditto.
7203 (io_stream::move_copy): Ditto.
7204 (io_stream::move): Ditto.
7205 (io_stream::exists): Ditto.
7206 * io_stream_cygfile.cc: Update includes for String usage.
7207 (get_root_dir_now): Update for String usage.
7208 (io_stream_cygfile::io_stream_cygfile): Ditto.
7209 (io_stream_cygfile::~io_stream_cygfile): Ditto.
7210 (io_stream_cygfile::exists): Ditto.
7211 (io_stream_cygfile::remove): Ditto.
7212 (io_stream_cygfile::mklink): Ditto.
7213 (cygmkdir_p): Ditto.
7214 (io_stream_cygfile::set_mtime): Ditto.
7215 (io_stream_cygfile::move): Ditto.
7216 (io_stream_cygfile::get_size): Ditto.
7217 * io_stream_cygfile.h: Update includes for String usage.
7218 (io_stream_cygfile::io_stream_cygfile): Update for String usage.
7219 (io_stream_cygfile::~io_stream_cygfile): Ditto.
7220 (io_stream_cygfile::exists): Ditto.
7221 (io_stream_cygfile::remove): Ditto.
7222 (io_stream_cygfile::mklink): Ditto.
7223 (cygmkdir_p): Ditto.
7224 (io_stream_cygfile::set_mtime): Ditto.
7225 (io_stream_cygfile::move): Ditto.
7226 (io_stream_cygfile::get_size): Ditto.
7227 (io_stream_cygfile::fname): Ditto.
7228 (io_stream_cygfile::lmode): Ditto.
7229 * io_stream_file.cc: Update includes for String usage.
7230 (io_stream_file::io_stream_file): Update for String usage.
7231 (io_stream_file::~io_stream_file): Ditto.
7232 (io_stream_file::exists): Ditto.
7233 (io_stream_file::remove): Ditto.
7234 (io_stream_file::mklink): Ditto.
7235 (io_stream_file::set_mtime): Ditto.
7236 (io_stream_file::move): Ditto.
7237 (io_stream_file::get_size): Ditto.
7238 * io_stream_file.h: Update includes for String usage.
7239 * io_stream_file.cc: Update includes for String usage.
7240 (io_stream_file::io_stream_file): Update for String usage.
7241 (io_stream_file::~io_stream_file): Ditto.
7242 (io_stream_file::exists): Ditto.
7243 (io_stream_file::remove): Ditto.
7244 (io_stream_file::mklink): Ditto.
7245 (io_stream_file::set_mtime): Ditto.
7246 (io_stream_file::move): Ditto.
7247 (io_stream_file::get_size): Ditto.
7248 (io_stream_file::fname): Ditto.
7249 (io_stream_file::lmode): Ditto.
7250 * localdir.cc: Update includes for String usage.
7251 (save_local_dir): Update for String usage.
7252 (check_if_enable_next): Ditto.
7253 (load_dialog): Ditto.
7254 (browse_cb): Ditto.
7255 (LocalDirPage::OnInit): Ditto.
7256 (LocalDirPage::OnNext): Ditto.
7257 * log.cc: Update includes for String usage.
7258 (struct LogEnt): Update for String usage.
7259 (log): Ditto.
7260 (log_save): Ditto.
7261 (exit_setup): Ditto.
7262 * log.h: Update includes for String usage.
7263 (log_level): Update for String usage.
7264 (log): Ditto.
7265 (log_save): Ditto.
7266 * main.cc (WinMain): Update for String usage.
7267 * mklink2.c (make_link_2): Update for String usage.
7268 * mklink2.h (make_link_2): Update for String usage.
7269 * mount.cc: Update includes for String usage.
7270 (mount_table): Update for String usage.
7271 (find2): Ditto.
7272 (create_mount): Ditto.
7273 (remove1): Ditto.
7274 (remove_mount): Ditto.
7275 (read_mounts): Ditto.
7276 (set_root_dir): Ditto.
7277 (get_root_dir): Ditto.
7278 (path_prefix_p): Ditto.
7279 (cygpath): Ditto.
7280 * mount.h: Update includes for String usage.
7281 (create_mount): Update for String usage.
7282 (remove_mount): Ditto.
7283 (cygpath): Ditto.
7284 (set_root_dir): Ditto.
7285 (get_root_dir): Ditto.
7286 * msg.cc (mbox): Ditto.
7287 * net.cc (NetPage::OnNext): Ditto.
7288 * package_db.cc (packagedb::flush): Ditto.
7289 (packagedb::packages): Ditto.
7290 (packagedb::categories): Ditto.
7291 * package_db.h: Update includes for String usage.
7292 (packagedb::packages): Update for String usage.
7293 (packagedb::categories): Ditto.
7294 * package_meta.cc: Update includes for String usage.
7295 (hash::add_subdirs): Update for String usage.
7296 (packagemeta::uninstall): Ditto.
7297 (packagemeta::SDesc): Ditto.
7298 (packagemeta::action_caption): Ditto.
7299 * package_meta.h: Update includes for String usage.
7300 (packagemeta::packagemeta): Update for String usage.
7301 (packagemeta::~packagemeta): Ditto.
7302 (packagemeta::uninstall): Ditto.
7303 (packagemeta::SDesc): Ditto.
7304 (packagemeta::action_caption): Ditto.
7305 (package_source.cc site::site): Ditto.
7306 (packagesource::set_canonical): Ditto.
7307 (packagesource::set_cached): Ditto.
7308 * package_source.h: Update includes for String usage.
7309 (site::site): Update for String usage.
7310 (packagesource::set_canonical): Ditto.
7311 (packagesource::set_cached): Ditto.
7312 (packagesource::packagesource): Ditto.
7313 (packagesource::sites): Ditto.
7314 (packagesource::cached): Ditto.
7315 * package_version.h: Update includes for String usage.
7316 (Dependency): Update for String usage.
7317 (packageversion): Ditto.
7318 * postinstall.cc: Update includes for String usage.
7319 (do_postinstall): Update for String usage.
7320 * res.rc (IDD_LOCAL_DIR): Fix typo again!
7321 * rfc1738.cc (rfc1738_escape_part): Update for String usage.
7322 * rfc1738.h: Update includes for String usage.
7323 (rfc1738_escape_part): Update for String usage.
7324 * root.cc: Update includes for String usage.
7325 (check_if_enable_next): Update for String usage.
7326 (save_dialog): Ditto.
7327 (browse_cb): Ditto.
7328 (directory_is_absolute): Ditto.
7329 (directory_is_rootdir): Ditto.
7330 (directory_has_spaces): Ditto.
7331 (RootPage::OnInit): Ditto.
7332 (RootPage::OnNext): Ditto.
7333 * script.cc: Update includes for String usage.
7334 (init_run_script): Update for String usage.
7335 (run): Ditto.
7336 (run_script): Ditto.
7337 (try_run_script): Ditto.
7338 * script.h: Update includes for String usage.
7339 (run_script): Update for String usage.
7340 (try_run_script): Ditto.
7341 * site.cc site_list): Ditto.
7342 (all_site_list): Ditto.
7343 (other_url): Eliminate.
7344 (site_list_type::init): Update for String usage.
7345 (site_list_type::site_list_type): Ditto.
7346 (get_site_list): Ditto.
7347 (get_saved_sites): Ditto.
7348 (do_download_site_info_thread): Ditto.
7349 (SitePage::OnNext): Ditto.
7350 (SitePage::OnActivate): Ditto.
7351 (SitePage::PopulateListBox): Ditto.
7352 (SitePage::OnMessageCmd): Handle empty url's.
7353 * site.h: Update includes for String usage.
7354 (site_list_type::site_list_type): Update for String usage.
7355 (site_list_type::init): Ditto.
7356 (site_list_type::~site_list_type): Ditto.
7357 (site_list_type::url): Ditto.
7358 (site_list_type::displayed_url): Ditto.
7359 (site_list_type::key): Ditto.
7360 * source.cc (SourcePage::OnDeactivate): Ditto.
7361 * state.h: Update includes for String usage.
7362 (local_dir): Update for String usage.
7363 (trust_level): Remove.
7364 * version.cc: Update includes for String usage.
7365 (canonicalize_version): Update for String usage.
7366 * version.h: Update includes for String usage.
7367 (canonicalize_version): Update for String usage.
7368
7369 2002-02-15 Christopher Faylor <cgf@redhat.com>
7370
7371 * filemanip.c (parse_filename): Revert previous change.
7372
7373 2002-02-14 Christopher Faylor <cgf@redhat.com>
7374
7375 * filemanip.c (parse_filename): Don't treat '_' as a version number
7376 introducer.
7377
7378 2002-01-29 Christopher Faylor <cgf@redhat.com>
7379
7380 * configure: Regenerate.
7381
7382 2002-01-27 Robert Collins <rbtcollins@hotmail.com>
7383
7384 * res.rc (IDD_LOCAL_DIR): Fix typo reported by Rene
7385 <Hoeck@extern.lrz-muenchen.de>
7386
7387 2002-01-27 Robert Collins <rbtcollins@hotmail.com>
7388
7389 * README: Update Todo's.
7390 * list.h: Run indent.
7391 (list): New methods checksize and insert to reduce code duplication.
7392 (list::registerbykey): Use them.
7393 (list::registerbyobject): Ditto.
7394 (list::removebyindex): Copy each object individually - safe for non
7395 trivial objects.
7396 (list::checksize): Implement.
7397 (list::insert): Implement.
7398
7399 2002-01-27 Robert Collins <rbtcollins@hotmail.com>
7400
7401 * Makefile.in: Remove the dlmalloc object by default.
7402 * install.cc (do_install_thread): Remove the mallinfo call for 'working
7403 around' the crashing issue.
7404 * package_db.h: Include <string.h> - it's needed to parse this.
7405 * package_source.cc (site::site): Move here from the header file.
7406 * package_source.h (site): Stop the constructor being inlinable.
7407
7408 2002-01-26 Robert Collins <rbtcollins@hotmail.com>
7409
7410 * filemanip.cc (find_tar_ext): Add a descriptive comment.
7411
7412 2002-01-25 Michael A Chase <mchase@ix.netcom.com>
7413
7414 * filemanip.cc (find_tar_ext): Clean up tests for .tar.gz and .tar.
7415 * fromcwd.cc (do_fromcwd): Expand FIXME comment in source file check.
7416 * install.cc (install_one_source): Add space between words in log()
7417 call.
7418
7419 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
7420
7421 * log.cc (exit_setup): When saving to the download dir, explicity
7422 specify the path.
7423
7424 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
7425
7426 * archive.cc (extract_file): Separate out the prefix and the URL
7427 scheme.
7428 * archive.h (archive::extract_file): Ditto.
7429 * install.cc (install_one_source): Ditto. Use the new
7430 archive::extract_file syntax.
7431 (replace_one): Use the new syntax.
7432 (io_stream.cc): Add some log info for links.
7433
7434 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
7435
7436 * PickCategoryLine.cc (PickCategoryLine::actiontext): Remove.
7437 (PickCategoryLine::paint): Use the new action method.
7438 (PickCategoryLine::click): Set the action for all children.
7439 (PickCategoryLine::set_action): New method.
7440 * PickCategoryLine.h (PickCategoryLine::-actions): Remove.
7441 (PickCategoryLine::current_default): Use packagemeta _actions class.
7442 * PickLine.h (PickLine::set_action): New abstract method that requires
7443 including package_meta.h.
7444 * PickPackageLine.cc (PickPackageLine::set_action): New method.
7445 * PickPackageLine.h (PickPackageLine::set_action): Declare this.
7446 * list.h (getbykey): A const correctness fix.
7447 * package_meta.cc: Run indent.
7448 (packagemeta::Default_action): New const.
7449 (packagemeta::Install_action): Ditto.
7450 (packagemeta::Reinstall_action): Ditto.
7451 (packagemeta::Uninstall_action): Ditto.
7452 (packagemeta::_actions::caption): New method.
7453 (packagemeta::_actions::operator++): Ditto.
7454 (packagemeta::set_action): New overload.
7455 * package_meta.h (packagemeta::_actions): New class.
7456 (packagemeta::set_action): Declare this.
7457
7458 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
7459
7460 * Makefile.in (OBJS): Remove supp.o - it appears accidental.
7461 * choose.cc: Don't define alloca anymore, it's done in win32.h
7462
7463 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
7464
7465 * PickPackageLine.cc: New file.
7466 * PickPackageLine.h: New file.
7467 * PickLine.cc: New file.
7468 * PickLine.h: New file.
7469 * PickCategoryLine.cc: New file.
7470 * PickCategoryLine.h: New file.
7471 * PickView.cc: New file.
7472 * PickView.h: New file.
7473 * Makefile.in: Add new objects to setup.exe.
7474 Backout -fno-exceptions option.
7475 * choose.cc: Include PickView.h.
7476 Remove view related defines and static variables.
7477 (_pkg_headers): Moved to PickView.cc.
7478 (_cat_headers): Ditto.
7479 (view::views::Unknown): Ditto.
7480 (view::views::PackageFull):
7481 (view::views::Package):
7482 (view::views::Category):
7483 (pkgtrustp): Moved to package_meta.cc.
7484 (add_required): Moved to package_meta.cc.
7485 (pick_category_line::empty): Moved to PickCategoryLine.cc
7486 (paint): Adjust for moved static variables.
7487 (view::scroll): Moved to PickView.cc.
7488 (list_vscroll): Adjust for moved static variables.
7489 (list_hscroll): Ditto.
7490 (list_click): Ditto.
7491 (note_width): Moved to PickView.cc.
7492 (view::view): Ditto.
7493 (view::set_view_mode): Ditto.
7494 (view::mode_caption): Ditto.
7495 (view::views::caption): Ditto.
7496 (view::set_headers): Ditto.
7497 (DoInsertItem): Ditto.
7498 (view::init_headers): Ditto.
7499 (view::insert_pkg): Ditto.
7500 (view::insert_category): Ditto.
7501 (view::clear_view): Ditto.
7502 (view::views::operator++): Ditto.
7503 (view::click): Ditto.
7504 (default_trust): Adjust for moved statics.
7505 (pick_pkg_line::paint): Moved to PickPackageLine.cc.
7506 (pick_pkg_line::click): Ditto.
7507 (pick_category_line::actiontext): Moved to PickCategoryLine.cc
7508 (pick_category_line::paint): Ditto.
7509 (pick_category_line::click): Ditto.
7510 (set_view_mode): Adjust for moved statics.
7511 (create_listview): Ditto.
7512 * choose.h: Remove Category and packagemeta forward defines -
7513 not needed.
7514 Don't include unneeded headers list and package_meta.
7515 (_header): Move to PickView.h.
7516 (pick_line): Move to PickLine.h.
7517 (pick_pkg_line): Move to PickPackageLine.h.
7518 (pick_category_line): Move to PickCategoryLine.h.
7519 (view): Move to PickView.h.
7520 * ini.h (trusts): Move to package_meta.h.
7521 * package_meta.h (trusts): New enum.
7522 (packagemeta::set_requirements): New helper method.
7523 (packagemeta::trustp): Ditto.
7524
7525 2002-01-21 Christopher Faylor <cgf@redhat.com>
7526
7527 * choose.h (view): Move forward declaration of views into public area
7528 or g++ v3 will complain.
7529
7530 2002-01-21 Christopher Faylor <cgf@redhat.com>
7531
7532 * Makefile.in (CXXFLAGS): Add -fno-exceptions.
7533 * win32.h (alloca): Define as __builtin_alloca.
7534 * io_stream_memory.cc: Add include file.
7535
7536 2002-01-21 Robert Collins <rbtcollins@hotmail.com>
7537
7538 * archive_tar.cc (archive_tar::~archive_tar): Mark the stream as
7539 destroyed.
7540 * archive_tar_file.cc (archive_tar_file::~archive_tar_file): Ditto.
7541 * compress.cc (compress::~compress): Be less verbose.
7542 * compress_bz.cc (compress_bz::~compress_bz): Ditto.
7543 Mark the stream as destroyed.
7544 * compress_gz.cc (compress_gz::~compress_gz): Mark the stream as
7545 destroyed.
7546 * io_stream.cc (io_stream::~io_stream): Only warn when the stream is not
7547 marked as destroyed.
7548 * io_stream_cygfile.cc (io_stream_cygfile::~io_stream_cygfile): Mark the
7549 stream as destroyed.
7550 * io_stream_file.cc (io_stream_file::~io_stream_file): Ditto.
7551 * io_stream_memory.cc (io_stream_memory::~io_stream_memory): Ditto.
7552
7553 2002-01-21 Robert Collins <rbtcollins@hotmail.com>
7554
7555 * Makefile.in (CFLAGS): Allow customisable malloc debug flags.
7556 (OBJS): Link in malloc objects.
7557 * category.cc (category): Use new char, not strdup.
7558 * choose.cc (pick_pkg_line::paint): Allow for the regionsize to shrink.
7559 (do_choose): Use new char, not malloc.
7560 * concat.cc (vconcat): Ditto.
7561 * cygpackage.cc (cygpackage): Use new char, not strdup.
7562 (set_canonical_version): Ditto.
7563 (cygpackage::destroy): Use delete[], not free.
7564 * desktop.cc (uexists): Ditto.
7565 * dialog.cc (egest): Use new char, not strdup.
7566 * dlmalloc.c: New file - Doug Lea's malloc 2.7.0
7567 * hash.cc (hash::hash): Use delete instead of free.
7568 (hash::add): Use new char, not strdup.
7569 * ini.cc (do_remote_ini): Use delete[] not free.
7570 * inilex.l: Use new char, not strdup.
7571 (ini_init): Ditto.
7572 * iniparse.y: Ditto.
7573 Use a local package_db rather than a static one.
7574 * install.cc (struct mallinfo): Workaround an apparent dlmalloc bug.
7575 (do_install_thread): Call mallinfo to force a consistency check. Appears
7576 to fix a 'inuse' error in -DDEBUG builds.
7577 Use delete[] for strings.
7578 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): Use new
7579 char, not strdup.
7580 (io_stream_cygfile::~io_stream_cygfile): Use delete[], not free.
7581 (io_stream_cygfile::remove): Use new char, not strdup.
7582 * io_stream_file.cc (io_stream_file::io_stream_file): Use new char, not
7583 strdup.
7584 (io_stream_file::io_stream_file): Use delete[], not free.
7585 (io_stream_file::remove): Use new char, not strdup.
7586 * io_stream_memory.cc (memblock::~memblock): Use delete[], not free.
7587 * io_stream_memory.h (memblock): Use new char, not malloc.
7588 * localdir.cc (LocalDirPage::OnInit): Use new char, not strdup.
7589 * main.cc (WinMain): Use new char, not strdup.
7590 * mount.cc (find2): Use new char, not malloc.
7591 (read_mounts): Ditto.
7592 (cygpath): Use new char, not strdup.
7593 * netio.cc (NetIO::~NetIO): Use delete[], not free.
7594 (NetIO::set_url): Use new char, not strdup.
7595 (NetIO::get_ftp_auth): Use delete[], not free.
7596 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Ditto.
7597 Use new char instead of strdup.
7598 * nio-http.cc (base64_encode): Use new char, not malloc.
7599 * package_meta.cc (hash::add_subdirs): Use new char instead of strdup.
7600 * package_source.h (~ packagesource): Use delete[] instead of delete.
7601 * port.h (strdup): Deprecate the use of strdup.
7602 * rfc1738.cc (rfc1738_do_escape): Use new char, not calloc.
7603 * script.cc (init_run_script): Us delete[], not free.
7604 (run_script): Ditto.
7605 * simpsock.cc (SimpleSocket::fill): Use new char, not malloc.
7606 (SimpleSocket::invalidate): Use delete[], not free.
7607 * site.cc (site_list_type::init): Use new char instead of strdup.
7608 * site.h (~site_list_type): Use delete[], not free.
7609
7610 2002-01-20 Robert Collins <rbtcollins@hotmail.com>
7611
7612 * Makefile.in (OBJS): Add win32.o - win32 support functions.
7613 * README: Update todos.
7614 * archive.cc (extract_file): Support a suffix for appending to extracted
7615 files.
7616 * archive.h: Ditto.
7617 * choose.cc (set_view_mode): Use the new view::views class.
7618 (view::views::Unknown): New static for defaulting view::views variables.
7619 (view::views::PackageFull): New static for the current view.
7620 (view::views::Package): Ditto.
7621 (view::views::Category): Ditto.
7622 (topbucket::paint): Remove.
7623 (topbucket::empty): Rename to pick_category_line::empty.
7624 (topbucket::~topbucket): Remove.
7625 (paint): Use the new view::views class.
7626 Don't paint 'all' as a category when showing package categoies.
7627 (pick_category_line::actiontext): New method.
7628 (pick_category_line::paint): Make showing the category optional, and
7629 show the 'category action'.
7630 (pick_category_line::click): Make showing the category optional, and
7631 differentiate between the name being clicked, and the action
7632 description.
7633 (view::view): Use the new view::views class.
7634 (view::set_view_mode): Ditto.
7635 (view::mode_caption): Ditto.
7636 (view::views::caption): New method.
7637 (view::set_headers): Use the new view::views class.
7638 (view::clear_view): Ditto.
7639 (viewsplusplus): Replaced by
7640 (view::views::operator++): New operator.
7641 (set_view_mode): Use the new view::views class.
7642 (create_listview): Ditto.
7643 (dialog_cmd): Ditto.
7644 * choose.h (actions): Remove.
7645 (views): Remove.
7646 (pick_line): Add a new convenience constructor.
7647 (top_bucket): Remove.
7648 (pick_category_line): Reparent under pick_line, and adsorb top_bucket.
7649 (view::views): New class.
7650 * ini.h: Don't include choose.h
7651 (is_download_action): Remove.
7652 (is_upgrade_action): Remove.
7653 (is_uninstall_action): Remove.
7654 (is_full_action): Remove.
7655 * install.cc (num_replacements): New static.
7656 (rebootneeded): Ditto.
7657 (replace_one): Handle upgrades separate from removal or new installs.
7658 (install_one_source): Handle in use files.
7659 (install_one): Don't repeat upgrades.
7660 (do_install_thread): Initialize new statics.
7661 Order actions as uninstall, replace, install.
7662 Warn about rebooting if needed.
7663 * res.rc (IDS_REBOOT_REQUIRED): New string.
7664 * resource.h (IDS_REBOOT_REQUIRED): Give value.
7665 * win32.h: Declare class Win32, and update copyright and intent message.
7666 * win32.cc: New file.
7667
7668 2002-01-15 Corinna Vinschen <corinna@vinschen.de>
7669
7670 * io_stream.cc (io_stream::gets): Eliminate trailing new line chars.
7671 * package_meta.cc (packagemeta::uninstall): Check for additional
7672 Windows shortcut. Unset R/O file attribute before trying to delete
7673 file.
7674
7675 2002-01-09 Robert Collins <rbtcollins@hotmail.com>
7676
7677 * choose.cc (pkgtrustp): Fall back to installed if a package is not
7678 present in the current trust level. For prev, fall back via curr.
7679 (set_existence): Allow sources with no sites, but cached files to be
7680 kept.
7681 (pick_category_line::paint): Start drawing clickable categories.
7682 * fromcwd.cc (found_file): Reinstate local file scanning.
7683
7684 2002-01-07 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
7685
7686 * fromcwd.cc: Run indent.
7687 (do_fromcwd): Reverse sense of comment. Set next_dialog
7688 to IDD_CHOOSER instead of IDD_CHOOSE.
7689 * ini.cc (find_routine): Remove "/" from "/setup.ini".
7690
7691 2001-01-07 Robert Collins <rbtcollins@hotmail.com>
7692
7693 * category.cc (Categorycmp): Add a const safe version.
7694 * category.h (Categorycmp): Add a const safe version.
7695 (Category): Add operator ==.
7696 * choose.cc (fill_missing_category): Add every package to "All".
7697 (pick_category_line::paint): Add support for hidden labels, and a tree
7698 depth.
7699 (pick_category_line::click): Ditto.
7700 (view::view): Pass in a top level category to use.
7701 (view::insert_pkg): Special case - skip category "All".
7702 (view::insert_category): Ditto.
7703 (view::clear_view): Set the contents label state.
7704 (create_listview): Pass in a top level category to view().
7705 * choose.h (topbucket): Make bucket available to derived classes.
7706 (pick_category_line): Add support for hidden labels, and a tree depth.
7707 Remove our second copy of bucket.
7708 (view): Pass in a top level category to the constructor.
7709 Use pick_category_line to allow three level display.
7710
7711 2001-01-06 Robert Collins <rbtcollins@hotmail.com>
7712
7713 * cygpackage.h (cygpackage): Make set_[s|l]desc virtual.
7714 * iniparse.y (add_correct_version): Copy descriptions across.
7715 * package_meta.cc (SDesc): Iterate through versions, return the first
7716 with a description.
7717 * package_version.h (packageversion): Add new virtuals set_[l|s]desc.
7718
7719 2001-01-04 Robert Collins <rbtcollins@hotmail.com>
7720
7721 * script.cc (run_script): Change cygpath:// to cygfile://.
7722 * install.cc (do_install_thread): Fix off-by-one errors.
7723
7724 2001-01-04 Robert Collins <rbtcollins@hotmail.com>
7725
7726 * package_db.cc (packagedb::flush): Fix an off-by-one error.
7727
7728 2002-01-04 Jan Nieuwenhuizen <janneke@gnu.org>
7729
7730 * Makefile.in (realclean): more clean.
7731 (OBJS): Add script.o.
7732 * postinstall.cc (run_script_in_etc_postinstall): New function.
7733 (do_postinstall): Split off new funtion init_run_script ().
7734 (init_run_script):
7735 (run):
7736 (run_script): Move to script.cc. Replace some deprecated remove
7737 and move calls.
7738 * script.h:
7739 * script.cc: New file.
7740 * Forward port cygwin-20010707.jcn3.patch.
7741 * package_meta.cc (uninstall): Run pre- and postremove scripts.
7742 * install.cc: Typo fix.
7743 (do_install): Run script initialisation.
7744
7745 2001-01-04 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
7746
7747 * cistring.cc: Run d2u.
7748 * cistring.h: Run d2u.
7749
7750 * desktop.cc (etc_profile): Remove "test -f ./.bashrc && . ./.bashrc"
7751 from the generated /etc/profile. Bash will source this file
7752 automatically, and having this here merely results in .bashrc being
7753 executed twice. Run d2u.
7754 * desktop.h: Run d2u.
7755
7756 * propsheet.cc: Run d2u.
7757 (PropSheetProc): New function. Add minimize box here instead of in
7758 PropertyPage::DialogProc.
7759 (PropSheet::Create): Change to use creation callback PropSheetProc.
7760 (DLGTEMPLATEEX): Add 'hidden' Windows struct definition.
7761
7762 * propsheet.h: Run indent, d2u.
7763 * proppage.h: Run indent, d2u.
7764
7765 * proppage.cc: Run d2u.
7766 (PropertyPage::DialogProc): Remove minimize-box-adding
7767 functionality. Remove commented-out "PropSheet_SetWizButtons" calls.
7768 Add support for calling virtual OnMessageCmd. Add setting of fonts in
7769 WM_INITDIALOG handler.
7770 (resource.h): New include for resource IDs.
7771
7772 * res.rc: Resize and rearrange property page dialog templates
7773 to bring them in line with "Microsoft's Backward Compatible Wizard 97"
7774 specification. Run d2u.
7775 (IDD_SITE): Add an edit control and an "Add" button in order to
7776 combine the IDD_SITE and IDD_OTHER_URL functionality onto one page.
7777 (IDD_OTHER_URL): Remove dialog template.
7778 (IDD_DLSTATUS): Remove dialog template.
7779
7780 * site.cc: Run d2u.
7781 (SitePage::OnBack): Remove NEXT() macro invocation.
7782 (SitePage::OnActivate): New member function.
7783 (load_dialog): Remove. Functionality subsumed into
7784 SitePage::OnActivate.
7785 (save_dialog): Change to support both list and user URLs. Remove
7786 OTHER_IDX and mirror_idx logic.
7787 (SitePage::PopulateListBox): New member function.
7788 (SitePage::CheckControlsAndDisableAccordingly): New member function.
7789 (SitePage::OnMessageCmd): New override.
7790 (check_if_enable_next): Remove.
7791 (dialog_cmd): Remove.
7792 (do_download_site_info_thread): Remove calls to NEXT() macro.
7793 (SitePage::Create): Call the single-param PropertyPage::Create
7794 overload.
7795 (other_url): New static taken from other.cc.
7796 (SitePage::OnNext): Remove mirror_idx logic.
7797 (SitePage::OnInit): Remove "Other URL" entry from list box. Remove
7798 list box populating code, now handled in SitePage::PopulateListBox.
7799 (mirror_idx, NO_IDX, OTHER_IDX): Remove.
7800 (save_site_url): Fix potential buffer overflow problem. Switched to
7801 TCHAR in grossly premature preparation for multilingual support.
7802 * site.h: Run d2u.
7803 (SitePage::OnActivate): New member function.
7804 (SitePage::CheckControlsAndDisableAccordingly) New member.
7805 (SitePage::OnMessageCmd): New override.
7806 (do_download_site_info_thread): Add MessageBox call on failure to
7807 download site list.
7808
7809 * splash.cc: Run d2u.
7810 (SplashPage::OnInit): Set the font for the title.
7811 * splash.h: Run d2u.
7812
7813 * threebar.cc: Run d2u.
7814 * threebar.h: Run d2u.
7815
7816 * window.h: Run d2u.
7817 (Window::IsButtonChecked): New member function declaration.
7818 (Window::OnMessageCmd): New member function.
7819 (Window::SetDlgItemFont): New member function declaration.
7820 (Window::MAXFONTS, Window::Fonts, Window::FontCounter): New data
7821 members.
7822 * window.cc: Run d2u.
7823 (Window::IsButtonChecked): New member function definition.
7824 (Window::SetDlgItemFont): New member function definition.
7825 (Window::Window): Add initialization for FontCounter.
7826 (Window::~Window): Delete any fonts we created.
7827
7828 * geturl.cc: Run d2u.
7829 (progress): Remove the "3" field width from the "%3d"
7830 percent-complete format indicator. Causes line to not start at
7831 beginning of text box, and does little to help with "jumping", since
7832 the "bytes downloaded so far" field is variable-width anyway. Change
7833 kb/s format field to "%03.1" to 0-pad the kb/s number in the event of
7834 painfully slow connections, or temporary slowdowns in faster
7835 connections should such more-instantaneous functionality become
7836 available.
7837
7838 * net.h: Run d2u.
7839 (NetPage::OnMessageCmd): New member function declaration.
7840 (NetPage::CheckIfEnableNext): New member function declaration.
7841 * net.cc: Run d2u.
7842 (NetPage::OnMessageCmd): New member function definition.
7843 (dialog_cmd): Remove, subsumed into NetPage::OnMessageCmd.
7844 (check_if_enable_next): Remove.
7845 (NetPage::CheckIfEnableNext): New member function, subsumes
7846 check_if_enable_next.
7847 (propsheet.h): Add include.
7848 (NetPage::Init): Add call to CheckIfEnableNext.
7849 (load_dialog): Remove call to check_if_enable_next.
7850 (NetPage::Create): Call single-template-ID-parameter overload of
7851 PropertyPage::Create instead of three-parameter one.
7852
7853 * Makefile.in (OBJS): Remove other.o.
7854 * other.cc: Remove file.
7855
7856 2002-01-01 Robert Collins <rbtcollins@hotmail.com>
7857
7858 * README: Update TODO's.
7859 * choose.cc (set_existence): Delete non installed packages with no
7860 mirrors.
7861 (fill_missing_category): Fix an off-by-one error.
7862 (default_trust): Ditto. Also delete any unused categories.
7863 (view::init_headers): Fix an off-by-one error.
7864 (set_view_mode): Ditto.
7865 (set_view_mode): Ditto.
7866 (create_listview): Ditto.
7867 (dialog_cmd): Ditto.
7868 (do_choose): Ditto.
7869 * io_stream.cc: Indent.
7870 * io_stream.h: Ditto.
7871 * package_db.cc: Ditto.
7872 * package_meta.h: Const correctness for SDesc ();
7873 * proppage.cc: Run d2u and indent.
7874 * propsheet.cc: Run d2u and indent.
7875 * window.cc: Run d2u and indent.
7876 * window.h: Run d2u and indent.
7877
7878 2001-12-28 Christopher Faylor <cgf@redhat.com>
7879
7880 * Makefile.in (iniparse.o): Accommodate newer bisons.
7881
7882 2001-12-23 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
7883
7884 * window.h (Window): New file, new class.
7885 * window.cc (Window): New file, new class.
7886
7887 * threebar.h (ThreeBarProgressPage): New file, new class.
7888 * threebar.cc (ThreeBarProgressPage): New file, new class.
7889
7890 * splash.h (SplashPage): New file, new class.
7891 * splash.cc (SplashPage): Replace file with implementation of new
7892 class.
7893
7894 * source.h (SourcePage): New file, new class.
7895 * source.cc: Run indent.
7896 (SourcePage): Add class implementation to this file.
7897 (do_source): Remove, functionality subsumed by SourcePage::Create()
7898 and SourcePage::OnDeactivate().
7899 (dialog_proc): Remove, functionality subsumed by
7900 SourcePage::OnActivate().
7901
7902 * site.h: Run indent.
7903 (SitePage): Add class declaration.
7904 * site.cc: Run indent.
7905 (SitePage): Add class implementation.
7906 (do_download_site_info_thread): New function.
7907 (context): New var. Context info for do_download_site_info_thread().
7908 (do_download_site_info): New function.
7909 (SitePage::Create, SitePage::OnInit SitePage::OnNext)
7910 (SitePage::OnBack): SitePage class implementation..
7911 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL handlers, now handled
7912 by SitePage members.
7913 (dialog_proc): Remove, now handled by SitePage::OnInit and base class
7914 functionality.
7915 (do_site): Remove, now handled by do_download_site_info_thread() and
7916 SitePage::OnNext functionality.
7917 (get_site_list): Remove dismiss_url_status_dialog() call.
7918
7919 * root.h (RootPage): New file, new class.
7920 * root.cc: Run indent.
7921 (dialog_cmd): Pass parent HWND parameter to note(), yesno().
7922 (dialog_proc): Remove.
7923 (do_root): Remove
7924 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL clauses from switch.
7925 (RootPage::OnInit): New member function. Move get_root_dir() logic to
7926 here from do_root().
7927 (RootPage::Create): New member function.
7928 (RootPage::OnNext): New member function. Move IDOK logic from
7929 dialog_cmd() to here.
7930 (RootPage::OnBack): New member function.
7931
7932 * propsheet.h (PropSheet): New file, new class.
7933 * propsheet.cc (PropSheet): New file, new class.
7934
7935 * proppage.h (PropertyPage): New file, new class.
7936 * proppage.cc (PropertyPage): New file, new class.
7937
7938 * postinstall.cc (do_postinstall): Add owner parameter.
7939
7940 * other.cc (do_other): Add owner parameter.
7941
7942 * nio-file.cc (NetIO::Purl): Pass NULL parent param to note().
7943 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Pass NULL parent param to
7944 get_ftp_auth().
7945 * nio-http.cc (retry_get): Pass NULL parent param to get_auth(),
7946 get_proxy_auth(),
7947 and get_ftp_auth().
7948 * nio-ie5.cc (NetIO::_url): Pass NULL parent param to note(),
7949 get_auth(), get_proxy_auth().
7950
7951 * netio.h (get_auth, get_proxy_auth, get_ftp_auth): Add owner param.
7952 * netio.cc (auth_common, NetIO::get_auth, NetIO::get_proxy_auth,
7953 NetIO::get_ftp_auth)
7954 (auth_common): Add owner param. Pass owner param to DialogBox.
7955 (NetIO::get_auth, NetIO::get_proxy_auth, NetIO::get_ftp_auth): Pass
7956 owner param to auth_common().
7957
7958 * net.h (NetPage): New file, new class.
7959 * net.cc: Run indent.
7960 (net.h, threebar.h): Add includes.
7961 (Progress): Add extern.
7962 (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, now handled by
7963 property sheet logic. Saved temporarily for reference.
7964 (NetPage::Create, NetPage::OnInit, NetPage::OnDeactivate,
7965 NetPage::OnNext, NetPage::OnBack):
7966 New implementation of NetPage class members.
7967 (do_net): Remove.
7968 (dialog_proc): Remove.
7969
7970 * msg.h (fatal, note, yesno): Add owner param.
7971 * msg.c (fatal, note, yesno, mbox): Add owner param.
7972 (mbox): Remove MB_TOPMOST from MessageBox call. Unnecessary and wrong
7973 now that we have a parent.
7974
7975 * main.cc: Run indent.
7976 (commctrl.h, proppage.h, propsheet.h, splash.h, source.h)
7977 (localdir.h, net.h, site.h, choose.h, threebar.h, desktop.h): Include
7978 headers.
7979 (root_dialog_proc): extern into this file.
7980 (Progress): Progress dialog defined here, used in several other files.
7981 (WinMain): Instantiate and create Splash, Source, Root, LocalDir, Net,
7982 Site, Chooser, Desktop pages and MainWindow sheet. Call
7983 InitCommonControls() to make sure Windows is set up for our use of
7984 property sheets. Add pages to sheet.
7985 Call MainWindow.Create() to "DoModal". Remove main loop, that logic is
7986 now handled by the PropSheet class.
7987 (root.h): Add include.
7988
7989 * log.cc (log_save): Pass NULL parent to fatal().
7990 (exit_setup): Pass NULL parent to note().
7991
7992 * localdir.h (LocalDirPage): New file, new class.
7993 * localdir.cc: Run indent.
7994 (localdir.h): New include.
7995 (threebar.h): New include.
7996 (Progress): extern into this file.
7997 (LocalDirPage::Create, LocalDirPage::OnInit, LocalDirPage::OnActivate)
7998 (LocalDirPage::OnNext, LocalDirPage::OnBack): Implementation of
7999 LocalDirPage.
8000 (LocalDirPage::OnNext): Move log() call from do_local_dir() to here.
8001 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL handlers.
8002 (do_local_dir): Remove.
8003 (dialog_proc): Remove.
8004 (cwd): Remove, not used by anything.
8005
8006 * install.cc: Run indent.
8007 (process.h, threebar.h): New includes.
8008 (Progress): extern into this file.
8009 (ins_dialog, ins_action, ins_pkgname, ins_filename, ins_pprogress)
8010 (ins_iprogress, ins_diskfull, init_event): Remove, now handled by
8011 ThreeBarProgressPage.
8012 (dialog_cmd, dialog_proc, dialog): Removed, handled in
8013 ThreeBarProgressPage.
8014 (init_dialog): Remove all mention of the above ins_* handles. Now
8015 handled in ThreeBarProgressPage. Altered SetWindowText()s to call
8016 ThreeBarProgressPage instance Progress directly.
8017 (progress): Alter bar update logic to call ThreeBarProgressPage
8018 instance Progress directly.
8019 (uninstall_one): Alter SetWindowText()s to call ThreeBarProgressPage
8020 instance Progress directly.
8021 (install_one_source): Alter SetWindowText()s to call
8022 ThreeBarProgressPage
8023 instance Progress directly. Pass NULL parent to note().
8024 (do_install_thread): Rename from do_install(), added owner param.
8025 Alter SetWindowText()s to call ThreeBarProgressPage instance Progress
8026 directly.
8027 Remove dismiss_url_status_dialog() call, no longer necessary. Remove
8028 ShowWindow(<hide>) call, also unnecessary now. Pass owner handle to
8029 fatal().
8030 (do_install_reflector): New function.
8031 (do_install): New function.
8032
8033 * ini.cc (process.h, threebar.h): New includes.
8034 (Progress): externed into this file.
8035 (find_routine): Pass NULL parent to note().
8036 (do_local_ini): Add owner param.
8037 (do_remote_ini): Add owner param. Pass owner to get_url_to_membuf()
8038 and note(). Remove call to dismiss_url_status_dialog().
8039 (do_ini_thread): Rename from do_ini(). Add owner param. Pass owner to
8040 do_local_ini(), do_remote_ini(), yesno(), and note(). Set next_dialog
8041 to IDD_CHOOSER on exit.
8042 (do_ini_thread_reflector): New function.
8043 (context): New var. Context for do_ini_thread.
8044 (do_ini): New function.
8045
8046 * geturl.h (get_url_to_membuf, get_url_to_string, get_url_to_file): Add
8047 owner param.
8048 * geturl.cc (gw_dialog, gw_url, gw_rate, gw_progress, gw_pprogress,
8049 gw_iprogress)
8050 (gw_progress_text, gw_pprogress_text, gw_iprogress_text, init_event):
8051 Removed.
8052 (threebar.h): New include.
8053 (Progress): externed into this file.
8054 (dialog_cmd, dialog_proc, dialog): Removed, handled by
8055 ThreeBarProgressPage now.
8056 (init_dialog): Remove "if (gw_dialog == 0)" clause. Alter
8057 SetWindowText()s
8058 and bar setting SendMessage()s to call ThreeBarProgressPage instance
8059 Progress directly. Remove "one bar only" logic, this is now handled
8060 explicitly in the ThreeBarProgressPage class.
8061 (progress): Altered bar and text update logic to call
8062 ThreeBarProgressPage instance Progress directly. Changed kbps
8063 calculation to floating point and now print out a single decimal
8064 place.
8065 (get_url_to_membuf): Add owner param. Pass it to init_dialog.
8066 (get_url_to_string): Add owner param. Pass it to get_url_to_membuf.
8067 (get_url_to_file): Add owner param. Pass it to init_dialog. Alter bar
8068 update logic to call ThreeBarProgressPage instance Progress directly.
8069 (dismiss_url_status_dialog): Remove.
8070
8071 * fromcwd.cc (do_fromcwd): Add owner param. Initialize found_ini to
8072 false, was true.
8073
8074 * download.cc: Run indent.
8075 (process.h, threebar.h): New includes.
8076 (Progress): externed into this file.
8077 (download_one): Add owner param. Pass it to get_url_to_file().
8078 (do_download_thread): Renamed from do_download. Add owner param. When
8079 calculating total_download_bytes, take binpicked and srcpicked into
8080 account. Remove call to dismiss_url_status_dialog(), no longer needed.
8081 Pass owner handle to download_one() and yesno().
8082 (do_download_reflector, do_download): New functions.
8083 (context): New var. Context for do_download_thread().
8084
8085 * dialog.h (D(x)): Add owner param.
8086
8087 * desktop.h (DesktopSetupPage): New file, new class.
8088 * desktop.cc: Run indent.
8089 (desktop.h): Add include.
8090 (dialog_proc, do_desktop): Remove, now handled in
8091 DesktopSetupPage::OnInit().
8092 (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, handled in
8093 DesktopSetupPage::OnFinish(), DesktopSetupPage::OnBack(), and PropSheet
8094 resp.
8095 (DesktopSetupPage::Create, DesktopSetupPage::OnInit)
8096 (DesktopSetupPage::OnBack, DesktopSetupPage::OnFinish): Implementation
8097 of DesktopSetupPage.
8098
8099 * cistring.h: New file, new class.
8100 * cistring.cc: New file, new class.
8101
8102 * choose.h: Run indent.
8103 (Chooser): New class declaration.
8104 * choose.cc: Run indent.
8105 (do_choose): Add owner param. Pass it to DialogBox() and
8106 fatal().
8107 (Chooser): New class implementation.
8108
8109 * res.rc (IDS_VERSION_INFO): New string.
8110 (IDD_SOURCE, IDD_LOCAL_DIR, IDD_ROOT, IDD_SITE, IDD_OTHER_URL)
8111 (IDD_DLSTATUS, IDD_INSTATUS, IDD_SPLASH, IDD_CHOOSE, IDD_DESKTOP):
8112 Change WS_POPUP to WS_CHILD. Numerous positioning/size changes
8113 throughout.
8114 (IDD_CHOOSE): Give template the WS_EX_CONTROLPARENT style to enable
8115 TAB control navigation etc. Give the controls a reasonable tab order.
8116 Grouped radio buttons. Something's still not right, can't tab away
8117 from back/next/cancel group reliably.
8118 * resource.h (IDD_CHOOSER): New dialog ID.
8119
8120 * Makefile.in (OBJS): Add cistring.o, proppage.o, propsheet.o,
8121 threebar.o, and window.o.
8122
8123 2001-12-21 Robert Collins <rbtcollins@hotmail.com>
8124
8125 * choose.cc (listview_proc): Update the scrollbar when the headers are
8126 dragged.
8127 (pick_pkg_line::paint): Clip columns to prevent overlap.
8128
8129 2001-12-20 Robert Collins <rbtcollins@hotmail.com>
8130
8131 * Makefile.in: Add libcomctl32.a for setup.exe.
8132 * archive.h (archive): Prevent non-child direct creation of the class.
8133 * archive_tar.h (archive_tar): Prevent inaccurate synthetic copy and
8134 assignment.
8135 * choose.cc: Include commctrl for the choose header.
8136 (NEW_COL_SIZE_SLOP): Define without magic numbers.
8137 (pkgtrustp): Convert to function.
8138 (set_action): Remove.
8139 (add_required, fill_missing_category,default_trust): Use list syntax for
8140 package list.
8141 Use new set_action.
8142 (choose_caption): Remove.
8143 (topbucket::paint): New method.
8144 (topbucket::empty): Ditto.
8145 (topbucket::click): Ditto.
8146 (topbucket::~topbucket): Ditto.
8147 (paint): Remove i,ii and p as they are obsolete.
8148 Remove header drawing code.
8149 Use new chooser method to paint the chooser.
8150 Use new chooser itemcount method.
8151 (scroll_common): Rename to view::scroll.
8152 Scroll the header window separately.
8153 (list_vscroll, list_hscroll, list_click): Update for new chooser
8154 methods.
8155 (listview_proc): Look for header messages.
8156 (note_width): Accept stringless calls.
8157 (pick_line::set_line): Remove.
8158 (pick_line::paint): Remove.
8159 (pick_pkg_line::paint): Paint this one line, using the header column
8160 widths.
8161 (pick_category_line::paint): Paint this category, and anything in the
8162 bucket.
8163 (pick_line::click): Remove.
8164 (pick_pkg_line::click): Handle a click.
8165 (pick_category_line::click): Handle a click.
8166 (_view): Rename all to view.
8167 (view::view): Initialise the control contents.
8168 (view::set_headers): Work with the header control.
8169 (view::init_headers): Use list syntax for package list.
8170 Rearrange the width logic a little.
8171 (view::insert_pkg): Update to use the hierarchy.
8172 (view::insert_category): Ditto.
8173 (view::insert_at, view::insert_under): Remove.
8174 (view::clear_view): Update to use the hierarchy.
8175 (view::click): Update to use the hierarchy.
8176 (set_view_mode): Use list syntax for package list.
8177 Update for new chooser methods.
8178 (DoInsertItem): New helper function. (Needs a home somewhere).
8179 (create_listview): Remove choose control code and use the constructor
8180 instead.
8181 (dialog_cmd,scan2,do_choose): Use list syntax for package list.
8182 * choose.h: Include newly required headers list and package_meta.
8183 (_voew): Rename to view.
8184 (pick_line): Convert to an ABC.
8185 (pick_pkg_line): New class.
8186 (pick_catgory_line): New class.
8187 (topbucket): New class.
8188 (view::scroll): New method created from listview_scroll function.
8189 * desktop.cc (make_passwd_group): Use list syntax for package list.
8190 * download.cc (do_download): Use list syntax for package list.
8191 * fromcwd.cc (found_file): Use list syntax for package list.
8192 * iniparse.y (pacakges): Use list syntax for package list.
8193 * install.cc (uninstall_one): Use list syntax for package list.
8194 (do_install): Use list syntax for package list.
8195 * io_stream.h (io_stream): Prevent non-child direct creation of the
8196 class.
8197 Prevent inaccurate synthetic copy and assignment.
8198 * list.h: Include required header stdlib.
8199 Work on const correctness.
8200 * package_db.cc (packagedb::getpackagebyname): Remove.
8201 (packagedb::packagedb): Remove custom list code, and make db a local.
8202 (packagedb::getfirstpackage): Remove.
8203 (packagedb::getnextpackage): Remove.
8204 (packagedb::addpackage): Remove.
8205 (flush): Remove custom list code.
8206 (packagedb::registerpackage): Remove.
8207 (packagedb::packages): New static member.
8208 (packagedb::task): New static member.
8209 * package_db.h (PackageDBActions): New enum.
8210 (packagedb): Remove getfirstpackage, getnextpackage, getpackagebyname,
8211 addpackage, registerpackage, packages, packagecount, curr_package, db.
8212 Add packages, task.
8213 * pacakge_meta.cc: Include package_db.h.
8214 (packagemeta::action_caption): New method.
8215 (packagemeta::set_action): New method.
8216 * package_meta.h (CategoryPackage): Initialise key.
8217 (packagemeta): Initialise key.
8218 Add set_action and action_caption methods.
8219 Prevent inaccurate synthetic copy and assignment.
8220 * resource.h (IDC_CHOOSE_LISTHEADER): New ID.
8221 * source.cc: Include package_db for db manipulation.
8222 (save_dialog): Set the db task.
8223 * win32.h: Tell the w32 include headers what IE version to
8224 expect/require.
8225
8226 2001-12-06 Robert Collins <rbtcollins@hotmail.com>
8227
8228 * README: Wishlist updates.
8229
8230 2001-12-04 Robert Collins <rbtcollins@hotmail.com>
8231
8232 * package_db.cc (getnextpackage): Don't overrun the array.
8233
8234 2001-12-04 Robert Collins <rbtcollins@hotmail.com>
8235
8236 * Makefile.in (OBJS): Add setup_version.o.
8237 (version.c): Rename to setup_version.
8238 * choose.cc (set_action): Prevent NULL pointer dereference.
8239 (package_sort): Remove.
8240 * fromcwd.cc (canonicalize_version): Moved to version.cc.
8241 (check_ini): New function for use with find to see if there is a cached
8242 setup.ini.
8243 (do_fromcwd): Check for a cached setup.ini from any mirror site.
8244 * ini.cc (find_routine): New function, for finding cached setup.ini's.
8245 (do_local_ini): New function, drives parsing of local ini's.
8246 (do_remote_ini): New function, drives parsing and caching of remote
8247 ini's.
8248 (do_ini): Move guts to do_remote_ini and do_local_ini.
8249 * list.h (removebyindex): New method.
8250 * other.cc (save_dialog): Use new site_list and all_site_list to add the
8251 new site to the site picklist.
8252 (dialog_cmd): Only save the dialog when exiting the dialog.
8253 * res.rc (IDD_SITE): Make IDC_URL_LIST a multiple-selection control.
8254 * site.cc (site_list_type): Move to site.h
8255 (site_list): New global, sites chosen by the user.
8256 (all_site_list): New global, all potential sites.
8257 (site_list_type::init): New method, parses a mirror.lst URL string into
8258 a site_list_type object.
8259 (site_list_type::site_list_type): New method.
8260 (check_if_enable_next): Examine the control, not a local variable.
8261 (load_dialog): Select all the user chosen sites by default.
8262 (save_dialog): Adjust for multiple selection semantics.
8263 (save_site_url): Save all user chosen sites.
8264 (dialog_cmd): Don't save the dialog when the listbox recieves a message
8265 - thats not needed.
8266 Remove obsolete other_url reference.
8267 (dialog_proc): Use all_site_list instead of site_list.
8268 (site_sort): Remove.
8269 (get_site_list): Remove malloc use - use list template instead.
8270 Move site_list_type initialisation to site_list_type::init().
8271 (get_initial_list_idx): Renamed to ...
8272 (get_saved_sites): this. Also read in multiple sites to the site_list.
8273 (do_site): Use all_site_list not site_list.
8274 Log all chosen sites.
8275 * site.h: New file, defines site related class, functions and variables.
8276 * state.h: Add comment about use of state.h
8277 (mirror_site): Remove.
8278 (other_url): Remove.
8279 (MIRROR_SITE): Remove.
8280 * version.cc: New file, for version-handling and related functions.
8281
8282 2001-12-02 Robert Collins <rbtcollins@hotmail.com>
8283
8284 * Makefile.in: Add filemanip.o to setup.
8285 * archive.cc (archive::extract_file): Use new io_stream method 'copy'.
8286 * archive_tar.h (archive_tar_file): Implement get_size virtual.
8287 (archive_tar): Ditto.
8288 * choose.cc (set_action): Use [] operator instead of getnth - its more
8289 readable.
8290 (paint): Ditto.
8291 (_view::init_headers): Ditto.
8292 (_view::insert_pkg): Ditto.
8293 (set_view_mode): Ditto.
8294 (scan2): Ditto.
8295 (do_choose): Ditto.
8296 (base): Moved to filemanip.cc.
8297 (find_tar_ext): Ditto.
8298 (parse_filename): Ditto.
8299 (_Info::_Info): Remove.
8300 * compress_bz.h (compress_bz): Implement get_size virtual.
8301 * compress_gz.h (compress_gz): Implement get_size virtual.
8302 * cygpackage.cc (cygpackage::destroy): Use array delete for char *
8303 objects.
8304 * download.cc (get_file_size): Move to filemanip.cc.
8305 (check_for_cached): Use [] operator instead of getnth - its more
8306 readable.
8307 (download_one): Ditto.
8308 * filemanip.cc: New file.
8309 * geturl.cc (init_dialog): Make url a pointer to const as it is not
8310 modified.
8311 (get_url_to_membuf): New function - contains get_url_to_string worker
8312 code.
8313 (get_url_to_string): Becomes a trivial wrapper to get_url_to_membuf.
8314 * geturl.h: Declare new prototype.
8315 * ini.cc (do_ini): Use get_url_to_membuf and pass ini_init an io_stream.
8316 Tidy up the error code a little.
8317 * ini.h: Remove __cplusplus protection for ini_init.
8318 (_Info): Remove.
8319 * inilex.l: Remove old globals.
8320 (ini_init): Use an io_stream for getting the characters.
8321 (ini_getchar): Ditto.
8322 * iniparse.y: Declare yylex as a C++ function.
8323 (add_correct_version): Use [] operator instead of getnth - its more
8324 readable.
8325 * io_stream.cc (io_stream::move_copy): Use the copy method.
8326 (io_stream::copy): New method to simply copy from one stream to another.
8327 * io_stream.h (io_stream): New static method copy, and virtual method
8328 get_size.
8329 * io_stream_cygfile.cc (io_stream_cygfile::get_size): Implement this.
8330 * io_stream_cygfile.h (io_stream_cygfile::get_size): Declare this.
8331 * io_stream_file.cc (io_stream_file::get_size): Implement this.
8332 * io_stream_file.h (io_stream_file::get_size): Declare this.
8333 * io_stream_memory.h: Include errno as it's neded to parse the header.
8334 (io_stream_memory::get_size): Implement this.
8335 (io_stream_memory::st_size): Delete this.
8336 * list.h: Change getnth into the [] operator.
8337 * netio.cc (NetIO::NetIO): Change prototype to reflect Purl not being
8338 modified.
8339 (NetIO::set_url): Ditto.
8340 (NetIO::open): Ditto.
8341 * netio.h: As for netio.cc.
8342 * nio-file.cc (NetIO_File::NetIO_File): Change prototype to reflect
8343 Purl not being modified.
8344 * nio-file.h: Ditto.
8345 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Ditto.
8346 * nio-ftp.h (NetIO_FTP::NetIO_FTP): Ditto.
8347 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Ditto.
8348 * nio-http.h (NetIO_HTTP::NetIO_HTTP): Ditto.
8349 * nio-i5.cc (NetIO_IE5::NetIO_IE5): Ditto.
8350 * nio-i5.h (NetIO_IE5::NetIO_IE5): Ditto.
8351 * package_meta.cc (packagemeta::~packagemeta): Bugfix: use array delete.
8352 * package_source.cc (packagesource::set_canonical): Ditto.
8353 (packagesource::set_cached): Ditto.
8354 * package_source.h (site::~site): Ditto.
8355 * site.cc: Change site_list_type to a class, and search and replace
8356 sort_key to key globally.
8357
8358 2001-12-01 Robert Collins <rbtcollins@hotmail.com>
8359
8360 * package_source.cc (packagesource::set_canonical): Filename was out by
8361 one.
8362
8363 2001-11-30 Robert Collins <rbtcollins@hotmail.com>
8364
8365 * Makefile.in (OBJS): Remove category_list - it's not needed.
8366 * README: More wishlist updates.
8367 * category.cc (Category::Category): Initialise new members.
8368 (Categorycmp): New function.
8369 * category.h (Category): New member key for template use.
8370 * category_list.cc: Remove.
8371 * category_list.h: Remove.
8372 (Categorycmp): New function prototype.
8373 * choose.cc: Remove category_list - not needed.
8374 (set_action): Only show the 'source' option when the source is actually
8375 available.
8376 (add_required): Fix recursion limiter to 5.
8377 (fill_missing_category): Use list access.
8378 (default_trust): Ditto.
8379 (pick_line::paint): Ditto.
8380 (_view::init_headers): Ditto.
8381 (_view::insert_pkg): Ditto.
8382 (_view::insert_category): Ditto.
8383 (_view::click): Ditto.
8384 (set_view_mode): Ditto.
8385 (do_choose): Ditto.
8386 * cygpackage.h: Remove category_list - not needed.
8387 * geturl.cc (get_url_to_string): Fix null byte insertion.
8388 * inipatse.y: Remove category_list - not needed.
8389 (categories): Use list access.
8390 * package_db.cc: Ditto.
8391 * package_db.h: Remove category_list - not needed.
8392 (packagedb): Use the list template for categories.
8393 * package_meta.cc (add_category): Ditto.
8394 * package_meta.h (CategoryPackage): Link to the category as well.
8395 (packagemeta): Use a list of CategoryPackages instead of Categories
8396 for more memory efficient cross-referencing.
8397
8398 2001-11-30 Robert Collins <rbtcollins@hotmail.com>
8399
8400 * package_db.cc (packagedb::flush): Write a canonical version for all
8401 packages irrespective of the media they were installed from.
8402
8403 2001-11-29 Robert Collins <rbtcollins@hotmail.com>
8404
8405 * Makefile.in (OBJS): Add package_source and rfc1738.
8406 * README: Wishlist update.
8407 * category_list.cc (register_category): Use references.
8408 * category_list.h (CategoryList): Ditto.
8409 * choose.cc (isinstalled): Remove.
8410 (pkgtrustp): New macro.
8411 (set_action): Use packagemeta.
8412 (add_required): Ditto.
8413 (choose_caption): Example package to choose caption, rather than state
8414 flags.
8415 (check_existence): Remove.
8416 (set_existence): Remove old code.
8417 (fill_missing_category): Use packagemeta.
8418 (keep_or_skip): Remove.
8419 (default_trust): Use packagemeta and set trust values directly.
8420 (pick_line::set_line): Use packagemeta.
8421 (_view::insert_pkg): Ditto.
8422 (_view::insert_category): Ditto.
8423 (_view::click): Ditto.
8424 (set_view_mode): Ditto. Also remove "exclude" code.
8425 (create_listview): Use packagemeta.
8426 (dialog_cmd): Ditto.
8427 (getpkgbyname): Remove
8428 (scan2): Use packagemeta. Temporarily comment out the holefinding code.
8429 (read_installed_db): Remove.
8430 (package_sort): Use packagemeta.
8431 (do_choose): Use packagemeta. Don't sort the packages - the db does
8432 that.
8433 * choose.h: Use packagemeta.
8434 * cygpackage.cc (cygpackage::cygpackage): Initialise all variables.
8435 (cygpackage::cygpackage): Ditto.
8436 (cygpackage::set_canonical_version): Copy the passed string.
8437 (cygpackage::~cygpackage): Move cleanup code to destroy().
8438 (cygpackage::destroy): New function.
8439 (cygpackage::getfirstfile): Use a separate buffer.
8440 (cygpackage::getnextfile): Ditto.
8441 (cygpackage::Canonical_version): New function.
8442 (cygpackage::set_sdesc): Ditto.
8443 (cygpackage::set_ldesc): Ditto.
8444 * cygpackage.h (cygpackage::Canonical_version): New method.
8445 (cygpackage::set_sdesc): New method.
8446 (cygpackage::set_ldesc): New method.
8447 (cygpackage::SDesc): New method.
8448 (cygpackage::LDesc): New method.
8449 (cygpackage::set_canonical_version): New method.
8450 * desktop.cc: Include packagedb headers.
8451 (make_password_group): Use packagemeta.
8452 * download.cc: Include packagedb headers.
8453 (check_for_cached): New method to find any cached file and fill out the
8454 database info.
8455 (download_one): Take a packagesource, support multiple mirrors.
8456 (do_download): Use packagemeta.
8457 * from cwd.cc: Include packagedb headers.
8458 (found_file): Use packagemeta.
8459 * ini.cc (do_ini): Beginning of multiple-mirror support.
8460 * ini.h (CategoryPackage): Remove.
8461 (Dependency): Remove.
8462 (Package): Remove.
8463 (new_package,getpkgbyname,getpackagecategorybyname,add_category):
8464 Remove.
8465 * inilex.l: Support multiple mirrors.
8466 * iniparse.y: Include packagedb headers.
8467 (parser): Use packagemeta.
8468 (new_package): Remove.
8469 (add_correct_version): New function.
8470 (new_requirement): Remove.
8471 (add_category): Remove.
8472 * install.cc (uninstall_one): Use packagemeta.
8473 (install_one_source): New function.
8474 (install_one): Use packagemeta.
8475 (do_install): Use packagemeta.
8476 * io_stream.cc (io_stream::move): Bugfix on move/copy case.
8477 * io_stream_cygfile.cc (io-stream_cygfile::set_mtime): Do not reopen the
8478 file after setting the mtime, it makes no sense, and results in 0 length
8479 files.
8480 * io_stream_file.cc (io-stream_file::set_mtime): Ditto.
8481 * list.h: New file, template class for a form of list.
8482 * package_db.cc (packagedb::registerpackage): New function.
8483 * package_db.h (packagedb::npackages ()): New method.
8484 * package_meta.cc (packagemeta::add_version): Use list template.
8485 (packagemeta::set_installed): Ditto.
8486 (packagemeta::add_category): New method.
8487 * package_meta.h: Include necessary headers to parse the class.
8488 (CategoryPackage): New class.
8489 (packagemeta): Initialise all members.
8490 (packagemeta::SDesc): New method.
8491 (packagemeta::Categories): New method.
8492 (packagemeta::add_category): Ditto.
8493 (packagemeta::versions): Change to be a list instance.
8494 * package_source.cc (packagesource::set_canonical): New method.
8495 (packagesource::set_cached): New method.
8496 * package_source.h: Include necessary headers to parse the class.
8497 (site): New class.
8498 (packagesource::packagesource): Initialize all members.
8499 (packagesource): Make this class non-abstract.
8500 * package_version.cc (packageversion::packageversion): New method.
8501 * package_version.h (Dependency): New class.
8502 (packageversion::Canonical_vesion): New method.
8503 (packageversion::SDesc): New method.
8504 (packageversion::LDesc): New method.
8505 (packageversion::new_requirement): Ditto.
8506 (packageversion::srcpicked, binpicked): What to install.
8507 (packageversion::src, bin): Installation source data.
8508 * rfc1738.cc: New file. Escapes special characters in URL's.
8509 * rfc1738.h: Ditto.
8510
8511 2001-11-26 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
8512
8513 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Stop header parsing when
8514 SimpleSocket::gets() returns a zero-length string, so that we
8515 don't end up eating the entire stream thinking it's all header info.
8516
8517 2001-11-23 Robert Collins <rbtcollins@hotmail.com>
8518
8519 * install.cc (badrename): Remove.
8520 (do_install): Use packagedb flush method to write
8521 /etc/setup/installed.db.
8522 * io_stream.cc (io_stream::move_copy): New method.
8523 (io_stream::move): New method.
8524 * io_stream.h (io_stream): New methods move and move_copy.
8525 * io_stream_cygfile.cc (io_stream_cygfile::move): New method.
8526 * io_stream_cygfile.h (io_stream_cygfile): New method move.
8527 * io_stream_file.cc (io_stream_file::move): New method.
8528 * io_stream_file.h (io_stream_file): New method move.
8529 * package_db.cc (packagedb::flush): New method.
8530 * package_db.h (packagedb): New method flush.
8531
8532 2001-11-23 Robert Collins <rbtcollins@hotmail.com>
8533
8534 * Makefile.in (OBJS): Add package_version.
8535 * ategory.cc (Category::Category): Update constructors.
8536 * category_list.cc (CategoryList::register_category): Insert correctly.
8537 * choose.cc: Include package_version.h, not package.h.
8538 * cygpackage.cc: Ditto.
8539 (cygpackage::uninstall): New method.
8540 * cygpackage.h (cygpackage): Rename genericpackage to packageversion.
8541 New method uninstall.
8542 * hash.cc (add, has, enumerate): Change prototype to be accurate.
8543 * hash.h (hash): Change prototypes to be accurate.
8544 * ini.h (_Info): New parameterless constructor.
8545 (CategoryPackage): New constructor.
8546 (Package): Ditto.
8547 * install.cc: Don't include unneeded headers.
8548 Include package database headers.
8549 (hash::add_subdirs): Remove.
8550 (uninstall_one): Use packagemeta->uninstall to perform the
8551 uninstallation. Don't uninstall source packages.
8552 (do_install): Just can uninstall_one once as we ignore source packages
8553 now. Don't copy the installed.old database accross, instead iterate
8554 through the packagedb packages list and write the installed packages
8555 out.
8556 * package_db.cc: Include package_version.h, not package.h.
8557 (packagedb::packagedb): Never let db be undefined.
8558 Record the installation filename, so we can reconstruct installed.db.
8559 (packagedb::addpackage): Insert packages in alpha sorted order.
8560 (packagedb::categories): Initialise correctly.
8561 * package_meta.cc: Include win32 and mount headers as a workaround to
8562 current io_stream limitations. Include a TODO about that.
8563 (standard_dirs): New, from install.cc.
8564 (hash::add_subdirs): New, from install.cc.
8565 (packagemeta::set_installed): Rename genericpackage to packageversion.
8566 (packagemeta::uninstall): New method.
8567 * package_meta.h: Rename genericpackage to packageversion.
8568 (packagemeta): Update constructor.
8569 (add_version, set_installed): Rename genericpackage to packageversion.
8570 (uninstall): New method.
8571 (installed_from): New member.
8572 * package_source.cc: New file.
8573 * package_source.h: New file.
8574 * package_version.cc: New file.
8575 * package_version.h: New file.
8576 * package.cc: Removed.
8577 * package.h: Removed.
8578
8579 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
8580
8581 * Makefile.in (OBJS): Add category.o and category_list.o.
8582 * category.h: New file.
8583 * category.cc: New file.
8584 * category_list.h: New file.
8585 * category_list.cc: New file.
8586 * choose.cc: Include category headers.
8587 (fill_missing_category): Use package_db to access global categories.
8588 (_view::insert_pkg): Ditto.
8589 (_view::insert_category): Ditto.
8590 (set_view_mode): Ditto.
8591 (getcategorybyname): Remove.
8592 * cygpackage.h: Include category_list.h to parse this correctly.
8593 (cygpackage): New virtual &Categories.
8594 * ini.h (_CategoryPackage): More C to C++ conversion.
8595 (Category): Remove.
8596 (getcategorybyname): Remove.
8597 (register_category): Remove.
8598 * iniparse.y: Include package db and category headers.
8599 (categories): Use package_db to access global categories.
8600 (category): Remove.
8601 (ncategories): Remove.
8602 (register_category): Remove.
8603 * package.h: New virtual &Categories.
8604 * package_db.cc (packagedb::packagedb): Don't read the installed db
8605 twice.
8606 (packagedb::categories): Declare.
8607 * package_db.h (packagedb): New member categories for global categories
8608 list.
8609
8610 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
8611
8612 * choose.h: Don't include ini.h
8613 * ini.h: Allow pure c++ in the header file.
8614
8615 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
8616
8617 * install.cc (do_install): Write a version 2 installed.db file.
8618 * package_db.cc (packagedb::packagedb): Read version 1 and 2
8619 installed.db files.
8620
8621 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
8622
8623 * Makefile.in (OBJS): Add package abstraction objects.
8624 * choose.cc: Include package abstraction headers.
8625 (read_installed_db): Use packagedb class and ignore installed sources.
8626 * cygpackage.cc: New file.
8627 * cygpackage.h: New file.
8628 * filemanip.h (get_file_size): Use unixy types.
8629 * package.h: New file.
8630 * package.cc: New file.
8631 * package_db.cc: New file.
8632 * package_db.h: New file.
8633 * package_meta.cc: New file.
8634 * package_meta.h: New file.
8635
8636 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
8637
8638 * REAME: Updates to wishlist.
8639
8640 2001-11-16 Robert Collins <rbtcollins@hotmail.com>
8641
8642 * README: Updated and added my list of wishlist and todo items.
8643
8644 2001-11-14 Robert Collins <rbtcollins@hotmail.com>
8645
8646 * Makefile.in (OBJS): Include io_stream_memory in setup.exe.
8647 * archive_tar.cc (archive_tar::write): New prototype.
8648 (archive_tar::seek): New method.
8649 * archive.h (archive_tar_file): Update write() and add seek().
8650 (archive_tar): Ditto.
8651 * archive_tar_file.cc (archive_tar_file::write): New prototype.
8652 (archive_tar_file::seek): New method.
8653 * compress_bz.cc (compress_bz::write): New prototype.
8654 (compress_bz::seek): New function.
8655 * compress_bz.h (compress_bz): Update write() and add seek().
8656 * compress_gz.cc (compress_gz::write): New prototype.
8657 (compress_gz::seek): New function.
8658 * compress_gz.h (compress_gz): Update write() and add seek().
8659 * geturl.cc: Include io_stream headers.
8660 (GUBuf): Remove.
8661 (get_url_to_string): Use a io_stream_memory buffer instead of GUBuf.
8662 * io_stream.h (io_stream_seek_t): New enum.
8663 (io_stream): Update write() and add seek().
8664 * io_stream_cygfile.cc (io_stream_cygfile::write): New prototype.
8665 (io_stream_cygfile::seek): New function.
8666 * io_stream_cygfile.h (io_stream_cygfile): Update write() and add
8667 seek().
8668 * io_stream_file.cc (io_stream_file::write): New prototype.
8669 (io_stream_file::seek): New function.
8670 * io_stream_file.h (io_stream_file): Update write() and add seek().
8671
8672 2001-11-13 Brian Keener <bkeener@thesoftwaresource.com>
8673
8674 * localdir.cc: Add headers unistd.h and port.h.
8675 (save_local_dir): Expand search logic to include local directory for
8676 location of file last-cache.
8677 (dialog_cmd): Skip IDD_ROOT when downloading and use Back button.
8678 (do_local_dir): Expand search logic to include local directory for file
8679 last-cache.
8680 * res.rc (IDD_CHOOSE_DIALOG): Add hotkey to View button.
8681 * Source.cc (dialog_cmd): Skip IDD_ROOT if select Download from
8682 Internet.
8683 (do_source): Default to Install from Internet on first entry or
8684 previous selection if backing up from IDD_ROOT or IDD_LOCAL_DIR.
8685
8686 2001-11-13 Robert Collins <rbtcollins@hotmail.com>
8687
8688 * choose.cc (find_tar_ext): Only match at the end of the string.
8689 (getpkgbyname): Prevent NULL pointer dereference.
8690
8691 2001-11-13 Robert Collins <rbtcollins@hotmail.com>
8692
8693 * Makefile.in (CFLAGS): Add warnings and -Werr.
8694 (WARNONLY_FLAGS): For sources that produce (harmless) errors no matter
8695 what.
8696 (OBJS): Add io_stream class' objects.
8697 (autoload.o): Use WARNONLY_FLAGS.
8698 (inilex.o): Ditto.
8699 (iniparse.o): Ditto.
8700 * archive.cc: New file.
8701 * archive.h: New file.
8702 * archive_tar.cc: New file.
8703 * archive_tar.h: New file.
8704 * archive_tar_file.cc: New file.
8705 * autoload.c: Fix compiler warnings (unused, deprecated conversion).
8706 * choose.cc: Use io_stream.h, not mount.h.
8707 Run indent.
8708 (find_tar_ext): Rewritten to use strstr, and to accept .tar as an
8709 extension.
8710 (read_installed_db): Use io_streams.
8711 * choose.h: Run indent.
8712 * compress.cc: New file.
8713 * compress.h: New file.
8714 * compress_bz.cc: New file.
8715 * compress_bz.h: New file.
8716 * compress_gz.cc: New file.
8717 * compress_gz.h: New file.
8718 * concat.cc: Run indent.
8719 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8720 * concat.h: Run indent.
8721 * desktop.cc: Run indent.
8722 Include mklink2.h rather than redefining by hand.
8723 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8724 (etc_profile): Fix compiler warning (deprecated conversion).
8725 (make_link): Fix compiler warning (deprecated conversion).
8726 Tidy up use of args variable - consolidate into argbuf.
8727 (start_menu): Fix compiler warning (deprecated conversion).
8728 (desktop_icon): Fix compiler warning (deprecated conversion).
8729 (make_etc_profile): Fix compiler warning (deprecated conversion).
8730 (uexists): Fix compiler warning (deprecated conversion).
8731 (check_desktop): Fix compiler warning (deprecated conversion).
8732 (check_startmenu): Fix compiler warning (deprecated conversion).
8733 * dialog.cc: Run indent.
8734 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8735 (fatal): Fix compiler warning (deprecated conversion).
8736 * dialog.h: Run indent.
8737 * diskfull.cc: Run indent.
8738 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8739 * download.cc: Run indent.
8740 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8741 (download_one): Fix compiler warning (signed vs unsigned comparison).
8742 * filemanip.h: Run indent.
8743 * find.cc: Run indent.
8744 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8745 (find): Fix compiler warning (deprecated conversion).
8746 * find.h: Run indent.
8747 * fromcwd.cc: Run indent.
8748 * geturl.cc: Run indent.
8749 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8750 (dialog_cmd): Return a value.
8751 (dialog_proc): Remove unused variables.
8752 Return a value.
8753 (get_url_to_file): Fix compiler warning (deprecated conversion).
8754 * geturl.h: Run indent.
8755 * hash.cc: Run indent.
8756 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8757 * hash.h: Run indent.
8758 * ini.cc: Run indent.
8759 Use io_streams.
8760 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8761 (do_ini): Use io_streams for local io.
8762 * ini.h: Run indent.
8763 * inilex.l (ignore_line): Fix compiler warning (is not a prototype).
8764 Fix compiler warning (brackets for truth assignment).
8765 * install.cc: Run indent.
8766 Fix compiler warning (/* in comment).
8767 Use io_streams.
8768 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8769 (dialog_cmd): Return a value.
8770 (dialog_proc): Return a value.
8771 (start_tics): Deleted - was unused.
8772 (badrename): Fix compiler warnings (unused, deprecated conversion).
8773 (standard_dirs): Fix compiler warning (deprecated conversion).
8774 (exists): Remove.
8775 (uninstall_one): Convert to io_streams.
8776 (install_one): Convert to io_streams.
8777 (do_install): Convert to io_streans.
8778 Fix compiler warning (deprecated conversion).
8779 * io_stream.cc: New file.
8780 * io_stream.h: New file.
8781 * io_stream_cygfile.cc: New file.
8782 * io_stream_cygfile.h: New file.
8783 * io_stream_file.cc: New file.
8784 * io_stream_file.h: New file.
8785 * localdir.cc: Run indent.
8786 Use io_streams.
8787 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8788 (get_root_dir_now): Remove.
8789 (save_local_dir): Convert to io_streams.
8790 (dialog_cmd): Return a value.
8791 (do_local_dir): Convert to io_streams.
8792 (log.cc): Run indent.
8793 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8794 (log): Fix compiler warning (deprecated conversion).
8795 (log_save): Fix compiler warning (deprecated conversion).
8796 * log.h: Run indent.
8797 (log): Fix compiler warning (deprecated conversion).
8798 (log_save): Fix compiler warning (deprecated conversion).
8799 * main.cc: Run indent.
8800 Don't include "netio.h".
8801 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8802 (netio_test): Remove.
8803 (sid_auth): Fix compiler warning (partially bracketed initialiser).
8804 (WinMain): Return a value.
8805 * mkdir.cc: Run indent.
8806 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8807 * mklink2.c: Run indent.
8808 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8809 (mkcygsymlink): New function.
8810 * mklink2.h: New file.
8811 * mount.cc: Run indent.
8812 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8813 (create_mount): Remove unused variables.
8814 (cygpath): Fix compiler warning (signed vs unsigned comparison).
8815 * mount.h: Run indent.
8816 * msg.cc: Run indent.
8817 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8818 (msg): Fix compiler warning (deprecated conversion).
8819 (mbox): Fix compiler warning (deprecated conversion).
8820 * msg.h: Run indent.
8821 (msg): Fix compiler warning (deprecated conversion).
8822 * net.cc: Run indent.
8823 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8824 (dialog_cmd): Return a value.
8825 * netio.cc: Run indent.
8826 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8827 (auth_cmd): Return a value.
8828 * netio.h: Run indent.
8829 * nio-file.cc: Run indent.
8830 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8831 (NetIO_File::NetIO_File): Fix compiler warning (deprecated conversion).
8832 * nio-file.h: Run indent.
8833 * nio-ftp.cc: Run indent.
8834 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8835 * nio-ftp.h: Run indent.
8836 * nio-http.cc: Run indent.
8837 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8838 * nio-http.h: Run indent.
8839 * nio-ie5.cc: Run indent.
8840 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8841 * nio-ie5.h: Run indent.
8842 * other.cc: Run indent.
8843 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8844 (dialog_cmd): Return a value.
8845 * port.h: Run indent.
8846 * postinstall.cc: Run indent.
8847 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8848 (cmd): Fix compiler warning (deprecated conversion).
8849 (eun): Fix compiler warning (deprecated conversion).
8850 * root.cc: Run indent.
8851 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8852 * simpsock.cc: Run indent.
8853 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8854 * simpsock.h: Run indent.
8855 * site.cc: Run indent.
8856 Use io_streams.
8857 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8858 (get_root_dir_now): Remove.
8859 (save_site_url): Convert to io_streams.
8860 (dialog_cmd): Return 0.
8861 (get_initial_list_idx): Convert to io_streans.
8862 * source.cc: Run indent.
8863 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8864 (check_if_enable_next): Remove.
8865 (load_dialog): Remove unused variables.
8866 (save_dialog): Ditto.
8867 (dialog_cmd): Return a value.
8868 * splash.cc: Return a value.
8869 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8870 (dialog_cmd): Return a value.
8871 * state.cc: Run indent.
8872 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8873 * state.h: Run indent.
8874 * tar.h: Remove.
8875 * tar.cc: Remove.
8876
8877 2001-11-12 Christopher Faylor <cgf@redhat.com>
8878
8879 * desktop.cc (start_menu): Change start menu name to "Cygwin".
8880 (check_startmenu): Ditto.
8881
8882 2001-11-11 Christopher Faylor <cgf@redhat.com>
8883
8884 * choose.cc (parse_filename): Finish reorganization by correctly
8885 decrementing p in memmove.
8886
8887 2001-11-11 Christopher Faylor <cgf@redhat.com>
8888
8889 * choose.cc (parse_filename): Reorganize code to work around gcc
8890 optimization problem.
8891
8892 2001-11-09 Gareth Pearce <tilps@hotmail.com>
8893
8894 * choose.cc (set_action): Allow skip as an option for installed
8895 packages that have version number not listed in setup.ini.
8896
8897 2001-11-10 Robert Collins <rbtcollins@hotmail.com>
8898
8899 * choose.cc (set_cation): Backout last change.
8900 (choose_caption): Ditto.
8901
8902 2001-11-10 Robert Collins <rbtcollins@hotmail.com>
8903
8904 * ini.h (actions): Remove - transferred to choose.h.
8905 (views): Ditto.
8906 * choose.h: Protect class's from "C" compilers.
8907 (actions): New enum, from ini.h. This may not be the 'right' place
8908 but that place doesn't exist yet.
8909 (_views): New enum, from ini.h.
8910 * choose.cc (set_action): Handle installed packages with a version not
8911 in setup.ini.
8912 (choose_caption): Ditto.
8913 * iniparse.y: Rearrange header order to handle new ini.h.
8914
8915 2001-11-10 Robert Collins <rbtcollins@hotmail.com>
8916
8917 * ini.h (_Info): Fix compiler warnings (signed vs unsigned comparison).
8918 (registry_category): Fix compiler warning (deprecated conversion).
8919 * iniparse.y (registry_category): Ditto.
8920 * choose.cc (cvsid): Fix compiler warnings (unused, deprecated
8921 conversion).
8922 (add_requried): Remove unused variable.
8923 (choose_caption): Handle all enumeration values via a default.
8924 (paint): Fix compiler warnings (unused, deprecated conversion).
8925 (scroll_common): Fix compiler warnings (unused, signed vs unsigned
8926 comparison).
8927 (list_clicK): Fix compiler warnings (signed vs unsigned comparison).
8928 (note_width): Fix compiler warnings (deprecated conversion).
8929 (keep_or_skip): Fix compiler warnings (unused).
8930 (_view::mode_caption): Fix compiler warnings (deprecated conversion).
8931 (set_view_mode): Fix compiler warnings (unused).
8932 (create_listview): Fix compiler warnings (unused, incorrect format,
8933 reaches end of function).
8934 (dialog_proc): Fix compiler warnings (unused).
8935 (read_installed_db): Fix compiler warnings (unused, deprecated
8936 conversion).
8937 * choose.h (_header): Fix compiler warnings (deprecated conversion).
8938 (_view): Ditto.
8939
8940 2001-11-08 Pavel Tsekov <ptsekov@syntrex.com>
8941
8942 * simpsock.h (SimpleSocket::invalidate): Declare new method.
8943 * simpsock.cc (SimpleSocket::invalidate): Implement new method.
8944 (SimpleSocket::SimpleSocket): Initialize buf to zero. Do not allocate
8945 memory for buf in the constructor.
8946 (SimpleSocket::~SimpleSocket): Use SimpleSocket::invalidate().
8947 (SimpleSocket::printf): Use SimpleSocket::write() instead of send().
8948 (SimpleSocket::write): Check object consistency - return -1 on error.
8949 invalidate() the object on socket write error.
8950 (SimpleSocket::fill): Check object consistency - return -1 on error.
8951 invalidate() the object if socket read error is encountered and there
8952 is no more data available in the internal read buffer.
8953 Allocate memory for the internal read buffer.
8954 (SimpleSocket::gets): Return zero (NULL pointer) if error is encountered
8955 during fill() and no more data is available in the internal read buffer.
8956 (SimpleSocket::read): Check object consistency - return -1 on error.
8957 invalidate() the object if socket read error is encountered.
8958 * nio-ftp.cc (NetIO_FTP:NetIO_FTP): Allow 125 as valid response code to
8959 the RETR command (fix for MS IIS ftp server 5 - possibly others too).
8960 (NetIO_FTP::ok): Check if the SimpleSocket object is ok().
8961 (NetIO_FTP::read): Use NetIO_FTP::ok().
8962 * nio-http.cc: Check for valid return value of SimpleSocket::gets().
8963 (NetIO_HTTP::ok): Check if the SimpleSocket object is ok().
8964
8965 2001-11-09 Robert Collins <rbtcollins@hotmail.com>
8966
8967 * simpsock.cc (cvsid): Avoid compiler warnings (not used, deprecated
8968 conversion).
8969 (SimpleSocket::SimpleSocket): Avoid compiler warnings (deprecated
8970 conversion).
8971 (SimpleSocket::printf): Ditto.
8972 (SimpleSocket::write): Ditto.
8973 * simpsock.h (SimpleSocket): Avoid compiler warnings for constructor,
8974 printf and write.
8975 * nio-ftp.cc (cvsid): Avoid compiler warnings (not used, deprecated
8976 conversion).
8977 (NetIO_FTP::NetIO_FTP): Remove unused variable done.
8978 * nio-http.cc (cvsid): Avoid compiler warnings (not used, deprecated
8979 conversion).
8980
8981 2001-11-07 Charles Wilson <cwilson@ece.gatech.edu>
8982
8983 * geturl.cc (get_url_to_string): clean up memory leak
8984 (get_url_to_file): ditto
8985
8986 2001-11-06 Robert Collins <rbtcollins@hotmail.com>
8987
8988 * localdir.cc (dialog_cmd): Go back to IDD_ROOT in every case.
8989 * source.cc (dialog_cmd): Go forward to IDD_ROOT in every case.
8990
8991 2001-11-06 Pavel Tsekov <ptsekov@syntrex.com>
8992
8993 * fromcwd.cc (found_file): Free() memory containing the version and
8994 filepath information for a given package, before replacing the pointers
8995 which reference this memory.
8996
8997 2001-11-06 Robert Collins <rbtcollins@hotmail.com>
8998
8999 * fromcwd: Fix compiler warnings for cvsid.
9000 (canonicalize_version): Fix compilter warnings.
9001 (do_fromcwd): Ditto.
9002 * version.h: Fix compiler warnings for canonicalize_version.
9003
9004 2001-11-03 Robert Collins <rbtcollins@hotmail.com>
9005
9006 * res.rc (IDD_CHOOSE): Move the view caption to the right hand side.
9007
9008 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
9009
9010 * res.rc (IDD_CHOOSE): Tweak for use on a 640x480 screen.
9011
9012 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
9013
9014 * choose.cc (set_action): Correctly allow skip for any uninstalled
9015 package.
9016
9017 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
9018
9019 * choose.cc (default_trust): Change the "Required" forced install
9020 category to "Base".
9021
9022 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
9023
9024 * choose.cc: Ran indent.
9025 (set_action): When the requested trust level is missing and the level
9026 was not user requested, set the action to ACTION_SAME_CURR.
9027
9028 2001-11-01 Christopher Faylor <cgf@redhat.com>
9029
9030 * Makefile.in (mingw_getopt.o): Fix typo in non-verbose compilation.
9031
9032 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
9033
9034 * choose.cc (_view::init_headers): Resync with the paint logic.
9035
9036 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
9037
9038 * choose.cc (add_required): Allow SKIP and SRC_ONLY for currently
9039 installed packages.
9040
9041 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
9042
9043 * choose.cc (default_trust): Autoset currently installed packages per
9044 the user's selection of prev/curr/exp.
9045
9046 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
9047
9048 * splash.cc (dialog_proc): Return TRUE as specified in the WIN32 API.
9049
9050 2001-11-02 Pavel Tsekov <ptsekov@syntrex.com>
9051
9052 * geturl.cc (is_showing): Remove.
9053 (is_local_install): New static variable. Controls whether the
9054 progress dialog and the supporting thread will be created.
9055 (dialog_proc): Return TRUE to WM_INITDIALOG as specified by the WIN32
9056 API.
9057 (init_dialog): Remove usage of SetForegroundWindow and is_showing.
9058 This prevents the progress dialog to gain control over the
9059 application and fixes the "setup.exe going to background" problem.
9060 (progress): Use is_local_install.
9061 (get_url_to_string): Set is_local_install.
9062 (dismiss_url_status_dialog): Use is_local_install.
9063 * install.cc (dialog_proc): Return TRUE as specified in WIN32 API.
9064 (init_dialog): Remove usage of SetForegroundWindow.
9065 This prevents the progress dialog to gain control over the
9066 application and fixes the "setup.exe going to background" problem.
9067
9068 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
9069
9070 * choose.cc (list_click): Change r to row for clarity.
9071 When we shrink the list below 1 page, scroll to the top of the list.
9072 (_view::click): Return the actual change for contractions.
9073 (dialog_proc): Return TRUE to WM_INITDIALOG as specified by the Win32
9074 API.
9075
9076 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
9077
9078 * choose.cc (dialog_cmd): Swap cygwin root selection and local dir
9079 selection order.
9080 * localdir.cc: Ran indent.
9081 (get_root_dir_now): New function.
9082 (save_local_dir): New function.
9083 (dialog_cmd): Use it and swap cygwin root selection and local dir
9084 selection order.
9085 (do_local_dir): If there is a saved local dir, read it in.
9086 * net.cc (dialog_cmd): Swap cygwin root selection and local dir
9087 selection order.
9088 * root.cc (dialog_cmd): Ditto.
9089 * source.cc (dialog_cmd): Ditto.
9090
9091 2001-11-01 Robert Collins <rbtcollins@hotmail.com>
9092
9093 * choose.cc(list_vscroll): Return 0 as required by win32.
9094 (list_hscroll): Ditto.
9095 (list_click): Ditto.
9096
9097 2001-11-01 Robert Collins <rbtcollins@hotmail.com>
9098
9099 * argv.cc: Remove.
9100 * argv.h: Remove.
9101 * main.cc(WinMain): Use __argv to retrieve command line parameters.
9102 * Makefile,in: Remove argv.o.
9103
9104 2001-11-01 Matt Hargett <matt@use.net>
9105
9106 * geturl.cc (progress): Change int to unsigned int to eliminate
9107 lint warnings.
9108 * (get_url_to_string): Check for NULL pointer.
9109 * mount.cc (find2): Use free instead of delete for malloc'd
9110 memory.
9111 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Fix memory leak.
9112
9113 2001-10-31 Robert Collins <rbtcollins@hotmail.com>
9114
9115 * choose.cc(_view::insert_under): Handle linen > nlines and lines[linen]
9116 with neither a package nor a category. The lines[linen] bug was reported
9117 by Matt (matt@usa.net).
9118 (read_installed_db): Bugfix for testing whether a package has a source
9119 tarball. Reported by Matt (matt@usa.net).
9120 * geturl.cc(dialog): Rename gw_dialog to local_gw_dialog to avoid
9121 programmer confusion and lint errors. Reported by Matt (matt@usa.net).
9122
9123 2001-10-31 Robert Collins <rbtcollins@hotmail.com>
9124
9125 * argv.cc: New file, converts arguments for -mwindows
9126 programs. (Simplified derivation from dcrt0.cc.)
9127 * argv.h: New file.
9128 * Makefile,in: Add argv.o and mingw_getopt.o to setup.exe object list.
9129 Add mingw_getopt.o build rule.
9130 * main.cc(WinMain): Initialise argv and argc for use by getopt.
9131
9132 2001-10-27 Christopher Faylor <cgf@redhat.com>
9133
9134 * res.rc: Rearrange info on top line slightly.
9135
9136 2001-10-27 Christopher Faylor <cgf@redhat.com>
9137
9138 * desktop.cc (make_passwd_group): Move file creation earlier in the
9139 process to ensure that passwd-grp.bat reflects desired operation.
9140
9141 2001-27-10 Trevor Forbes <t4bs@hotmail.com>
9142
9143 * postinstall.cc (each): Remove "*.done" file else rename will fail.
9144
9145 2001-10-16 Christopher Faylor <cgf@redhat.com>
9146
9147 * res.rc: Oops. Take 640x480 screen size into account.
9148
9149 2001-10-16 Christopher Faylor <cgf@redhat.com>
9150
9151 * res.rc: Enlarge chooser screen.
9152
9153 2001-10-12 Christopher Faylor <cgf@redhat.com>
9154
9155 * Makefile.in: Accomodate changes to w32api_include macro.
9156
9157 2001-10-12 Christopher Faylor <cgf@redhat.com>
9158
9159 * Makefile.in: Use correct flags for windres.
9160
9161 2001-10-12 Christopher Faylor <cgf@redhat.com>
9162
9163 * Makefile.in (CFLAGS): Remove -nostdinc from CFLAGS.
9164
9165 2001-10-12 Christopher Faylor <cgf@redhat.com>
9166
9167 * choose.cc (pick_line::paint): Reorganize after botched patch.
9168
9169 2001-10-12 Christopher Faylor <cgf@redhat.com>
9170
9171 * choose.cc (pick_line::paint): Add missing declaration.
9172
9173 2001-10-10 Ralf Habacker <Ralf.Habacker@freenet.de>
9174
9175 * choose.cc (pick_line::paint): Add package name to sdesc for display.
9176
9177 Wed Sep 26 21:39:00 Robert Collins rbtcollins@hotmail.com
9178
9179 * choose.cc (_view::insert_pkg): Correctly exit loop.
9180 * iniparse.y (register_category): Always insert new categories.
9181
9182 Fri Sep 21 13:56:32 2001 Christopher Faylor <cgf@cygnus.com>
9183
9184 * inilex.l (yylex): For comments, eat all characters up to, but not
9185 including newline.
9186
9187 Sun Aug 26 12:50:01 2001 John Marshall <jmarshall@acm.org>
9188
9189 * fromcwd.cc (found_file): Use correct package name when adding an
9190 unknown package rather than random stack garbage.
9191
9192 Sun Aug 12 14:25:21 2001 Christopher Faylor <cgf@cygnus.com>
9193
9194 * desktop.cc (make_passwd_group): .bat files need \r\n endings.
9195
9196 Wed Aug 8 13:53:47 2001 Christopher Faylor <cgf@cygnus.com>
9197
9198 * desktop.cc (etc_profile): Leave environment variables untouched.
9199
9200 2001-08-07 Corinna Vinschen <corinna@vinschen.de>
9201
9202 * autoload.c: Add dynamic load statements for NT/W2K
9203 advapi32 functions not available in 9x/ME.
9204 * main.cc (set_default_dacl): New function.
9205 (WinMain): Call `set_default_dacl' if running on NT/W2K.
9206
9207 Sat Aug 4 21:35:53 2001 Christopher Faylor <cgf@cygnus.com>
9208
9209 * ini.h (_CategoryPackage): Change pkg field to pkgname for
9210 consistency.
9211 * choose.cc: Use pkgname field when referencing _CategoryPackage
9212 throughout.
9213 (fill_missing_category): Don't add excluded packages.
9214 (default_trust): Ditto.
9215 (_view::insert_pkg): Ditto.
9216 * iniparse.y (register_category): Use consistent variable name.
9217
9218 2001-07-09 Egor Duda <deo@logos-m.ru>
9219
9220 * choose.cc: Use system foreground color for text output.
9221
9222 Sat Jul 7 00:40:28 2001 Christopher Faylor <cgf@cygnus.com>
9223
9224 * choose.cc (set_action): Use default trust for determining reinstall
9225 and source only.
9226 (default_trust): Set default trust.
9227 (pick_line::paint): Allow source selection when reinstalling or
9228 retrieving.
9229
9230 Fri Jul 6 18:08:49 2001 Christopher Faylor <cgf@cygnus.com>
9231
9232 * choose.cc (isinstalled): Modify to properly accomodate special case
9233 of "download only".
9234 (set_action): Check downloaded components, not installed components if
9235 "download only".
9236 (set_existence): Always include full list of files when "download
9237 only".
9238
9239 Fri Jul 6 00:37:05 2001 Christopher Faylor <cgf@cygnus.com>
9240
9241 * choose.cc (pick_line::paint): Properly display "na" field when no
9242 source exists.
9243
9244 Thu Jul 5 00:34:23 2001 Christopher Faylor <cgf@cygnus.com>
9245
9246 * choose.cc (scan2): Ensure that older versions do not show up in
9247 "Test" slot.
9248
9249 Mon Jul 2 15:47:59 2001 Christopher Faylor <cgf@cygnus.com>
9250
9251 * choose.cc (set_action): Allow "Skip" action if trust != installed.
9252 * res.rc: Fix copyright.
9253
9254 Sat Jun 30 14:05:21 2001 Michael A Chase <mchase@ix.netcom.com>
9255
9256 * res.rc (IDD_LOCAL_DIR): Change caption to match the other dialog
9257 boxes.
9258 (IDD_CHOOSE): Adjust horizontal size so package names are visible.
9259
9260 * choose.cc: Restore some more changes from 2001-06-25, throughout.
9261 (paint): Wrap some excessively long lines.
9262 (pick_line::paint): Ditto. Move the arrow in the "Current" column
9263 right to where it belongs. Move the source checkbox slightly to the
9264 right.
9265 (do_choose): List categories and required packages in setup.log.full.
9266
9267 Sat Jun 30 23:04:59 2001 Christopher Faylor <cgf@cygnus.com>
9268
9269 * choose.cc (scan2): Restore source scanning eliminated by previous
9270 checkin.
9271
9272 Sat Jun 30 15:18:33 2001 Christopher Faylor <cgf@cygnus.com>
9273
9274 * ini.h (struct _Info): Add "derived" element.
9275 * choose.cc (scan2): Try to place unknown tar files into proper slot
9276 when package exists in setup.ini but tar file does not.
9277
9278 Sat Jun 30 13:39:00 2001 Robert Collins <rbtcollins@hotmail.com>
9279
9280 * choose.cc (create_listview): Call set_view_mode with VIEW_CATEGORY.
9281 (do_choose): Log the first category name.
9282
9283 Fri Jun 29 23:07:44 2001 Christopher Faylor <cgf@cygnus.com>
9284
9285 *ini.h: Reapply 2001-06-25 changes.
9286 * choose.cc (add_required): Ditto. Default to "Keep" state if
9287 UNINSTALL and product is installed. Default to curr state if SKIP,
9288 etc.
9289 (keep_or_skip): New function. Returns skip or keep state depending on
9290 installed state of package.
9291 (default_trust): Use keep_or_skip to set state.
9292 (_view::insert_pkg): Use calloc to allocate lines.
9293 (set_view_mode): Adapt 2001-06-25 change to set_full_list here.
9294
9295 Sat Jun 30 11:01:00 2001 Robert Collins <rbtcollins@hotmail.com>
9296
9297 * choose.cc: Remove globals full_list, headers, package_indexes and
9298 nindexes.
9299 Add globals cat_headers, pkg_headers and chooser.
9300 (add_required): New function.
9301 (paint): Use the chooser for header details.
9302 Call into the chooser to paint each line.
9303 (list_click): Use new global variables.
9304 Call into the chooser to handle the click.
9305 Repaint the entire view if packages have been added or removed.
9306 (note_width): Get passed a headers struct rather than using a global
9307 variable.
9308 (fill_missing_category): New function.
9309 (default_trust): Skip non-"Required" or "Misc" packages.
9310 (pick_line::set_line (Package *)): New function.
9311 (pick_line::set_line (Category *)): New function.
9312 (pick_line::paint): New function.
9313 (pick_line::click): New function.
9314 (_view::_view): New function.
9315 (_view::set_view_mode): New function.
9316 (_view::mode_caption): New function.
9317 (_view::set_headers): New function.
9318 (_view::init_header): New function.
9319 (_view::insert_pkg): New function.
9320 (_view::insert_category): New function.
9321 (_view::insert_at): New function.
9322 (_view::insert_under): New function.
9323 (_view::clear_view): New function.
9324 (viewsplusplus): New function.
9325 (_view::client): New function.
9326 (set_view_mode): Use new chooser functionality.
9327 (set_full_list): Use new global variables.
9328 (create_listview): Instantiate chooser.
9329 Remove all hardcoded headers[] code.
9330 (dialog_cmd): On trust changes, check dependencies.
9331 (getcategorybyname): New function.
9332 (getpackagecategorybyname): New function.
9333 (scan2): Use case-insensitive package comparison.
9334 (do_choose): Use fill_missing_category ().
9335 Show some category data.
9336 * ini.h: Protect against multiple inclusion.
9337 (views) New enum.
9338 (_CategoryPackage): New struct.
9339 (_Category): New struct.
9340 (_Package): Change category to Category * from char *.
9341 (extern Category category): New global variable.
9342 (extern in ncategories): Ditto.
9343 (getcategorybyname): New prototype.
9344 (catpackagecategorybyname): New prototype.
9345 (register_category): New prototype.
9346 (add_category): New prototype.
9347 * iniparse.y: Parse multiple categories per package.
9348 (category): New global variable.
9349 (ncategories): New global variable.
9350 (new_package): Compare package against NULL, not 0.
9351 (new_requirement): Source formatting fix.
9352 (register_category): New function.
9353 (add_category): New function.
9354 * res.rc: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW.
9355 IDC_CHOOSE_VIEWCAPTION: New control.
9356 * resource.h: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW.
9357 IDC_CHOOSE_VIEWCAPTION: New control.
9358 Increment _APS_NEXT_CONTROL_VALUE.
9359
9360 Mon Jun 25 00:56:37 2001 Michael A Chase <mchase@ix.netcom.com>
9361
9362 * choose.cc (paint): Wrap excessively long lines.
9363 (list_click): Ditto.
9364 (create_listview): Ditto.
9365 (do_choose): Ditto. Replace TABs and remove CRs in lines written to
9366 setup.log.full. Allow "Yes" for source exists in setup.log.full when
9367 installing from local directories.
9368
9369 Mon Jun 25 00:56:37 2001 Christopher Faylor <cgf@cygnus.com>
9370
9371 * choose.cc (set_action): Only clear srcpicked when moving to next
9372 state. Allow source installation if it exists in the current "trust"
9373 state. Don't move to skip state when package is installed.
9374 (list_click): Don't allow source clicking when no source is available.
9375 (set_full_list): Display package when not is_full_action.
9376 * ini.h (is_full_action): Define.
9377
9378 Sun Jun 17 12:06:14 2001 Christopher Faylor <cgf@cygnus.com>
9379
9380 * install.cc (check_for_old_cygwin): New function. First stab at
9381 checking for old cygwin versions.
9382 (do_install): Call check_for_old_cygwin if there were no errors during
9383 the install.
9384
9385 Sat Jun 16 11:33:51 2001 Michael A Chase <mchase@ix.netcom.com>
9386
9387 * choose.cc (_Info::_Info): Test _source paramenter for non-NULL rather
9388 than zeroed "source" element.
9389
9390 Fri Jun 15 20:54:43 2001 Christopher Faylor <cgf@cygnus.com>
9391
9392 * choose.cc (scan2): Insert unknown tar archives, found on disk, into
9393 the highest available "hole" in the trust array.
9394
9395 Fri Jun 15 00:20:48 2001 Christopher Faylor <cgf@cygnus.com>
9396
9397 * choose.cc (set_existence): Use pointer method for indexing in trust
9398 array.
9399 (create_listview): Ditto.
9400 (scan2): Ditto. Also, use consistent variable name for indexing into
9401 trust array.
9402 * ini.h (Package): Reorganize info array for easier scanning.
9403
9404 Fri Jun 15 00:01:51 2001 Christopher Faylor <cgf@cygnus.com>
9405
9406 * choose.cc (isinstalled): Eliminate special download only test.
9407 (set_action): Don't move to next state if in ACTION_SAME range and not
9408 incrementing.
9409 (choose_caption): Display "Retrieve" rather than "Reinstall" when just
9410 downloading.
9411 (do_choose): Sort packages after all packages have been read.
9412 Accomodate the fact that first element in trust array is empty so that
9413 log files don't report the wrong trust value.
9414 * iniparse.y (new_package): Malloc space for package name or suffer
9415 memory corruption.
9416
9417 Thu Jun 14 22:43:59 2001 Robert Collins <rbtcollins@hotmail.com>
9418
9419 * ini.h (Dependency): New structure. Declare new function.
9420 * inilex.l (yylex): Detect new setup.ini options - category and
9421 requires.
9422 * iniparse.y: Declare new setup.ini token values.
9423 (yyparse): Parse new token values.
9424 (new_requirement): New function.
9425
9426 Thu Jun 14 22:43:26 2001 Christopher Faylor <cgf@cygnus.com>
9427
9428 * choose.cc (read_installed_db): Eliminate obsolete code.
9429
9430 Thu Jun 14 22:11:53 2001 Christopher Faylor <cgf@cygnus.com>
9431
9432 * choose.cc (set_action): Set trust on "redo".
9433 (_Info::_Info): New constructor.
9434 (read_installed_db): Use new constructor. Use trusts type for
9435 iterator.
9436 * ini.h (struct _Info): Label struct, add constructor.
9437 (Package): Make installed_ix a type 'trusts.'
9438 * install.cc (uninstall_one): Unset any installed info for current
9439 package.
9440 (install_one): Allocate new Info struct for installed reflecting new
9441 installed info.
9442 (do_install): Don't output line to installed.db if package is being
9443 uninstalled.
9444
9445 Thu Jun 14 20:33:01 2001 Robert Collins <rbtcollins@hotmail.com>
9446
9447 * choose.cc (getpkgbyname): Use consistent method for scanning package
9448 array.
9449
9450 Wed Jun 13 23:33:08 2001 Christopher Faylor <cgf@cygnus.com>
9451
9452 * choose.cc: Add some comments.
9453 (getpkgbyname): Use strcasecmp for comparisons.
9454
9455 Wed Jun 13 16:07:00 2001 Christopher Faylor <cgf@cygnus.com>
9456
9457 * install.cc (do_install): Avoid checking for download action if
9458 package wasn't currently retrieved.
9459
9460 Wed Jun 13 11:27:22 2001 Christopher Faylor <cgf@cygnus.com>
9461
9462 * choose.cc: Eliminate extra array throughout. Use element in package
9463 structure instead. Use pointers rather than array indexes where
9464 appropriate.
9465 (set_action): New function to set next action based on current.
9466 (choose_caption): New function. Returns display caption.
9467 (check_existence): Change arguments. Use pointer to 'info' structure.
9468 (set_existence): Use pointer rather than array index.
9469 (default_trust): Use trusts enum for second argument.
9470 (set_full_list): Honor exclude element in package structure.
9471 (build_labels): Eliminate.
9472 (base): Make global. Use const char * argument.
9473 (get_package_version): Eliminate.
9474 (getpkgbyname): New function.
9475 (read_installed_db): Use parse_filename to get version info.
9476 * desktop.cc (make_passwd_group): Use getpkgbyname function.
9477 * download.cc (get_file_size): const argument.
9478 (do_download): Use is_download_action to determine when something
9479 should be downloaded.
9480 * filemanip.h: Add some functions.
9481 * ini.cc (do_ini): Use NULL rather than 0 for pointer assignment.
9482 * ini.h: Use enums for actions and trusts.
9483 (is_download_action): New macro.
9484 (is_upgrade_action): Ditto.
9485 (is_uninstall_action): Ditto.
9486 (struct Package): Add new fields.
9487 * inilex.l (yylex): Detect new setup.ini options.
9488 * iniparse.y: Declare new tokens.
9489 (yyparse): Detect exclude keyword. Fill out version field even if
9490 version == 0.
9491 (new_package): Use greater granularity when allocating package array to
9492 avoid repeated calls to realloc.
9493 * install.cc (exists): const argument.
9494 (uninstall_one): Take pkg argument.
9495 (install_one): Ditto. Eliminate unneeded arguments which can be
9496 derived from package info.
9497 (do_install): Iterate over package array using a pointer. Use
9498 is_download_action to control when package should be downloaded.
9499 * tar.cc (tar_open): const argument.
9500 * tar.h: Refloect const argument.
9501
9502 2001-05-31 Michael Chase mchase@ix.netcom.com
9503
9504 * main.cc (WinMain): Add setup version to starting setup.log entry
9505
9506 Tue May 29 21:37:58 2001 Yukihiko Sohda <sohda@is.titech.ac.jp>
9507
9508 * inilex.l: Add + to list of valid string characters.
9509
9510 Mon May 28 20:54:50 2001 Christopher Faylor <cgf@cygnus.com>
9511
9512 * Makefile.in: Remove more stuff in the clean target.
9513
9514 Mon May 28 18:24:59 2001 Christopher Faylor <cgf@cygnus.com>
9515
9516 * Makefile.in: Correctly generate iniparse.h.
9517
9518 Tue Mar 6 19:14:00 2001 Corinna Vinschen <corinna@vinschen.de>
9519
9520 * geturl.cc (get_url_to_file): Add parameter `allow_ftp_auth'.
9521 * geturl.h: Change declaration of `get_url_to_file' accordingly.
9522 * netio.cc (NetIO::NetIO): Add parameter `allow_ftp_auth'.
9523 Set member `ftp_auth'.
9524 (NetIO::open): Add parameter `allow_ftp_auth'. Use it in calls
9525 to constructors of derived classes.
9526 (NetIO::get_ftp_auth): New method.
9527 * netio.h: Change class definition accordingly.
9528 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Add parameter `allow_ftp_auth'.
9529 Take global variables `net_ftp_user' and `net_ftp_passwd' into account.
9530 Add code for ftp authentication retry.
9531 * nio-ftp.h: Change class definition accordingly.
9532 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Add parameter `allow_ftp_auth'.
9533 Add code for ftp authentication retry in case of proxy connection.
9534 * nio-http.h: Change class definition accordingly.
9535 * res.rc: Add FTP authentication dialog.
9536 * resource.h: Add new constants used in res.rc.
9537 * state.h: Add variables `net_ftp_user' and `net_ftp_passwd'.
9538
9539 Sun May 27 17:12:23 2001 Christopher Faylor <cgf@cygnus.com>
9540
9541 * res.rc (IDD_SPLASH): Add a copyright year.
9542
9543 Sun May 27 15:42:18 2001 Christopher Faylor <cgf@cygnus.com>
9544
9545 * Makefile.in: Make iniparse.y produce a c++ file.
9546 * choose.cc (set_existence): Revert 2001-05-27 change.
9547 * ini.cc: Remove "C" from declaration of yyparse.
9548 * iniparse.y (yyparse): Fill out version field by default when a binary
9549 install is detected and no version has been set yet.
9550 * install.cc (do_install): Mount things earlier so that we can use
9551 proper mount table settings. Don't remove mounts since they are now
9552 honored.
9553 * mount.cc (create_mount): Reread the mount table after establishing a
9554 new mount.
9555 (read_mounts): Explicitly clear root_here to allow multiple uses of
9556 this function. Ensure that there is no garbage in the table when we've
9557 exhausted all of the mounts in the registry.
9558 (cygpath): Accomodate ./ in path.
9559
9560 Sun May 27 02:59:07 2001 Christopher Faylor <cgf@cygnus.com>
9561
9562 Use parse_filename method to parse filenames throughout. Use
9563 get_root_dir to retrieve the current root directory throughout. Set
9564 const in argument list, where appropriate, throughout.
9565 * choose.cc (set_existence): Detect case of uninstalled package with no
9566 version.
9567 (parse_filename): New function.
9568 * filemanip.h (fileparse): New structure.
9569 * mount.cc (read_mounts): Remember where we found the root mount.
9570 (set_root_dir): New function.
9571 (get_root_dir): Ditto.
9572 * mount.h: Declare new functions.
9573 * site.cc (get_root_dir_now): Renamed from get_root_dir.
9574 (save_site_url): Use new function name.
9575 (get_initial_list_idx): Ditto.
9576
9577 Sat May 26 21:23:59 2001 Christopher Faylor <cgf@cygnus.com>
9578
9579 * choose.cc: Use a constant throughout to deal with chooser icon
9580 length.
9581 * res.rc (IDD_CHOOSE): Increase size of chooser box.
9582
9583 2001-05-07 Brian Keener <bkeener@thesoftwaresource.com>
9584
9585 * choose.cc (do_choose): Fix incorrect assignment of trust setting to
9586 use when Redownload or Sources Only selected.
9587
9588 Thu May 10 22:35:59 2001 Christopher Faylor <cgf@cygnus.com>
9589
9590 Reformat file after botched patch formatting.
9591 * choose.cc (which_trust): Eliminate variable.
9592 (default_trust): Don't set which_trust.
9593 (do_choose): Use selected trust when reinstalling or installing source.
9594
9595 Thu May 10 21:04:18 2001 Christopher Faylor <cgf@cygnus.com>
9596
9597 Change concat to cygpath throughout.
9598 Change map_filename to cygpath throughout.
9599 * concat.cc (vconcat): New function.
9600 (concat): Use vconcat.
9601 * concat.h: Reflect above.
9602 * install.cc (map_filename): Eliminate.
9603 (install_one): Free dest_file.
9604 * mount.cc (find2): Expect input key to be pointing to mount record.
9605 (in_table): New function.
9606 (is_admin): Move from root.cc.
9607 (read_mounts): New function.
9608 (path_prefix_p): New function.
9609 (cygpath): New function.
9610 * mount.h: Define new functions and structure.
9611 * root.cc (in_table): Move to mount.cc.
9612 (do_root): Call read_mounts to initialize root stuff and mount table.
9613 * site.cc (get_root_dir): Ditto.
9614
9615 2001-05-09 Matt Hargett <matt@use.net>
9616
9617 * Makefile.in: Remove *.rc from clean.
9618
9619 Tue May 8 23:33:38 2001 Christopher Faylor <cgf@cygnus.com>
9620
9621 * choose.cc (scan2): Fix incorrect setting of TRUST_CURR rather than
9622 TRUST_PREV which produced "0" versions.
9623
9624 2001-05-07 Brian Keener <bkeener@thesoftwaresource.com>
9625
9626 * resource.h: Add new field IDC_CHOOSE_INST_TEXT. Modify
9627 _APS_NEXT_CONTROL_VALUE to account for addition of
9628 IDC_CHOOSE_INST_TEXT.
9629 * res.rc (IDD_CHOOSE): Modify choose dialog to use new field
9630 IDC_CHOOSE_INST_TEXT for screen text. Modify choose Dialog to allow
9631 hot keys to select Prev, Curr, Exp.
9632 * ini.h: Add new actions for ACTION_REDO and ACTION_SRC_ONLY. Modify
9633 define for LOOP_PACKAGES to include new actions ACTION_REDO and
9634 ACTION_SRC_ONLY.
9635 * choose.cc: Add new Trusts for TRUST_REDO and TRUST_SRC_ONLY.
9636 (paint): Modify to check TRUST_SRC_ONLY when determining Bitmap for
9637 source Checkbox to use.
9638 (build_labels): Add logic to allow for selection of Source only
9639 Download/ReDownload/Install/Reinstall and also to Redownload/Reinstall
9640 current version binary.
9641 (dialog_proc): Add conditional display for file selection prompt based
9642 on download vs install using IDC_CHOOSE_INST_TEXT.
9643 (do_choose): Add new logic for TRUST_REDO and TRUST_SRC_ONLY selection
9644 and modify logic for TRUST_UNINSTALL, TRUST_KEEP, and TRUST_NONE to
9645 handle the instance where Source Download/Install was selected. Modify
9646 log file to store appropriate information regarding Action selected and
9647 the new actions that were added (I.E.: ACTION_REDO and
9648 ACTION_SRC_ONLY).
9649 * download.cc: Add include for <unistd.h> and "port.h".
9650 (download_one): Modify parameter list to include the selected action
9651 for the file to be downloaded. Modify size check against expected size
9652 to include check for ACTION_REDO and ACTION_SRC_ONLY. Modify rename of
9653 .tmp file to also remove the destination file if exists due to ability
9654 to redownload source and binary now.
9655 (do_download): Modify to also use ACTION_REDO and ACTION_SRC_ONLY in
9656 calculation of Download Bytes. Modify to also use ACTION_REDO and
9657 ACTION_SRC_ONLY in determining files selected for download.
9658 * install.cc (uninstall_one): Add check to treat a Reinstall like an
9659 upgrade so current version will be uninstalled prior to reinstall.
9660 (do_install): Add logic to handle ACTION_REDO and ACTION_SRC_ONLY for
9661 uninstalling and installing binary and source packages.
9662 * desktop.cc (make_passwd_group): Modify logic to account for a Source
9663 only cygwin install when checking for cygwin to determine need for
9664 mkpasswd and mkgroup.
9665
9666 Mon May 7 23:33:30 2001 Matt Hargett <matt@use.net>
9667
9668 * winsup/cinstall/res.rc: Added accelerators and improved focus order.
9669 Removed WS_DISABLED from "OK" buttons to accomodate default focus
9670 changes in net.cc and source.cc.
9671 * winsup/cinstall/net.cc (dialog_proc): If no radio button is selected,
9672 a default is selected.
9673 * winsup/cinstall/source.cc (dialog_proc): Ditto.
9674 (check_if_enable_next): Removed. No longer needed since a radio button
9675 will always be selected.
9676 (load_dialog): Removed call to check_if_enable_next.
9677 (dialog_cmd): Ditto. Also added default to switch.
9678
9679 Tue Apr 24 23:42:02 2001 Christopher Faylor <cgf@cygnus.com>
9680
9681 * res.rc: Resize affected text.
9682
9683 Tue Apr 24 23:35:31 2001 Christopher Faylor <cgf@cygnus.com>
9684
9685 * net.cc (do_net): Default to direct download.
9686 * res.rc: Move default selections to the top.
9687
9688 2001-04-18 Earnie Boyd <earnie@users.sourceforge.net>
9689
9690 * win32.h: Remove the definitions for _UNION_NAME and _STRUCT_NAME.
9691 Must now include <windows.h> and not the pieces.
9692 * choose.cc (create_listview): Clean up type mismatch problems.
9693 * dialog.h (NEXT(id)): Ditto.
9694 * geturl.cc (dialog): Ditto.
9695 * install.cc (dialog): Ditto.
9696 * splash.cc (load_dialog): Ditto.
9697
9698 Wed Apr 18 18:59:21 2001 Christopher Faylor <cgf@cygnus.com>
9699
9700 * tar.cc (class gzbz): Define dummy virtual functions.
9701
9702 Wed Apr 18 16:01:21 2001 Christopher Faylor <cgf@cygnus.com>
9703
9704 * Makefile.in: Add bz2 include/library support.
9705 * filemanip.h: New file.
9706 * choose.cc (find_tar_ext): New function. Returns TRUE if .tar.gz or
9707 .tar.bz2 found.
9708 (scan2): Reorganize to use find_tar_ext, accomodating .bz2 extension.
9709 (read_installed_db): Ditto.
9710 (do_choose): Ditto.
9711 * fromcwd.cc (found_file): Ditto.
9712 (do_fromcwd): Ditto.
9713 * tar.cc (class gzbz): New super class for uncompression support.
9714 (gz): New class for gzip support.
9715 (bz): New class for bzip2 support.
9716 (tar_open): Use gzbz class to control file opening.
9717 (tar_ftell): Ditto for returning position in file.
9718 (skip_file): Ditto for reading file.
9719 (tar_next_file): Ditto.
9720 (tar_read_file): Ditto.
9721 (tar_close): Ditto for close.
9722
9723 * zlib/configure.in: Force NM substitution.
9724
9725 * source.cc (do_source): Default to "Install from Internet".
9726
9727 2001-03-16 Brian Keener <bkeener@thesoftwaresource.com>
9728
9729 * nio-file.cc (NetIO_File::NetIO_File): Use `get_file_size' instead of
9730 `stat'.
9731 * choose.cc (list_click): Correct inability to select source code for
9732 download.
9733 (scan2): Modify to skip source tarballs when scanning disk for
9734 installable packages.
9735
9736 2001-03-10 Chris Abbey <chris_abbey@yahoo.com>
9737
9738 * install.cc: install sources into /usr/src instead
9739 of /, also include the sizes of source tarballs
9740 in total_bytes.
9741 * download.cc: include sizes of source tarballs in
9742 total_download_bytes.
9743
9744 Tue Mar 6 19:31:00 2000 Corinna Vinschen <corinna@vinschen.com>
9745
9746 * download.cc (get_file_size): Remove `static'.
9747
9748 Tue Mar 6 19:11:00 2000 Corinna Vinschen <corinna@vinschen.com>
9749
9750 * tar.cc (tar_open): Use `get_file_size' instead of `stat'.
9751
9752 2001-03-06 Brian Keener <bkeener@thesoftwaresource.com>
9753
9754 * choose.cc (paint): Modify message for nothing to download vs
9755 nothing to install/update based on installation method.
9756 (list_click): Modify to skip versions in selection process if
9757 installing from local directory and installation file does not exist.
9758 Also leaves Source Action set to N/A if the source file does not exist
9759 and installing from local directory.
9760 (check_existence): New method to check current existence of installation
9761 files based on selected installation method.
9762 (set_existence): New method to set the current existence of installation
9763 files based on selected installation method.
9764 (best_trust): Modify decision process for best trust to base decision on
9765 current trust selected (IE: Prev, Curr, or Test), existence of file and
9766 installation method selected.
9767 (default_trust): Add logic to capture the current trust level and the
9768 trust selected for the given package.
9769 (set_full_list): Expand decision criteria for displaying a package in
9770 the selection list to include file existence/non-existence and selected
9771 installation method.
9772 (build_labels): Modify criteria for label addition to include
9773 installation method and file existence/non-existence.
9774 (create_listview): Modify to establish package trust level for each
9775 package before setting up the display list. Also modification to set
9776 current trust button as the default.
9777 (dialog_cmd): Set response for Prev, Curr, Test button push to perform
9778 a reset of the selection list in addition to setting the default trust.
9779 (get_package_version): New method to provide reusable code for
9780 determining the package version from the file name for a specified
9781 trust.
9782 (scan2): Modify to use new method get_package_version and
9783 also enhance handling of the build for the structures package and
9784 extra.
9785 (read_installed_db): Modify to use the new method
9786 get_package_version and also enhance handling of the build for the
9787 structures package and extra.
9788 (do_choose): Add additional initialization of package and extra
9789 structures. Modify to use read_installed_db all the time despite
9790 install method. Modify output to setup.log.full log file to increase
9791 readability by adding additional spacing, expanded code and available
9792 versions.
9793 * ini.h: Add new fields install_exists, source_exists and
9794 partial_list_display to the structure definition for package.
9795 * res.rc (IDD_CHOOSE): Modify choose dialog Prev, Curr, and Test
9796 pushbuttons by replacing with Radio Buttons thus allowing the
9797 operator to better determine which is selected.
9798
9799 2001-02-20 Brian Keener <bkeener@thesoftwaresource.com>
9800
9801 * download.cc (do_download): Add new variables total_download_bytes and
9802 total_download_bytes_sofar for download progress meter. Add loop
9803 to accumulate the total bytes to download from the selected packages.
9804 * geturl.cc: Add state.h and diskfull.h to include list. Add new
9805 variables gw_iprogress, gw_pprogress, gw_progress_text,
9806 gw_pprogress_text, and gw_iprogress_text to allow for addition of
9807 total packages download progress meter and disk full percent
9808 progress meter. Add variables total_download_bytes and
9809 total_download_bytes_sofar for use by progress meters.
9810 (dialog_proc): Add new variables gw_iprogress, gw_pprogress,
9811 gw_progress_text, gw_pprogress_text, and gw_iprogress_text to
9812 allow for addition of total packages download progress meter and disk
9813 full percent progress meter.
9814 (init_dialog): Ditto.
9815 (progress): Ditto.
9816 (get_url_to_file): Ditto.
9817 * geturl.h: Add external definition for total_download_bytes and
9818 total_download_bytes_sofar.
9819 * res.rc: Add two additional progress meters (IDC_DLS_IPROGRESS)
9820 and (IDC_DLS_PPROGRESS) and three text objects (IDC_DLS_PROGRESS_TEXT)
9821 and (IDC_DLS_IPROGRESS_TEXT, IDC_DLS_PPROGRESS_TEXT) for use in the
9822 download meters.
9823 * resource.h: Add new fields for progress meters and text and update
9824 _APS_NEXT_CONTROL_VALUE.
9825
9826 Wed Feb 21 13:05:00 2000 Corinna Vinschen <vinschen@redhat.com>
9827
9828 * download.cc (get_file_size): Check for INVALID_HANDLE_VALUE instead
9829 for NULL.
9830
9831 Wed Feb 21 11:21:00 2000 Corinna Vinschen <vinschen@redhat.com>
9832
9833 * download.cc (download_one): Add missing parenthesis.
9834
9835 Mon Feb 19 18:59:00 2000 Corinna Vinschen <vinschen@redhat.com>
9836
9837 * download.cc (get_file_size): New function. Eliminates the need
9838 to call `stat'.
9839 (download_one): Call `get_file_size' instead of `stat'. This
9840 workarounds a problem with mingw's `stat' call.
9841
9842 2001-02-07 Earnie Boyd <earnie@users.sourceforge.net>
9843
9844 * Makefile.in: (%.o: %.rc): Specify --include-dir $(w32api_include).
9845 This is to allow cinstall to build with 2.95.2-7 and to make the
9846 use of headers consistent.
9847
9848 2000-12-26 Earnie Boyd <earnie_boyd@yahoo.com>
9849
9850 * Makefile.in (autoload.o): Add target to specify -fno-inline-functions
9851
9852 Tue Dec 26 03:46:00 2000 Matt Hargett <matt@use.net>
9853
9854 * winsup/cinstall/res.rc: Added accelerators and improved focus
9855 order.
9856
9857 2000-12-10 Egor Duda <deo@logos-m.ru>
9858
9859 * choose.cc (paint): Use system background color for text output.
9860
9861 Sun Dec 10 19:05:25 2000 Christopher Faylor <cgf@cygnus.com>
9862
9863 * Makefile.in: Use CXX for linking and for compiling .cc files.
9864 * configure.in: Find correct c++ compiler.
9865 * configure: Regenerate.
9866
9867 2000-11-17 DJ Delorie <dj@redhat.com>
9868
9869 * splash.cc (load_dialog): Make message more obvious.
9870 * res.rc: Ditto.
9871
9872 Fri Nov 17 17:15:21 2000 Christopher Faylor <cgf@cygnus.com>
9873
9874 * Makefile.in: Use g++ to link so that libstdc++.a gets used. This is
9875 necessary for newer compilers.
9876
9877 Wed Nov 9 2:19:00 2000 Corinna Vinschen <vinschen@redhat.com>
9878
9879 * desktop.cc: Include "ini.h" and "version.h".
9880 (make_passwd_group): Skip the function on 9x/ME boxes when an
9881 older version of Cygwin has been installed which doesn't
9882 support mkpasswd/mkgroup on 9x/ME.
9883 * install.cc: Move the `LOOP_PACKAGES' and `pi' macros to...
9884 * ini.h: ...here.
9885
9886 Wed Nov 8 17:10:00 2000 Corinna Vinschen <vinschen@redhat.com>
9887
9888 * desktop.cc (make_passwd_group): Don't exit when started
9889 on 9x/ME since mkpasswd/mkgroup are usable on 9x/ME now.
9890
9891 Sun Nov 5 12:51:42 2000 Jason Tishler <jt@dothill.com>
9892
9893 * install.cc (do_install): Add call to set_cygdrive_flags to sync
9894 the mount modes.
9895 * mount.cc (set_cygdrive_flags): New function.
9896 (get_cygdrive_flags): Ditto.
9897 (default_cygdrive): Ditto.
9898 (set_cygdrive_flags): Ditto.
9899 * mount.h: Add prototype for set_cygdrive_flags.
9900
9901 2000-10-23 DJ Delorie <dj@redhat.com>
9902
9903 * ini.h: add source actions
9904 * fromcwd.cc: check for available sources
9905 * res.rc: add checkbox bitmaps
9906 * resource.h: ditto
9907 * check-*.bmp: new
9908 * choose.cc: add source column
9909 * download.cc: download sources if called for
9910 * install.cc: [un]install sources too
9911
9912 2000-10-22 DJ Delorie <dj@redhat.com>
9913
9914 * choose.cc (build_labels): Don't skip TRUST_PREV completely; only
9915 ignore it wrt full_list if there's already a version installed.
9916 (do_choose): Sort the list.
9917 (package_sort): New.
9918
9919 2000-10-12 DJ Delorie <dj@redhat.com>
9920
9921 * res.rc: Add more error strings.
9922 * resource.h: Ditto.
9923 * iniparse.y (new_package): re-initialize if needed.
9924 * download.cc (do_download): Keep track of errors; notify and
9925 allow retry.
9926 * install.cc (do_install): Ditto.
9927
9928 2000-10-05 DJ Delorie <dj@redhat.com>
9929
9930 * Makefile.in: fix %.cc rule
9931
9932 2000-10-04 DJ Delorie <dj@redhat.com>
9933
9934 * desktop.cc: quote HOME and USER, don't . ./.profile
9935
9936 * choose.cc (build_labels): don't include in partial list just
9937 because there's a *previous* version available.
9938
9939 * install.cc (do_install): if installing from local directory with
9940 setup.ini and the file isn't found, look in "." also. Note errors.
9941
9942 2000-10-02 DJ Delorie <dj@redhat.com>
9943
9944 * ini.cc (do_ini): save setup.ini locally
9945
9946 2000-10-02 Chris Abbey <cabbey@bresnanlink.net>
9947
9948 * desktop.cc: quote escapes in prompt
9949
9950 2000-10-02 Jason Tishler <jt@dothill.com>
9951
9952 * root.cc (is_admin): New function.
9953 (read_mount_table): Check for administrative priviledges and set
9954 installation scope as appropriate.
9955
9956 2000-09-28 DJ Delorie <dj@redhat.com>
9957
9958 * nio-ftp.cc (ftp_line): handle continuations more robustly
9959
9960 2000-09-14 Brian Keener <bkeener@thesoftwaresource.com>
9961
9962 * res.rc: increased the size of the site dialog (IDD_SITE) & the
9963 corresponding list box to provide for more URL's to be listed.
9964 Modified the position of the Back, Next and Cancel buttons to
9965 correspond to the new size of the dialog.
9966
9967 2000-09-13 DJ Delorie <dj@redhat.com>
9968
9969 * install.cc (do_install): update disk fullness once per package
9970 to improve performance
9971
9972 * choose.cc (create_listview): call ReleaseDC
9973
9974 Mon Sep 11 22:40 2000 Harold L Hunt II <harold@compasstechnologies.com>
9975
9976 * mkdir.cc: Create directories when ERROR_FILE_NOT_FOUND is
9977 returned, as it seems Samba 2.0.6+ returns this instead of
9978 ERROR_PATH_NOT_FOUND
9979
9980 Mon Sep 11 19:35:24 2000 Christopher Faylor <cgf@cygnus.com>
9981
9982 * site.cc (get_initial_list_idx): Don't default to saved URL if it
9983 refers to sources.
9984
9985 2000-09-07 DJ Delorie <dj@redhat.com>
9986
9987 * splash.cc: use version.h, not local decl
9988 * res.rc: add "old version" message
9989 * resource.h: ditto
9990 * version.h: new
9991 * fromcwd.cc (canonicalize_version): make global
9992 * iniparse.y: add setup-version support, fix bug in blank line
9993 handling
9994
9995 * inilex.l: add [exp] as alias for [test], add setup-version
9996 * Makefile.in (version.c): add setup-version tag
9997
9998 * desktop.cc (do_desktop): remove 1.1 version number
9999 (do_desktop_setup): ditto
10000
10001 * ini.cc (do_ini): zero out package list just in case we redo it.
10002
10003 2000-09-07 Jeffrey Juliano <juliano@cs.unc.edu>
10004
10005 * choose.cc (list_click): Check for nindexes==0; if so, return.
10006
10007 2000-09-06 Andrej Borsenkow <Andrej.Borsenkow@mow.siemens.ru>
10008
10009 * localdir.cc: new, local package directory selection dialog; cd
10010 into selected directory
10011 * Makefile.in (OBJS): add localdir.o
10012 * dialog.h: add prototype for do_local_dir
10013 * main.cc (WinMain): initialize local_dir to cwd; add call to
10014 do_local_dir
10015 * net.cc (dialog_cmd): make DO_LOCAL_DIR next dialog
10016 * source.cc (dialog_cmd): ditto
10017 * res.rc: add DO_LOCAL_DIR dialog; remove "current directory" from
10018 presented choices in IDD_SOURCE; add IDS_ERR_CHDIR error string
10019 * resource.h: defines for DO_LOCAL_DIR dialog; define IDS_ERR_CHDIR
10020 * root.cc (dialog_cmd): make DO_LOCAL_DIR previous dialog
10021 * state.h: add local_dir variable
10022
10023 2000-09-06 Brian Keener <bkeener@thesoftwaresource.com>
10024
10025 * desktop.cc: added logic to handle to the new dialog and to
10026 default the setting for the new checkboxes based on whether the
10027 desktop icon or start menu link already exist.
10028 (desktop_icon): correction to desktop directories for desktop icon
10029 creation. Additional logic added for Win95 which does not appear
10030 to have Common Directories so if Common selected and null uses
10031 normal directory.
10032 (start_menu): Additional logic added for Win95 which does not
10033 appear to have Common Directories so if Common selected and null
10034 uses normal directory.
10035 (do_desktop_setup): moved the saving of the icon, creation of the
10036 bat file, profile, passwd, Start Menu link and desktop shortcut to
10037 this method from do_desktop. Made the creation of the desktop
10038 icon and start menu link conditional on settings of new dialog
10039 created for desktop.
10040 * install.cc (do_install): changed next from IDD_S_DESKTOP to
10041 IDD_DESKTOP.
10042 * main.cc (WinMain): changed case IDD_S_DESKTOP to IDD_DESKTOP.
10043 * res.rc: added new resource to create a desktop dialog with 2
10044 checkboxes for creating the desktop icon and start menu link.
10045 * resource.h: changed IDD_S_DESKTOP to IDD_DESKTOP and added two
10046 new controls: IDC_ROOT_MENU and IDC_ROOT_DESKTOP for new dialog.
10047 * state.h: added root_menu and root_desktop for use in dialog.
10048
10049 2000-08-29 DJ Delorie <dj@redhat.com>
10050
10051 * choose.cc (scan_downloaded_files): scan for existing files, so
10052 that the user only sees new downloads.
10053
10054 * nio-ie5.cc (NetIO_IE5): pre-check for wininet.dll, enable dial-up
10055 * site.cc (do_site): if we can't download the mirror list, go back
10056 to the net setup box to choose another transport.
10057 * autoload.c: add more functions
10058 * Makefile.in (ALL_DEP_LDLIBS): remove wininet.a
10059 * resource.h: add WININET message
10060
10061 * net.cc (do_net): no longer default to IE5
10062 * simpsock.h (class SimpleSocket): new, simplify socket operations
10063 * simpsock.cc: ditto
10064 * nio-http.h: new, for direct http protocol
10065 * nio-http.cc: ditto
10066 * nio-ftp.h: new, for direct http protocol
10067 * nio-ftp.cc: ditto
10068 * netio.cc (set_url): move initialization here to handle redirections
10069 (open): add direct http/ftp
10070 * netio.h (NetIO::set_url): new
10071
10072 * log.cc (log_save): create directory for log if needed
10073
10074 * hash.cc, hash.h: new
10075 * Makefile: add hash.o
10076 * choose.cc: enable "uninstall" option
10077 * download.cc: invert action test to accomodate uninstalling
10078 * ini.h: add ACTION_UNINSTALL
10079 * install.cc: add uninstall functionality
10080 * res.rc: make install tag changeable
10081 * resource.h: add uninstall resources
10082
10083 * res.rc: update mirror list URL
10084
10085 2000-08-24 DJ Delorie <dj@redhat.com>
10086
10087 * log.cc, log.h: new files
10088 * Makefile.in (OBJS): add log.o
10089 * tar.cc: use exit_setup instead of exit
10090 * dialog.cc (fatal): use exit_setup instead of ExitProcess
10091 * msg.cc (fatal): ditto
10092 * install.cc (dialog_cmd): ditto
10093 * ini.cc (do_ini): ditto
10094 * main.cc (main): add logging
10095 * source.cc (do_source): ditto
10096 * root.cc (do_source): ditto
10097 * site.cc (do_site): ditto
10098 * other.cc (do_other): ditto
10099 * net.cc (do_net): ditto
10100 * choose.cc (do_choose): ditto
10101 * download.cc (do_download): ditto
10102 * install.cc (do_install): ditto
10103 * msg.cc (fatal): ditto
10104
10105 * res.rc: mark password boxes as *being* password boxes.
10106
10107 * fromcwd.cc (canonicalize_version): use multiple buffers so that
10108 multiple calls won't use the same buffer.
10109 * choose.cc (create_listview): don't default to full list if no changes
10110 (base): return computed value, not temporary :-(
10111 (do_choose): don't use installed.db if we're only downloading.
10112
10113 2000-08-23 DJ Delorie <dj@redhat.com>
10114
10115 * nio-ie5.cc (NetIO_IE5): Fix authentication logic
10116 * nio-ie5.h (flush_io): new
10117 * netio.cc (load_dialog): note when we're initializing the dialog
10118 box, and ignore changes to the edit fields then.
10119
10120 2000-08-21 DJ Delorie <dj@redhat.com>
10121
10122 * README: Update
10123
10124 * fromcwd.cc (found_file): don't remember the canonicalized version
10125
10126 * choose.cc (paint): print "nothing to do" message when list is empty.
10127 (build_labels): Use version "0.0" if no version is available.
10128 (create_listview): default to full list if nothing to install/update.
10129 (base): new, returns basename of file
10130 (read_installed_db): compare base names, not full paths
10131
10132 2000-08-11 DJ Delorie <dj@redhat.com>
10133
10134 * choose.cc: add new chooser dialog
10135 * fromcwd.cc: use IDD_CHOOSE
10136 * ini.cc: use IDD_CHOOSE
10137 * main.cc: use IDD_CHOOSE
10138 * ini.h: cosmetic changes
10139 * res.rc: add choose dialog, bitmaps
10140 * choose-spin.bmp: new
10141 * choose-rtarrow.bmp: new
10142 * resource.h: add choose dialog controls
10143
10144 * mount.cc: remove debug statement
10145
10146 2000-08-08 DJ Delorie <dj@redhat.com>
10147
10148 * Makefile.in (version.c): make version checking more robust
10149 * splash.cc (load_dialog): handle case where there's no version
10150
10151 2000-08-07 DJ Delorie <dj@redhat.com>
10152
10153 * (all): add cvsid tags
10154 * Makefile.in: generate version.c from ChangeLog, add splash.o
10155 * splash.o: new
10156 * res.rc: add splash screen
10157
10158 2000-08-02 DJ Delorie <dj@redhat.com>
10159
10160 * net.cc: remove proxy password code
10161 * res.rc: remove proxy user/pass from net, add auth dialogs
10162 * netio.cc,h: add sys/proxy auth methods
10163 * nio-ie5: use them, check for http status codes
10164 * state.h: add system authorization
10165
10166 * concat.cc (concat): canonicalize x:// to x:/ (exception to ://
10167 meaning an url)
10168
10169 2000-08-02 Norman Vine <nhv@yahoo,com>
10170
10171 * msg.cc (mbox): added MB_TOPMOST to MessageBox type flags
10172
10173 2000-08-01 DJ Delorie <dj@redhat.com>
10174
10175 * postinstall.cc (each): don't rename files we ignore
10176 (do_postinstall): set CYGWINROOT to root_dir, chdir there
10177
10178 * desktop.cc: have /etc/profile call ~/.profile and ~/.bashrc
10179
10180 2000-07-31 DJ Delorie <dj@redhat.com>
10181
10182 * desktop.cc: reverse PATH so /usr/bin precedes /bin
10183
10184 2000-07-18 DJ Delorie <dj@redhat.com>
10185
10186 * autoload.c: new, autoload dlls that might not be available.
10187 * Makefile.in (OBJS): add autoload.o
10188
10189 * res.rc: rewrite root options (text/binary, system/user) to be
10190 more obvious.
10191
10192 * site.cc (get_site_list): trim displayed URL, sort by domain
10193
10194 * net.cc (do_net): make IE5 default to checked, for now
10195
10196 * choose.cc (do_choose): sort packages correctly
10197 * ini.cc (do_ini): handle parse errors more gracefully
10198 (yyerror): ditto
10199 (fprintf): line buffer output
10200 (do_ini): if we can't load setup.ini, go back to the site list.
10201 * ini.h: add "unknown" trust level
10202 * inilex.l: absorb unknown trust levels and key/value pairs,
10203 add line number logic
10204 * iniparse.y: handle parse errors more gracefully.
10205 * install.cc: skip packages with no valid install entry
10206
10207 2000-07-17 DJ Delorie <dj@cygnus.com>
10208
10209 * coding standards fixups, many files
10210 * mkdir.cc: warn about deletions *before* deleting them
10211
10212 2000-07-17 Jeff Juliano <juliano@cs.unc.edu>
10213
10214 * res.rc (IDD_OTHER_URL): reorder to give default focus to entry
10215
10216 * other.cc (dialog_cmd): save download site URL
10217 * site.cc (get_root_dir): new
10218 (save_mirror_site): new
10219 (dialog_cmd): save download site URL
10220 (get_site_list): make list big enough to add prev site
10221 (get_initial_list_idx): new, read last-used URL from file and
10222 append it to site_list
10223 (do_site): call get_initial_list_idx
10224
10225 * concat.cc (concat): avoid segfault when first parm is null
10226
10227 2000-07-13 DJ Delorie <dj@cygnus.com>
10228
10229 * postinstall.cc: new
10230 * Makefile.in: add postinstall.o
10231 * concat.h: add backslash ()
10232 * concat.cc: ditto
10233 * desktop.cc (etc_profile): don't do postinstall
10234 (backslash): moved to concat.cc
10235 (uexists): new
10236 (make_postinstall_script): run directly
10237 (do_desktop): chain to do_postinstall
10238 * dialog.h: add exit_msg, do_postinstall
10239 * download.cc: use exit_msg
10240 * install.cc: ditto
10241 * main.cc: add postinstall, exit_msg
10242 * resource.h: add postinstall
10243 * README: add more to-do items
10244
10245 2000-07-12 DJ Delorie <dj@cygnus.com>
10246
10247 * desktop.cc: add /etc/postinstall/ support
10248 * install.cc: add more "standard" directories
10249
10250 2000-07-11 DJ Delorie <dj@cygnus.com>
10251
10252 * desktop.cc: create /etc/profile
10253 * desktop.cc: fix include syntax
10254 * Makefile.in: add auto-dependencies
10255 * root.cc: support system vs user
10256 * desktop.cc: ditto
10257 * mount.h: ditto
10258 * mount.cc: ditto
10259 * install.cc: ditto
10260 * res.rc: ditto
10261 * resource.h: ditto
10262 * state.h: ditto
10263 * desktop.cc: make sure we use backslashes, not slashes.
10264 * desktop.cc: don't set PATH in cygwin.bat, create /etc/passwd
10265 * geturl.cc: change math for percentage to avoid overflow
10266 * install.cc: ditto
10267 * download.cc: post "download complete" message.
10268 * root.cc: pre-fill in defaults if needed, don't start
10269 browse at root_dir unless it's set.
10270 * desktop.cc: quote $PATH in case it has spaces in it
10271
10272 2000-07-10 DJ Delorie <dj@cygnus.com>
10273
10274 * Makefile.in: add desktop.o and mklink2.o
10275 * dialog.h: add do_desktop
10276 * install.cc: create standard directories, call do_desktop
10277 * res.rc: add cygwin.ico as a file also
10278 * desktop.cc: new, do shortcuts, batch files, and icons
10279 * mklink2.c: new, for COM
10280 * README: update to-do list
10281
10282 2000-07-10 DJ Delorie <dj@cygnus.com>
10283
10284 * ini.cc (do_ini): don't worry about timestamps if we're not
10285 actually installing.
10286
10287 2000-07-09 DJ Delorie <dj@cygnus.com>
10288
10289 * Makefile.in: add -I$(srcdir) for ini.h
10290
10291 2000-07-06 DJ Delorie <dj@cygnus.com>
10292
10293 * Replace everything with a new GUI version
10294 * zlib/gzio.c: add gzctell() for progress displays
10295
10296 2000-06-22 DJ Delorie <dj@cygnus.com>
10297
10298 * setup.c (tarx): re-add call to write_pkg()
10299
10300 2000-06-07 DJ Delorie <dj@cygnus.com>
10301
10302 * cygcalls.c: new, call cygwin1.dll functions directly
10303 * cygcalls.h: header for same
10304 * Makefile.in: add cygcalls.[ch], remove mount/cygpath/umount
10305 exes, fix cinstall.rc dependencies.
10306 * path.c: remove unneeded code
10307 * setup.c: use cygcalls instead of xcreate_process.
10308 uncompress embedded files with zlib
10309 add "-d" for "download only"
10310 add "-h" for help
10311 postpone mount changes until very end
10312 add download progress indicators
10313 pack multi-column listings more
10314 auto-delete temp files
10315 customize banner message according to options
10316 prompt user for text/binary mounts
10317 add warnings about empty setup directory, root installs, etc
10318
10319 2000-05-24 DJ Delorie <dj@cygnus.com>
10320
10321 * tar.c: New file; built-in tar using zlib.
10322 * tar.h: New file; header for same.
10323 * ctar.c: New file; test program for same.
10324 * Makefile.in: add built-in tar, remove tar.exe and gzip.exe
10325 * path.c (pathcat): convert slashes and canonicalize, instead of
10326 aborting
10327 * setup.c (tarx): add support for built-in tar
10328 (main): accept unix-style slashes, check root dir for drive letters,
10329 warn about installing in /, make sure cwd is empty for internet
10330 installs, defer mounts to end of install, support built-in tar.
10331
10332 Fri May 19 23:44:37 2000 Christopher Faylor <cgf@cygnus.com>
10333
10334 Fix compiler warnings throughout.
10335 * pkg.c (init_pkgs): Make static 'stuff' global_pkgstuff for use in
10336 get_pkg_stuff.
10337 * setup.c: Make 'root' global.
10338 (istargz): Return pointer to "stem" of matched .tar.gz file.
10339 (tarx): Special case cygwin-20000301 to == cygwin-1.1.0.tar.gz. Remove
10340 bogus check_for_installed check.
10341 (recurse_dirs): Add preliminary support for .bat file execution.
10342 (create_uninstall): Eliminate unneeded parameter.
10343 (do_start_menu): Ditto.
10344 (mkmount): Ditto.
10345 (get_pkg_stuff): Ditto. Check for currently installed cygwin by
10346 scanning for the version number. Eliminate unneeded argument to
10347 create_uninstall.
10348 (getdownloadsource): Add 'name' to list of names rather than url.
10349 (main): Eliminate unneeded argument in get_pkg_stuff. Eliminate
10350 unneeded argument in mkmount and do_start_menu.
10351
10352 2000-05-18 DJ Delorie <dj@cygnus.com>
10353
10354 * setup.c (optionprompt): allow multi-column, clean up message
10355 about more options, be more robust about user input.
10356 (getdownloadsource): make the mirror URL a macro.
10357 (main): do mounts after done prompting user.
10358
10359 Tue May 2 00:56:41 2000 Christopher Faylor <cgf@cygnus.com>
10360
10361 * setup.c (cleanup): Inverse order of deletion stands a better chance
10362 of deleting cygpath.exe. Still seems to suffer from occasional races,
10363 though.
10364 (cleanup_on_signal): Perform convoluted dance to accomodate win95 and
10365 w2k.
10366 (output_file): Defend against an unlikely handle leak.
10367 (main): Don't set up signal handling until we have something special to
10368 do.
10369
10370 Mon May 1 17:56:32 2000 Christopher Faylor <cgf@cygnus.com>
10371
10372 * path.c (kill_cygpath): Delete function.
10373 (exit_cygpath): Make more defensive so that it can be called at any
10374 time.
10375 (cygpath_pipe): Don't set up signal here. Do it in main().
10376 * setup.c (istargz): New function.
10377 (recurse_dirs): Look for *.gz pattern rather than *tar.gz since *tar.gz
10378 inexplicably fails on samba mounted partitions. Use istargz to match
10379 tar.gz tail.
10380 (processdirlisting) Use istargz to match tar.gz tail.
10381 (cleanup): Renamed from filedel.
10382 (cleanup_on_signal): New function. Called on CTRL-C.
10383 (main): Record handle of main thread so that it can be suspended when
10384 CTRL-C occurs. Set up cleanup_on_signal signal handler.
10385
10386 Mon May 1 11:05:07 2000 Christopher Faylor <cgf@cygnus.com>
10387
10388 * setup.c (do_start_menu): Don't concatenate paths to already built
10389 paths.
10390
10391 Sun Apr 30 22:37:34 2000 Christopher Faylor <cgf@cygnus.com>
10392
10393 * path.c (exit_cygpath): Wait for subprocess to exit before returning.
10394 (cygpath_pipe): Don't call exit_cygpath. Let main atexit routine do
10395 that.
10396 * pkg.c (init_pkgs): Accept root argument. Make registry key "cygwin
10397 root"-specific.
10398 * setup.c (filedel): Call exit_cygpath here so that we can be assured
10399 that cygpath subprocess has died. This allows us to delete cygpath.exe
10400 and cygwin1.dll.
10401 (optionprompt): Initialize response to -1 so that second screen of
10402 mirrors will appear.
10403 (get_pkg_stuff): Don't attempt to use HKCLU. Pass root to init_pkgs.
10404 * setup.h: Reflect init_pkgs prototype change.
10405
10406 Sat Apr 29 23:53:30 2000 Christopher Faylor <cgf@cygnus.com>
10407
10408 * pkg.c (init_pkgs): Accept an argument to control what root registry
10409 key should be used.
10410 * setup.c (get_pkg_stuff): Use HKCLU registry key if default fails.
10411 * setup.h: Reflect init_pkgs prototype change.
10412
10413 Sat Apr 29 23:27:14 2000 Christopher Faylor <cgf@cygnus.com>
10414
10415 * error.c (winerror): Respond to gcc warning.
10416 * path.c (cygpath_pipe): Ditto.
10417 * setup.c (filedel): Call sa_cleanup on deleteme.
10418 (create_shortcut): Coerce argument to eliminate compiler warning.
10419 (tarx): Use installed version of cygwin1.dll, overriding tar file name.
10420 (refmatches): New function. Tests if ref is contained in a list of
10421 packages to install.
10422 (filematches): New function. Tests if filename matches one of a list
10423 of packages to install.
10424 (recurse_dirs): Accept list of packages to install. Generalize tar.gz
10425 test to accomodate _tar.gz.
10426 (prompt): Ensure that stdout is flushed prior to asking for input.
10427 (findhref): Initialize variables to quiet a compiler warning.
10428 (processdirlisting): Accept list of packages to install. Special case
10429 cygwin tar file version number.
10430 (downloaddir): Accept list of packages to install.
10431 (downloadfrom): Ditto.
10432 (create_uninstall): Eliminate unneeded variables. Quote arguments to
10433 regtool.
10434 (do_start_menu): Don't create uninstall bat file if updating or user
10435 specified a list of packages.
10436 (mkmount): Eliminate unneeded variables.
10437 (get_pkg_stuff): New function. Checks for previous unversioned
10438 installation.
10439 (main): Accept -u and -f options and package names on the command line.
10440 Use get_pkg_stuff to initialize package information. Umount /etc.
10441 Call recurse_dirs and downloadfrom with list of package to install.
10442 Ensure that all /usr/local directories are created. Output
10443 installation time to setup.log.
10444 * setup.h: Add some prototypes.
10445 * xsystem.c (xcreate_process): Eliminate unneeded variable.
10446
10447 Sat Apr 29 12:43:08 2000 Christopher Faylor <cgf@cygnus.com>
10448
10449 * setup.c (optionprompt): Don't overlap display of already seen options
10450 on next page.
10451 (geturl): Print name of site which we're connecting to rather than "ftp
10452 site".
10453 (processdirlisting): Avoid URLs that contain a /. or ./ . Is this
10454 test too simplistic?
10455 (do_start_menu): Use pathcat to build path to <root>\bin to avoid
10456 problems when user chooses x:\ as their root.
10457 (main): For now, default to "non-update" mode. Allow -u option to
10458 signify an update.
10459
10460 Sat Apr 29 00:26:06 2000 Christopher Faylor <cgf@cygnus.com>
10461
10462 * pkg.c: New file.
10463 * setup.c (tarx): Skip already installed or older packages. Report
10464 when a package has been updated.
10465 (processdirlisting): Skip already installed or older packages.
10466 (main): Detect -f option for forced installation. Initialize pkg stuff
10467 if appropriate.
10468 * setup.h: Add pkg definitions.
10469
10470 Thu Apr 27 14:21:30 2000 Christopher Faylor <cgf@cygnus.com>
10471
10472 * setup.c (findhref): Return NULL on empty string. Eat any trailing
10473 ";something".
10474 (processdirlisting): Attempt to limit recursively processing the same
10475 directory.
10476
10477 Thu Apr 27 11:42:23 2000 Christopher Faylor <cgf@cygnus.com>
10478
10479 * setup.c (filedel): New function.
10480 (output_file): Keep track of files extracted from setup.exe for
10481 subsequent deletion.
10482 (tarx): Close process handle of child tar process or suffer handle
10483 leak.
10484 (getdownloadsource): Close mirror file so that it can be unlinked.
10485 (processdirlisting): Return total number of files extracted.
10486 (main): Initialize array of files to delete. Ensure that files are
10487 closed on exit. Make the directory that setup.exe is started from ==
10488 the directory where temporary files are placed. Issue an error if no
10489 files were found to download.
10490 * xsystem.c (xcreate_process): Close the thread handle. Close the
10491 process handle if we waited for it to exit.
10492
10493 Thu Apr 27 09:54:19 2000 Christopher Faylor <cgf@cygnus.com>
10494
10495 * setup.c (main): Change version number output.
10496
10497 Thu Apr 27 09:23:17 2000 Christopher Faylor <cgf@cygnus.com>
10498
10499 * setup.c (tarx): Use full path name to tar executable.
10500 (main): Build full pathname to tar executable. Create /usr/local/etc
10501 by default.
10502
10503 Wed Apr 26 22:16:57 2000 Christopher Faylor <cgf@cygnus.com>
10504
10505 * setup.c (findhref): Change method for scanning for href= to choose
10506 the last one on the line. This is still not foolproof and probably
10507 will need to be changed eventually. Don't abort if no "size" field is
10508 evident.
10509 (processdirlisting): Fix boolean algebra.
10510
10511 Wed Apr 26 01:10:39 2000 Christopher Faylor <cgf@cygnus.com>
10512
10513 * main.c (tarx): Add some code for future task of unmounting
10514 directories encountered in tar file.
10515
10516 Sat Apr 22 16:37:03 2000 Christopher Faylor <cgf@cygnus.com>
10517
10518 * setup.c (findhref): Decode file size, when appropriate.
10519 (needfile): New function. Returns 1 when file should be
10520 downloaded.
10521 (processdirlisting): Always download if file size does not
10522 match. Prompt when download fails for some reason.
10523 (getdownloadsource): Accomodate findhref argument changes.
10524
10525 Sat Apr 22 15:13:42 2000 Christopher Faylor <cgf@cygnus.com>
10526
10527 Throughout, use global session handle rather than reinitializing for
10528 each connect. Don't pass session as an argument to setup.c functions.
10529 * setup.c (geturl): Only issue "Connecting to.." message when using
10530 http or first time for ftp since subsequent connections will be fast.
10531 (processdirlisting): Allocate space for "N" when user has specified
10532 "N"ever option so that it can be subsequently freed.
10533 (main): Abort if we can't get the list of mirrors.
10534
10535 Thu Apr 20 16:41:42 2000 Christopher Faylor <cgf@cygnus.com>
10536
10537 * setup.c (main): Umount /bin and /lib.
10538
10539 Wed Apr 19 13:34:44 2000 Christopher Faylor <cgf@cygnus.com>
10540
10541 * setup.c (main): Create an empty /var/run/utmp.
10542
10543 Tue Apr 18 19:16:56 2000 Christopher Faylor <cgf@cygnus.com>
10544
10545 * Makefile.in: Add umount to list of files to include in setup.exe.
10546 * setup.c (xumount): New function for unmounting directories.
10547 (main): Unmount /usr.
10548 (mkmount): Unmount "unix directory" before trying to figure out where
10549 to create the directory.
10550
10551 Tue Apr 18 17:28:55 2000 Christopher Faylor <cgf@cygnus.com>
10552
10553 * setup.c (mkmount): Use xcreate_process to start mount process,
10554 avoiding the shell.
10555 (main): Don't do buffering on stdout or prompts won't be displayed
10556 correctly if running in a cygwin shell with CYGWIN=tty.
10557
10558 Tue Apr 18 15:35:19 2000 Christopher Faylor <cgf@cygnus.com>
10559
10560 * setup.c (main): Remove the CYGWIN environment variable before
10561 starting any cygwin programs.
10562
10563 Mon Apr 17 19:20:52 2000 Vadim Egorov <egorovv@mailandnews.com>
10564
10565 * setup.c (geturl): Use alternative method for finding filename part of
10566 a URL.
10567 (processdirlisting): Accomodate strange output from non-MS ftp proxy.
10568 (downloaddir): Unlink file containing dir listing.
10569 (downloadfrom): Ditto.
10570
10571 Mon Apr 17 00:00:49 2000 Christopher Faylor <cgf@cygnus.com>
10572
10573 * setup.c (main): Disallow running setup.exe from the "root".
10574
10575 Sun Apr 16 18:50:58 2000 Christopher Faylor <cgf@cygnus.com>
10576
10577 Use "warning" function, where appropriate, to output warnings.
10578 * setup.c (warning): New function -- outputs warning to console and log
10579 file.
10580 (tarx): Fix index used to reset file protection.
10581 (main): Open the log file earlier so that more stuff can be sent to it.
10582
10583 Sat Apr 15 20:05:33 2000 Christopher Faylor <cgf@cygnus.com>
10584
10585 * setup.c (processdirlisting): Make "N" option a little less aggressive.
10586
10587 Fri Apr 14 11:11:29 2000 Christopher Faylor <cgf@cygnus.com>
10588
10589 * setup.c (tarx): Wait to after tar has completed to reset protections
10590 or suffer races with tar process.
10591
10592 Thu Apr 13 12:51:19 2000 Christopher Faylor <cgf@cygnus.com>
10593
10594 * Makefile.in: Eliminate duplicate -nostdinc from CFLAGS.
10595 * setup.c (create_uninstall): Create the uninstall .bat file in the
10596 "root" so that we can remove the /bin directory. Add bin\cygwin.bat to
10597 list of files to be deleted. Fix directory detection for determining
10598 when to use 'rmdir'.
10599 (do_start_menu): Add /usr/local/bin to the path.
10600 (main): Add slop to files.array allocation so that we don't have to
10601 worry about reallocating the array when it grows too large when doing
10602 some trivial "pushes". Add /tmp and /usr/local/{bin,lib} to list of
10603 files.
10604
10605 Thu Apr 13 01:59:44 2000 Christopher Faylor <cgf@cygnus.com>
10606
10607 * setup.c (processdirlisting): Fix handling of "A" for "A"lways
10608 download.
10609
10610 Thu Apr 13 01:11:45 2000 Christopher Faylor <cgf@cygnus.com>
10611
10612 * path.c (kill_cygpath): New cleanup function.
10613 (exit_cygpath): New cleanup function.
10614 (cygpath_pipe): New function. Sets up cygpath in the background for
10615 translating filenames.
10616 (pathcvt): Use background cygpath for file translation.
10617 * setup.c (tarx): New function. Called to extract tar files, capture
10618 logging output, and translate it to Windows format.
10619 (recurse_dirs): Use 'tarx' function to extract files.
10620 (create_uninstall): Use file list built up by tarx rather than reading
10621 the log file.
10622 (mkmount): Add ability to mount root.
10623 (main): Track elapsed install time. Mount root.
10624 * starry.h: Add index field to strarry for tracking of tarx's usage of
10625 this structure.
10626 * xsystem.c (xcreate_process): Return proces handle when not waiting.
10627
10628 Mon Apr 10 22:44:56 2000 Christopher Faylor <cgf@cygnus.com>
10629
10630 * path.c: New file.
10631 (pathfp): New function. Preliminary work for new -f cygpath
10632 functionality.
10633 * Makefile.in: Add new file.
10634 (pathcvt): Move to new file.
10635 (dtoupath): Ditto.
10636 (utodpath): Ditto.
10637 (pathcat): Ditto.
10638 * setup.c (processdirlisting): Always open file in text mode.
10639 (create_uninstall): Ditto.
10640 (getdownloadsource): Ditto.
10641 (main): Ditto.
10642
10643 Mon Apr 10 20:33:40 2000 Christopher Faylor <cgf@cygnus.com>
10644
10645 * xsystem.c: New file.
10646 * Makefile.in: Accomodate new file.
10647 * setup.c (xsystem): Move to new file.
10648 (recurse_dirs): Accept handle to output log file. Don't use ">"
10649 redirection to trap tar output. Use supplied handle instead.
10650 (create_uninstall): Accept FILE pointer to opened log file. Don't
10651 unlink log file here.
10652 (do_start_menu): Accept FILE pointer to pass to create_uninstall.
10653 (main): Open log file here and pass it to various functions. Unlink
10654 when done.
10655
10656 Mon Apr 10 17:15:52 2000 Christopher Faylor <cgf@cygnus.com>
10657
10658 Change occurrences of .usr.bin to .bin throughout.
10659 * setup.c (geturl): Increase number of retries to 20. Let user know
10660 what's going on during long connects.
10661 (processdirlisting): Accept "A"lways and "N"ever as update options.
10662 (create_uninstall): Load cygwin1.dll from the current directory rather
10663 than \bin.
10664 (main): Add some expository text.
10665
10666 Sun Apr 9 20:59:15 2000 Christopher Faylor <cgf@cygnus.com>
10667
10668 * Makefile.in: Change method for compressing cygwin1.dll to avoid
10669 creating a cygwin1.dll in the current directory. Ensure the addition
10670 of -nostdinc to MINGW_CFLAGS.
10671
10672 Sun Apr 9 02:15:47 2000 Christopher Faylor <cgf@cygnus.com>
10673
10674 * Makefile.in: Augment clean target.
10675
10676 Fri Apr 7 17:04:02 Ron Parker <rdparker@sourceware.cygnus.com>
10677
10678 * README: Added info about non-working mingw implementation
10679 * gzip.exe.gz: Replace with a version from the same build as the other
10680 tools.
10681 * tar.exe.gz: Replace with a version from the same build as the other
10682 tools.
10683 * mount.exe.gz: Add to repository until, mingw can build setup.
10684 * cygpath.exe.gz: ditto
10685 * cygwin1.dll.gz: ditto
10686 * setup.c: Overwrite /bin and /lib mounts. Generate working shortcut
10687 for Win9x. Display only a screenfull of options at a time. Call all
10688 tools with an absolute path.
10689 * setup.dsp: Restore the carriage returns, MS Developer Studio needs
10690 them.
10691 * setup.dsw: ditto
10692 * zlib.dsw: ditto
10693
10694 Thu Apr 6 19:15:27 2000 Christopher Faylor <cgf@cygnus.com>
10695
10696 * Makefile.in: Add "-nostdinc" to regular CFLAGS. Add target to grab
10697 cygwin1.dll from ../cygwin subdirectory.
10698 * gzip.exe.gz: Update.
10699 * tar.exe.gz: Update.
10700
10701 Wed Apr 5 10:52:08 2000 Christopher Faylor <cgf@cygnus.com>
10702
10703 * Makefile.in: Use ZLIB variable as a target.
10704
10705 Sat Apr 1 22:49:09 2000 Christopher Faylor <cgf@cygnus.com>
10706
10707 * Makefile.in: Eliminate traces of cygwinisms. Don't link with
10708 libmsvcrt.a. It's unneeded. Build .rc file on the fly from various
10709 sources.
10710 * configure.in: Locate correct objcopy.
10711 * configure: Regenerate.
10712
10713 Sat Apr 1 20:48:09 2000 Christopher Faylor <cgf@cygnus.com>
10714
10715 * Makefile.in: New file.
10716 * configure.in: New file.
10717 * configure: New file.
10718 * zlib/Makefile.am: New file.
10719 * zlib/configure.in: New file.
10720 * zlib/aclocal.m4: New file.
10721 * zlib/acinclude.m4: New file.
10722 * zlib/configure: Regenerate from configure.in.
10723 * zlib/Makefile.in: Regenerate from Makefile.am
10724
10725 %%% $Id$
10726 $Revision$
This page took 0.502478 seconds and 5 git commands to generate.