]> cygwin.com Git - cygwin-apps/setup.git/blob - ChangeLog
* Makefile.am (AM_CXXFLAGS): Add source file specific CXXFLAGS.
[cygwin-apps/setup.git] / ChangeLog
1 2013-03-25 Corinna Vinschen <corinna@vinschen.de>
2
3 * Makefile.am (AM_CXXFLAGS): Add source file specific CXXFLAGS.
4 (inilex_CXXFLAGS): Add -Wno-sign-compare to workaround failing build
5 on Fedora 18 due to bison creating sign comparison mismatches in
6 generic yylex wrapper code.
7
8 2013-06-22 Christopher Faylor <me.cygwin2013@cgf.cx>
9
10 * ini.h (SETUP_BZ2_FILENAME): Reflect new architecture layout in ftp.
11 (SETUP_INI_FILENAME): Ditto.
12 * main.cc (Arch): New option. Include StringOption.h for this.
13 (WinMain): Change is_64bit calculation to allow overriding from
14 command-line. Issue error if bad value provided.
15 * res.rc: Move some text closer together.
16 * splash.cc: Include ini.h. Add architecture to opening screen.
17
18 * UserSettings.cc (UserSettings::get): Don't try to open a filename
19 with the name of the key. That's old behavior.
20
21 2013-06-20 Christopher Faylor <me.cygwin2013@cgf.cx>
22
23 * res.rc: Update copyright.
24
25 2013-04-05 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
26
27 * Makefile.am (EXTRA_DIST): Add setup64.exe.manifest.
28 (res.o): Depend on arch-specific manifest file.
29 * res.rc (CREATEPROCESS_MANIFEST_RESOURCE_ID): Add separate
30 definition for x86-64.
31 * setup.exe.manifest: Throughout, set processorArchitecture to x86.
32 Remove trustInfo section.
33 * setup64.exe.manifest: New file.
34
35 2013-03-22 Corinna Vinschen <corinna@vinschen.de>
36
37 * desktop.cc (do_desktop_setup): Install "Cygwin64 Terminal" link on
38 64 bit.
39 (DesktopSetupPage::OnActivate): Check for "Cygwin64 Terminal" link on
40 64 bit.
41 * main.cc (main_display): Avoid compiler warning on 64 bit.
42 * mount.cc (from_fstab): Take 2nd parameter as const by reference to
43 avoid potential crash due to scope issue.
44
45 2013-03-14 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
46
47 * configure.ac: Remove check for libmingw32.
48 (SETUP): Define EXE name based on host_cpu.
49 (MINGWTARGET): Remove.
50 * Makefile.am: Use SETUP throughout. Remove MINGWTARGET conditional.
51 Add -lmingw32 to LDFLAGS.
52 * ini.h (is_64bit): Declare.
53 (SETUP_INI_FILENAME): Make dependent on value of is_64bit.
54 (SETUP_BZ2_FILENAME): Ditto.
55 * main.cc (is_64bit): Define based on compiler target.
56 * mount.h (SETUP_KEY_WOW64): Define based on value of is_64bit.
57 * install.cc (create_allow_protected_renames): Add SETUP_KEY_WOW64
58 flag to RegOpenKeyEx call.
59 * mount.cc: Throughout, add SETUP_KEY_WOW64 flag to all RegOpenKeyEx
60 and RegCreateKeyEx calls.
61 (read_mounts): Change default Cygwin root depending on is_64bit.
62
63 2013-03-05 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
64
65 Throughout, drop support for Cygwin 1.5 and Windows pre-2000.
66
67 2013-03-04 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
68
69 * install.cc (FileInuseDlgProc): Fix return type.
70 * regex/regcomp.c (parse_dup_op): Fix invalid cast warning.
71 (create_token_tree): Ditto.
72 * setup.exe.manifest: Set processorArchitecture to "*".
73 Add explicit requestedExecutionLevel for 64-bit compatibility.
74
75 2013-03-04 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
76
77 * Makefile.am (inilint_extras): Remove autoload.c.
78 (setup_SOURCES): Ditto.
79 (setup_LDADD): Add ntdll and wininet.
80 (autoload.o): Remove rule.
81 * autoload.c: Remove file.
82
83 2013-03-03 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
84
85 * Makefile.am (res.o): Add rule to force rebuild upon change
86 to setup.exe.manifest, which is included by res.rc.
87
88 2013-02-17 Christopher Faylor <me.cygwin2013@cgf.cx>
89
90 * configure.ac: Rename from configure.in.
91 * configure.in: Delete.
92 * libgetopt++/configure.ac: Rename from configure.in.
93 * libgetopt++/configure.in: Delete.
94 * Makefile.am: Remove ill-advised iniparse.hh change.
95 * libgetopt++/Makefile.am: Use "modern" AM_CPPFLAGS rather than INCLUDES.
96 * inilex.ll: Add autodep token recognition.
97 * iniparse.yy: Handle autodep.
98 * IniDBBuilder.h (autodep): Define for base class.
99 * IniDBBuilderPackage.cc (IniDBBuilderPackage::autodep): Define.
100 * IniDBBuilderPackage.h (IniDBBuilderPackage::autodep): Declare.
101
102 2013-02-17 Christopher Faylor <me.cygwin2013@cgf.cx>
103
104 * Makefile.am: Add regex.c to list of sources.
105 (iniparse.hh): Rename if a iniparse.h has been created.
106 * regex/config.h: New file.
107 * regex/re_comp.h: New file.
108 * regex/regcomp.c: New file.
109 * regex/regex.c: New file.
110 * regex/regex.h: New file.
111 * regex/regex_internal.c: New file.
112 * regex/regex_internal.h: New file.
113 * regex/regexec.c: New file.
114 * processlist.cc (Process::isModuleLoadedInProcess): Avoid compiler
115 warning by changing 'i' to unsigned.
116
117 2013-01-25 Achim Gratz <Stromeko@nexgo.de>
118 * README (HOW TO BUILD): Cross compiler package is now named
119 mingw-gcc-g++, also mention package upx as an optional dependency.
120
121 2013-02-01 Jon TURNEY <jon.turney@dronecode.org.uk>
122
123 * install.cc ( _custom_MessageBox): Remove custom message box.
124 (FileInuseDlgProc): Add file-in-use dialog box.
125 (installOne): Use processlist to list processes using a file, and
126 offer to kill them with the file-in-use dialog.
127 * res.rc (IDD_FILE_INUSE) : New dialog.
128 * resource.h (IDD_FILE_INUSE, IDC_FILE_INUSE_EDIT)
129 (IDC_FILE_INUSE_MSG, IDC_FILE_INUSE_HELP): Define corresponding
130 resource ID numbers.
131 * processlist.h: New file.
132 * processlist.cc: New file.
133 * Makefile.am (setup_LDADD): Add -lpsapi.
134 (setup_SOURCES): Add new files.
135
136 2013-02-01 Jon TURNEY <jon.turney@dronecode.org.uk>
137
138 * script.cc (::run, Script::run): Move the formatting of the command
139 line used for postinstall script running out to Script::run. Move the
140 logging of the command and it's output into ::run.
141 * script.h: Add ::run() prototype.
142
143 2013-01-17 Jon TURNEY <jon.turney@dronecode.org.uk>
144
145 * configure.in: Require automake 1.12.
146 * Makefile.am (BUILT_SOURCES): Update iniparse.h to iniparse.hh.
147 * iniparse.yy: Ditto.
148 * inilex.ll: Ditto.
149
150 2013-01-16 Jon TURNEY <jon.turney@dronecode.org.uk>
151
152 * threebar.cc (ThreeBarProgressPage::SetBar2): Change from long int to
153 long long int to handle more than 2GB of data.
154 * threebar.h (ThreeBarProgressPage::SetBar2): Update prototype.
155 * install.cc: Change md5sum and install counters to long long int.
156 * geturl.cc: Change download counter to long long int.
157 * geturl.h: Ditto.
158
159 2012-11-08 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
160
161 * Makefile.am (EXTRA_DIST): Remove libmd5-rfc files.
162 (setup_SOURCES): Ditto.
163 * download.cc: Remove unused include.
164 * csu_util/MD5Sum.cc: Port from libmd5-rfc to libgcrypt.
165 * csu_util/MD5Sum.h: Ditto.
166 * libmd5-rfc/*: Remove.
167
168 2012-10-19 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
169
170 * bootstrap.sh: Add support for i686-w64-mingw32 toolchain.
171 Remove support for gcc-3 -mno-cygwin.
172
173 2012-09-12 Christopher Faylor <me.cygwin2012@cgf.cx>
174
175 * README: Modernize.
176 * bootstrap.sh: Remove outdated options from configure. Use mingw
177 compiler.
178 * configure.in: Remove AM_MAINTAINER_MODE.
179
180 2012-09-04 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
181
182 Fix build with mingw-w64 headers.
183 * autoload.c: Define DECLSPEC_IMPORT for mingw-w64 headers.
184 * filemanip.h: Include <sys/types.h> to fix missing mode_t typedef
185 error with mingw-w64 headers.
186 * gpg-packet.cc: Include "win32.h" to avoid macro redefinition
187 errors with mingw-w64 headers.
188 (ARRAYSIZE): Do not redefine.
189 * main.cc (_argv): Declare if using mingw-w64 headers.
190 (WinMain): Move up _argv definition to before it is first used.
191 * ntdll.h: Include PSDK headers with mingw-w64 instead of DDK.
192 * package_message.h: Include "win32.h" instead of <windows.h>.
193 * propsheet.cc (PROPSHEETHEADER_V1_SIZE): Do not redefine.
194 * win32.h: Include <sys/types.h> to fix missing mode_t typedef
195 error with mingw-w64 headers.
196 Define DECLSPEC_IMPORT for mingw-w64 headers.
197
198 2012-08-30 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
199
200 First step towards X86-64 compatibility.
201 * archive_tar.cc (archive_tar::next_file_name): Fix sscanf formats
202 for 64-bit size_t.
203 * choose.cc (ChooserPage::OnMouseWheel): Fix return type.
204 * choose.h (ChooserPage::OnMouseWheel): Ditto.
205 * filemanip.cc (nt_wfopen): Fix argument cast for _open_osfhandle.
206 * netio.cc (auth_proc): Fix return type.
207 * proppage.cc (PropertyPage::FirstDialogProcReflector): Fix return type.
208 Use SetWindowLongPtr and DWLP_* instead of SetWindowLong and DWL_*.
209 (PropertyPage::DialogProcReflector): Ditto.
210 (PropertyPage::DialogProc): Ditto.
211 (PropertyPage::OnMouseWheel): Ditto.
212 * proppage.h (PropertyPage::FirstDialogProcReflector): Fix return type.
213 (PropertyPage::DialogProcReflector): Ditto.
214 (PropertyPage::DialogProc): Ditto.
215 (PropertyPage::OnMouseWheel): Ditto.
216 * site.cc (drop_proc): Fix return type.
217 * window.cc (Window::FirstWindowProcReflector): Use GWLP_* with
218 SetWindowLongPtr calls.
219 (Window::WindowProcReflector): Ditto.
220
221 2012-08-30 Jacek Caban <jacek@codeweavers.com>
222 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
223
224 * main.cc: Remove CINTERFACE define.
225 (main_display): Use C++ syntax for COM.
226 * mklink2.cc: Remove CINTERFACE define.
227 (make_link_2): Use C++ syntax for COM.
228
229 2012-08-21 Christopher Faylor <me.cygwin2012@cgf.cx>
230
231 * setup.exe.manifest: Reorder "supportedOS" entries and add entry for
232 Windows 8.
233
234 2012-06-03 Christopher Faylor <me.cygwin2012@cgf.cx>
235
236 * main.cc: Remove __CYGWIN__ ifdefs.
237 (main): Ditto.
238
239 2012-06-01 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
240
241 * Makefile.am (setup_version.c): Respect silent rules.
242 (.rc.o): Ditto.
243 * configure.in: Enable silent rules with automake-1.11.
244
245 2012-04-29 Christopher Faylor <me.cygwin2012@cgf.cx>
246
247 * window.cc: Remove trailing whitespace.
248
249 2012-04-28 Christopher Faylor <me.cygwin2012@cgf.cx>
250
251 * io_stream_file.cc (io_stream_file::exists): Properly treat return
252 from GetFileAttributesW as a bit field so that a directory will not be
253 seen as "existing".
254
255 2012-04-26 Corinna Vinschen <corinna@vinschen.de>
256
257 * script.cc (run): Add quotes around file to allow spaces in path.
258 (Script::run): Add aforementioned quotes to log output as well.
259
260 2012-03-08 Corinna Vinschen <corinna@vinschen.de>
261
262 * win32.h (FACTOR): Define, use correct value.
263 (NSPERSEC): Ditto.
264 * archive_tar.cc: Drop FACTOR and NSPERSEC definitions here.
265 * io_stream_cygfile.cc: Ditto.
266 * io_stream_file.cc: Ditto.
267
268 2012-02-29 Corinna Vinschen <corinna@vinschen.de>
269
270 * win32.cc (NTSecurity::GetPosixPerms): Don't allow write permissions
271 in inheritable default permission ACEs for group and other if the
272 directory is an S_ISVTX dir.
273
274 2012-02-24 Christopher Faylor <me.cygwin2012@cgf.cx>
275
276 * bootstrap.sh: Don't assume that libgetopt++ exists in source directory.
277 * configure.in: Remove some old options.
278 * Makefile.am: Ditto.
279 * libgetopt++/Makefile.am: Ditto.
280 * libgetopt++/configure.in: Ditto.
281
282 2012-02-24 Corinna Vinschen <corinna@vinschen.de>
283
284 * main.cc (WinMain): Move call to nt_sec.setDefaultSecurity here so
285 it's called earlier in the process. This avoids spurious error
286 messages in --help output.
287
288 2012-02-23 Jon TURNEY <jon.turney@dronecode.org.uk>
289
290 * main.cc (main_display): Move --help output from here ...
291 (WinMain): ... to here, so we don't logging of the current directory
292 and any errors from constructing a UserSettings object preceding the
293 --help output.
294
295 2011-05-30 SZAVAI Gyula <szgyg@ludens.elte.hu>
296
297 * site.cc (SiteSetting::SiteSetting): Handle multiple
298 --site options.
299 * crypto.cc (verify_ini_file_sig): Handle multiple
300 --pubkey and --sexpr-pubkey options.
301 * package_meta.cc (packagemeta::isManuallyWanted): Handle
302 multiple --packages and --categories options.
303
304 2012-02-22 Christopher Faylor <me.cygwin2012@cgf.cx>
305
306 * res.rc: Change copyright notice to -2012.
307
308 2012-02-19 Corinna Vinschen <corinna@vinschen.de>
309
310 * PickView.cc (PickView::list_click): Mark variable refresh as unused
311 to avoid compiler warning.
312 * nio-ftp.cc (NetIO_FTP::ok): Remove variable code to avoid compiler
313 warning.
314 * proppage.cc (PropertyPage::DialogProc): Ditto for retval.
315
316 * setup.exe.manifest: Add supportedOS entries to avoid annoying
317 "This program might not have installed correctly" PCA message on
318 Windows 7.
319
320 2011-12-22 Christopher Faylor <me.cygwin2011@cgf.cx>
321
322 * compress.cc: Explicitly include needed header.
323 * compress_bz.cc: Ditto.
324 * mkdir.h: Ditto.
325 * io_stream_cygfile.cc: Eliminate obsolete attempt to build as
326 non-mingw.
327 * io_stream_file.cc: Ditto throughout.
328 * mkdir.cc: Ditto.
329
330 2011-12-21 Jon TURNEY <jon.turney@dronecode.org.uk>
331
332 * choose.cc (OnInit): Properly mark packages which were selected on
333 command line in unattended mode for download and installation.
334
335 2011-09-08 Christopher Faylor <me.cygwin2011@cgf.cx>
336
337 * io_stream.h: Just call sys/types.h here rather than using our own
338 version of ssize_t.
339
340 2011-09-01 Corinna Vinschen <corinna@vinschen.de>
341
342 * CONTRIBUTORS: Add Warren Young.
343
344 2011-08-16 Corinna Vinschen <corinna@vinschen.de>
345 Warren Young <warren@etr-usa.com>
346
347 * cygwin-setup.ico: Slightly modified.
348 * cygwin-terminal.ico: Ditto.
349
350 2011-08-15 Corinna Vinschen <corinna@vinschen.de>
351 Warren Young <warren@etr-usa.com>
352
353 * cygwin.ico: New, smoother 152x152 icon.
354
355 2011-08-13 Jon TURNEY <jon.turney@dronecode.org.uk>
356
357 * choose.cc (OnInit, createListview): Build the initial list of packages
358 to install in OnInit() not in CreateListView(). If packages were
359 selected on command line in unattended mode, just install those
360 packages.
361 * package_db.h (packagedb): Add addCommandLinePackages() method.
362 * package_db.cc (addCommandLinePackages): Add separate method to add
363 these so we can indicate if packages were added on the command line.
364
365 2011-08-13 Jon TURNEY <jon.turney@dronecode.org.uk>
366
367 * PickView.cc (defaultTrust): Move implementation which deals with
368 package db from here...
369 * package_db.cc (defaultTrust): ... to here.
370 * package_db.h (packagedb): ... a new member function.
371
372 2011-08-12 Corinna Vinschen <corinna@vinschen.de>
373
374 * res.rc: Move spash icon slightly. Fix copyright.
375
376 2011-08-12 Corinna Vinschen <corinna@vinschen.de>
377 Warren Young <warren@etr-usa.com>
378
379 * cygwin-setup.ico: New file.
380 * cygwin-terminal.ico: New file.
381 * cygwin.ico: New icons.
382 * desktop.cc (make_link): Take additional argument to take arguments
383 for shortcut. Append arg to argbuf.
384 (start_menu): Take additional argument to take argments for shortcut.
385 Add to call to make_link.
386 (desktop_icon): Ditto.
387 (save_icon): Take path and name of resource as arguments. Replace
388 Cygwin icon if it's the old one.
389 (do_desktop_setup): Save Cygwin standalone and Cygwin terminal icons.
390 Rename desktop and start menu shortcut name to "Cygwin Terminal", use
391 the cygwin terminal icon for them, and point them to mintty.
392 * res.rc: Change splash icon to keep size of original icon.
393 (IDI_CYGWIN_SETUP): New entry.
394 (IDI_CYGWIN_TERMINAL): New entry.
395 (CYGWIN-SETUP.ICON): New entry.
396 (CYGWIN-TERMINAL.ICON): New entry.
397 * resource.h (IDI_CYGWIN_SETUP): Define.
398 (IDI_CYGWIN_TERMINAL): Define.
399
400 2011-07-25 Jon TURNEY <jon.turney@dronecode.org.uk>
401
402 * install.cc (do_install_thread): Only set progress bar output if at least
403 one package gets installed, to avoid a cosmetic issue.
404
405 2011-07-25 Corinna Vinschen <corinna@vinschen.de>
406
407 * desktop.cc (make_link): Create shortcuts to command.com only on 9x.
408
409 2011-07-20 Andy Koppe <andy.koppe@gmail.com>
410
411 * res.rc: Remove Prev button from chooser page.
412 * resource.h: Reflect removal of Prev button.
413 * package_meta.h (trustp): Ditto.
414 * choose.cc: Ditto.
415
416 2011-04-24 Jon TURNEY <jon.turney@dronecode.org.uk>
417
418 * download.cc (do_download_thread): Update progress display
419 when download phase starts
420
421 2011-04-24 Jon TURNEY <jon.turney@dronecode.org.uk>
422
423 * install.cc (do_install_thread): Report overall progress while
424 md5summing packages.
425
426 2011-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
427
428 * archive_tar_file.cc (read): Handle short reads
429
430 2011-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
431
432 * compress_bz.h (compress): Remove unused bufN member.
433 * compress_bz.cc (read): Handle bzip2 files containing multiple
434 streams
435
436 2011-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
437
438 * install.cc (extract_replace_on_reboot): New function containg code
439 extracted from...
440 (installOne): Report read errors differently to write errors
441 * archive.cc (extract_file): Distinguish read errors from write errors
442
443 2011-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
444
445 * io_stream.cc (copy): Propagate errors.
446
447 2011-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
448
449 * compress_bz.cc (read, peek): Consistently return -1 and set lasterr
450 on an error.
451 * compress_gz.cc (read, write, peek): Ditto.
452
453 2011-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
454
455 * archive_tar_file.cc (read, write, peek, seek): Consistently return -1
456 and set lasterr on an error.
457
458 2011-01-02 Jon TURNEY <jon.turney@dronecode.org.uk>
459
460 * crypto.c (ExtraKeyOption): Correct option description.
461
462 2010-12-16 Jon TURNEY <jon.turney@dronecode.org.uk>
463
464 * prereq.cc (OnNext, whatNext, OnUnattended): Fix PrereqPage::OnUnattended()
465 so PrereqPage behaves correctly in unattended modes.
466 * prereq.h (PrereqPage): Ditto
467 * proppage.cc (DialogProc): Update comment to clarify meaning of
468 OnUnattended() returning 0.
469
470 2010-11-26 Jon TURNEY <jon.turney@dronecode.org.uk>
471
472 * site.cc (init): Canonicalize mirror URLs to ensure the end
473 with a '/'.
474
475 2010-11-19 Jon TURNEY <jon.turney@dronecode.org.uk>
476
477 * IniDBBuilderPackage.cc (IniDBBuilderPackage): Remove db.packages vector
478 sorting.
479 (buildPackage, buildPackageSource): Change package collection from vector
480 to map.
481 * PickView.cc (setViewMode, init_headers, defaultTrust): Ditto.
482 * choose.cc (createListview, logResults, keepClicked)
483 (changeTrust): Ditto
484 * install.cc (do_install_thread): Ditto
485 * download.cc (do_download_thread): Ditto
486 * prereq.cc (isMet): Ditto
487 * package_meta.cc (ScanDownloadedFiles): Ditto
488 * package_db.h (packagedb): Ditto
489 * package_db.cc (packagedb, flush, markUnVisited, setExistence)
490 (fillMissingCategory): Ditto
491 (findBinary, findSource): Rewrite to locate packages in map rather than
492 searching the whole vector, for performance.
493 (ConnectedLoopFinder, doIt, visit): Rewrite to refer to package using a
494 packagemeta *, as an index into the vector of packages can no longer be
495 used.
496
497 2010-11-25 Corinna Vinschen <corinna@vinschen.de>
498
499 * package_db.cc (ConnectedLoopFinder::doIt): Drop hardcoded base-cygwin
500 dependency setting. Fix comment.
501
502 2010-11-23 Corinna Vinschen <corinna@vinschen.de>
503
504 * package_db.cc (ConnectedLoopFinder::doIt): Drop hardcoded base-passwd
505 dependency setting. Fix condition for base-cygwin string check.
506
507 2010-11-06 Jon TURNEY <jon.turney@dronecode.org.uk>
508
509 * package_meta.h (packagemeta): Remove unused member variables for
510 storing timestamp of the setup.ini that package version came from.
511 * package_meta.cc (packagemeta): Ditto.
512
513 2010-11-06 Jon TURNEY <jon.turney@dronecode.org.uk>
514
515 * package_version.h (packageversion): Add compareVersion() utility
516 function.
517 * package_version.cc (Vendor_version, Package_version)
518 (compareVersions): Implement the Vendor_version() and Package_version()
519 accessor functions. Add compareVersions() utility function.
520 * cygpackage.cc (setCanonicalVersion): Fix to extract vendor version
521 correctly.
522 * IniDBBuilderPackage.cc (add_correct_version): When multiple setup.ini's
523 offer different packages for the same stability level, use the package with
524 the highest version number rather than the package coming from the setup.ini
525 with the latest timestamp.
526
527 2010-11-19 Jon TURNEY <jon.turney@dronecode.org.uk>
528
529 * choose.cc (OnNext): Remove PrereqChecker call, instead use new
530 WM_APP_PREREQ_CHECK state of Progress dialog.
531 * threebar.h (WM_APP_PREREQ_CHECK)
532 (WM_APP_PREREQ_CHECK_THREAD_COMPLETE): Add new messages.
533 * threebar.cc (OnActivate, OnMessageApp): Use single bar mode for
534 WM_APP_PREREQ_CHECK state. Handle new messages.
535 * dialog.h (do_prereq_check_thread): Add prototype.
536 * prereq.cc (isMet, do_prereq_check_thread)
537 (do_prereq_check_reflector, do_prereq_check): Add progress reporting
538 during isMet, and thread containing moved PrereqChecker code.
539
540 2010-11-17 Jon TURNEY <jon.turney@dronecode.org.uk>
541
542 * package_meta.cc (set_action): Always set the binary tick box
543 when selecting a specific version (if binary is available)
544
545 2010-11-17 Jon TURNEY <jon.turney@dronecode.org.uk>
546
547 * postinstall.cc (do_postinstall_thread): Refer to "Unknown package"
548 rather than "No package"
549
550 2010-11-19 Christopher Faylor <me+cygwin@cgf.cx>
551
552 Throughout, change all occurrences of "PostMessage" to PostMessageNow.
553 This works around problem where w32api uses a #define which calls the
554 Windows API version of PostMessage directly, confusing g++ 3.4.4.
555
556 2010-11-07 Jon TURNEY <jon.turney@dronecode.org.uk>
557
558 * propsheet.cc (PropSheetProc): Set the big icon for the propsheet
559 window
560
561 2010-11-07 Jon TURNEY <jon.turney@dronecode.org.uk>
562
563 * ini.cc (GuiParseFeedback::progress, GuiParseFeedback::iniName):
564 Update all the text in the progress dialog whilst parsing .ini file,
565 not just the top line.
566
567 2010-11-07 Jon TURNEY <jon.turney@dronecode.org.uk>
568
569 * choose.cc (OnBack): Move PlaceDialog(false) so window is resized in
570 'Install from Local Directory' mode as well.
571
572 2010-11-06 Jon TURNEY <jon.turney@dronecode.org.uk>
573
574 * res.rc (IDD_NET): Make text referring to IE5 more general
575
576 2010-11-04 Jon TURNEY <jon.turney@dronecode.org.uk>
577
578 * compress_bz.h (compress): Add endReached flag.
579 * compress_bz.cc (read, compress_bz): Use endReached flag to return 0
580 for a read when EOF has been reached, after BZ2_bzDecompress returns
581 BZ_STREAM_END, rather than continue to try to call BZ2_bzDecompress
582 beyond the end of the compressed data, generating a BZ_SEQUENCE_ERROR.
583 * ini.cc (do_remote_ini): Now that bz2_stream doesn't always have a
584 spurious error, detect and report if an error occurred decompressing.
585
586 2010-09-13 Václav Haisman <v.haisman@sh.cvut.cz>
587
588 * propsheet.cc (PropSheet::SetActivePage): Remove :: from call to
589 PropSheet_SetCurSel.
590 (PropSheet::SetActivePageByID): Remove :: from call to
591 PropSheet_SetCurSelByID.
592 (PropSheet::SetButtons): Remove :: from call to PropSheet_SetWizButtons.
593 (PropSheet::PressButton): Remove :: from call to PropSheet_PressButton.
594
595 2010-09-07 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
596
597 * postinstall.cc: Add #include <algorithm> to fix build with gcc-4.x.
598
599 2010-08-29 Jon TURNEY <jon.turney@dronecode.org.uk>
600
601 * postinstall.cc (do_postinstall_thread): Don't run postinstall
602 scripts belonging to a just installed package twice.
603 * script.h (Script): Add operator ==
604
605 2010-08-25 Andy Koppe <andy.koppe@gmail.com>
606
607 * script.cc (init_run_script): Set CYGWINFORALL="-A" for
608 postinstall/preremove scripts when installing for all users.
609
610 2010-08-19 Andy Koppe <andy.koppe@gmail.com>
611
612 * package_meta.h (packagemeta::trustp): Update non-experimental
613 packages too when Exp is selected.
614
615 2010-08-18 Andy Koppe <andy.koppe@gmail.com>
616
617 * res.rc (IDD_PREREQ): Say "Resolving Dependencies" instead of
618 "Unmet Dependencies found"
619 * prereq.cc (PrereqPage::OnNext): Tone down message box about
620 missing dependencies.
621
622 2010-08-15 Andy Koppe <andy.koppe@gmail.com>
623
624 * postinstall.cc (PostInstallResultsPage::OnNext):
625 Remove postinstall script error message box.
626 * res.rc (IDS_POSTINSTALL): Try to make postinstall errors
627 less scary.
628
629 2010-08-11 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
630
631 * bootstrap.sh: Allow running from a builddir. Run configure
632 unless NOCONFIGURE is defined.
633 * doconfigure: Remove.
634 * Makefile.am (EXTRA_DIST): Remove doconfigure.
635 * README: Document that bootstrap.sh runs configure.
636 Remove reference to doconfigure.
637
638 2010-08-10 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
639
640 * configure.in: Check for prerequisites' headers.
641 * Makefile.am: Remove libinilex.a library, instead...
642 (inilint_SOURCES): Add inilex.ll. (setup_SOURCES): Ditto.
643 * inilex.ll: Use option nounput to avoid "defined but not used"
644 warning from yyunput().
645
646 2010-08-10 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
647
648 Fix compatibility with GCC 4.x.
649 * Makefile.am (setup_LDFLAGS): Pass -static to compiler instead of
650 linker so that libgcc is statically linked as well.
651 (autoload.o): Disable optimization.
652 * localdir.cc (browse_cb): Fix "jump to case label crosses
653 initialization" error.
654 * mklink2.cc (sfli): Fix "non-local variable uses anonymous type"
655 warning.
656 * ntdll.h: Fix "redeclared without dllimport attribute: previous
657 dllimport ignored" warnings.
658 * package_message.h (display): Fix "'exit' was not declared in this
659 scope" error.
660
661 2010-08-10 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
662
663 * Makefile.am: Treat libgetopt++ as full-fledged SUBDIRS.
664 (setup_LDADD): Always link against included libgetopt++.
665
666 2010-08-08 Corinna Vinschen <corinna@vinschen.de>
667
668 * prereq.cc (PrereqChecker::getUnmetString): Improve dependency list
669 output.
670
671 2010-08-07 Andy Koppe <andy.koppe@gmail.com>
672
673 * prereq.cc (PrereqChecker::isMet): Find unmet indirect
674 dependencies too.
675
676 2010-08-06 Andy Koppe <andy.koppe@gmail.com>
677
678 * res.rc (IDS_VIEWBUTTON_TOOLTIP): Rename "Partial" view
679 to "Pending" (again).
680
681 2010-08-05 Andy Koppe <andy.koppe@gmail.com>
682
683 * res.rc (IDD_PREREQ DIALOG): Tweak wording on dependency page.
684
685 2010-07-31 Dave Korn <dave.korn.cygwin@gmail.com>
686
687 * install.cc (Installer::installOne): Also record zero-sized
688 tarballs as successfully installed.
689
690 2010-07-30 Jon TURNEY <jon.turney@dronecode.org.uk>
691
692 * postinstall.cc (do_postinstall_reflector): Fix typo.
693
694 2010-07-30 Christopher Faylor <me+cygwin@cgf.cx>
695
696 * inilex.ll: Allow "~" in a string.
697
698 2010-07-29 Jon TURNEY <jon.turney@dronecode.org.uk>
699
700 * resource.h (IDD_POSTINSTALL, IDC_POSTINSTALL_EDIT): Add resource
701 identifiers for postinstall results page.
702 * res.rc (IDD_POSTINSTALL): Add dialog resource for postinstall results
703 page.
704 * postinstallresults.h: New file.
705 * postinstallresults.cc: New file.
706 * main.cc (main_display): Add a PostInstallResultsPage to the wizard.
707 * Makefile.am (setup_SOURCES): Add new files.
708 * threebar.cc (OnMessageApp): Allow WM_APP_POSTINSTALL_THREAD_COMPLETE
709 to select the next page shown.
710 * postinstall.cc (do_postinstall_thread)
711 (do_postinstall_reflector): Collect results of running scripts and
712 compose a reporting message which we pass to the postinstall results
713 page. Select postinstall results page next if there are results to
714 show, otherwise desktop setup page as before.
715 * script.cc (run): Don't rename as .done scripts which didn't run
716 successfully.
717
718 2010-07-26 Andy Koppe <andy.koppe@gmail.com>
719
720 * PickView.cc (PickView::views::caption): Rename "Partial" view
721 to "Pending".
722 * res.rc (IDS_VIEWBUTTON_TOOLTIP): Ditto.
723
724 2010-07-22 Andy Koppe <andy.koppe@gmail.com>
725
726 * PickPackageLine.cc (PickPackageLine::{click,set_action}):
727 Don't trigger automatic package selection when clicking on
728 packages or categories on chooser screen.
729 * PickCategoryLine.cc (PickCategoryLine::click): No more need to
730 prepare for automatic package selection with markUnVisited().
731 * res.rc: Drop "Warning!" from caption of Resolve Dependencies
732 screen.
733
734 2010-04-17 Dave Korn <dave.korn.cygwin@gmail.com>
735
736 * root.cc (RootPage::OnNext): Don't construct a packagedb here nor
737 do deferred initialisation of static packagedb::task.
738 * source.cc (save_dialog): Don't construct a packagedb here, and
739 set static packagedb::task directly instead of chosen_db_task.
740 * package_meta.cc (packagemeta::action_caption): Don't bother to
741 construct a packagedb here, just access packagedb::task directly.
742 * package_db.cc: Move 'static members' comment near static members.
743 (chosen_db_task): Delete.
744 * package_db.h (chosen_db_task): Don't declare extern.
745 (packagedb): Extend comments on class.
746
747 2010-04-14 Dave Korn <dave.korn.cygwin@gmail.com>
748
749 * PickView.cc (PickView::WindowProc): Delete inadvertently-committed
750 debug logging.
751
752 2010-04-13 Dave Korn <dave.korn.cygwin@gmail.com>
753
754 * PickView.h (PickView::set_vscroll_info): Add prototype.
755 (PickView::hasClientRect): Rename from this ...
756 (PickView::hasWindowRect): ... to this ...
757 (PickView::lastClientRect): ... and from this ...
758 (PickView::lastWindowRect): ... to this.
759 * PickView.cc (PickView::PickView): Adjust member init to match.
760 (PickView::set_vscroll_info): Abstract code to set vertical scroll
761 bar proportions from ...
762 (PickView::list_click): ... here. Call it. Fix comment typo.
763 (PickView::WindowProc): Update all renamed variables in WM_SIZE
764 case, and check also for a y delta, calling set_vscroll_info if so.
765
766 2010-04-13 Dave Korn <dave.korn.cygwin@gmail.com>
767
768 * window.cc (Window::Window): Initialise BusyCount and BusyCursor.
769 (Window::SetBusy): Set hourglass cursor, counting nested activations.
770 (Window::ClearBusy): Cancel one call to SetBusy and restore original
771 cursor if no longer busy.
772 * window.h (Window::BusyCount): New data member.
773 (Window::OldCursor): Likewise.
774 (Window::BusyCursor): Likewise.
775 (Window::SetBusy): Prototype.
776 (Window::ClearBusy): Likewise.
777 * choose.cc (ChooserPage::createListview): Invoke busy cursor
778 around long-running operation.
779 (ChooserPage::OnInit): Likewise.
780 (ChooserPage::changeTrust): Likewise.
781 * PickCategoryLine.cc (PickCategoryLine::set_action): Likewise.
782
783 2010-04-08 Christopher Faylor <me+cygwin@cgf.cx>
784
785 * bootstrap.sh: Always reconfigure in libgetopt++.
786
787 * Makefile.am: Remove old code for direct copying to sourceware. Add
788 -src to source tarball.
789
790 2010-04-07 Matthias Andree <matthias.andree@gmx.de>
791
792 * README (HOW TO BUILD): Mention mingw-lib{gcrypt,lzma}-devel.
793
794 * res.rc (IDD_DESKTOP): Move Installation Status line,
795 IDC_STATUS_HEADER and IDC_STATUS up 20 units, make IDC_STATUS text
796 20 units taller and 40 units wider so that IDS_REBOOT_REQUIRED
797 message fits the screen.
798 * res.rc (IDD_SPLASH): Bump copyright years in IDC_SLASH_COPYR to
799 "2000-2010".
800
801 2010-04-07 Corinna Vinschen <corinna@vinschen.de>
802
803 * install.cc (create_allow_protected_renames): New function to
804 create AllowProtectedRenames registry entry.
805 (Installer::installOne): Call create_allow_protected_renames if former
806 call to MoveFileEx was successful.
807
808 2010-03-18 Charles Wilson <cygwin@cwilson.fastmail.fm>
809
810 Use external crypto libraries
811 * Makefile.am: Remove local libgcrypt and libgpg-error
812 source directories from AM_CPPFLAGS.
813 * configure.ac: Remove libgcrypt and libgpg-error subdirs
814 from AC_CONFIG_SUBDIRS. Remove now-unnecessary cruft.
815 * doconfigure: Specify gcc-3 and g++-3. Set PATH when $build
816 is cygwin, so that correct (mingw) libgcrypt and libgpg-error
817 config scripts can be used.
818
819 Remove libgpg-error.
820 * libgpg-error/tests/Makefile.am, libgpg-error/tests/Makefile.in,
821 libgpg-error/tests/t-strerror.c, libgpg-error/tests/t-syserror.c,
822 libgpg-error/po/ChangeLog, libgpg-error/po/LINGUAS,
823 libgpg-error/po/Makefile.in.in, libgpg-error/po/Makevars,
824 libgpg-error/po/POTFILES.in, libgpg-error/po/Rules-quot,
825 libgpg-error/po/boldquot.sed, libgpg-error/po/de.gmo,
826 libgpg-error/po/de.po, libgpg-error/po/en@boldquot.header,
827 libgpg-error/po/en@quot.header, libgpg-error/po/fr.gmo,
828 libgpg-error/po/fr.po libgpg-error/po/insert-header.sin,
829 libgpg-error/po/libgpg-error.pot, libgpg-error/po/pl.gmo,
830 libgpg-error/po/pl.po, libgpg-error/po/quot.sed,
831 libgpg-error/po/remove-potcdate.sin, libgpg-error/po/ro.gmo,
832 libgpg-error/po/ro.po libgpg-error/po/stamp-po,
833 libgpg-error/po/sv.po, libgpg-error/po/vi.gmo,
834 libgpg-error/po/vi.po, libgpg-error/po/sv.gmo,
835 libgpg-error/m4/ChangeLog, libgpg-error/m4/Makefile.am,
836 libgpg-error/m4/ac_prog_cc_for_build.m4, libgpg-error/m4/autobuild.m4,
837 libgpg-error/m4/codeset.m4, libgpg-error/m4/gettext.m4,
838 libgpg-error/m4/glibc2.m4, libgpg-error/m4/glibc21.m4,
839 libgpg-error/m4/iconv.m4, libgpg-error/m4/intdiv0.m4,
840 libgpg-error/m4/intmax.m4, libgpg-error/m4/inttypes-h.m4,
841 libgpg-error/m4/inttypes-pri.m4, libgpg-error/m4/inttypes.m4,
842 libgpg-error/m4/inttypes_h.m4, libgpg-error/m4/isc-posix.m4,
843 libgpg-error/m4/lcmessage.m4, libgpg-error/m4/lib-ld.m4,
844 libgpg-error/m4/lib-link.m4, libgpg-error/m4/lib-prefix.m4,
845 libgpg-error/m4/libtool.m4, libgpg-error/m4/lock.m4,
846 libgpg-error/m4/longdouble.m4, libgpg-error/m4/longlong.m4,
847 libgpg-error/m4/nls.m4, libgpg-error/m4/po.m4,
848 libgpg-error/m4/printf-posix.m4, libgpg-error/m4/progtest.m4,
849 libgpg-error/m4/signed.m4, libgpg-error/m4/size_max.m4,
850 libgpg-error/m4/stdint_h.m4, libgpg-error/m4/uintmax_t.m4,
851 libgpg-error/m4/ulonglong.m4, libgpg-error/m4/visibility.m4,
852 libgpg-error/m4/wchar_t.m4, libgpg-error/m4/wint_t.m4,
853 libgpg-error/m4/xsize.m4, libgpg-error/m4/Makefile.in,
854 libgpg-error/lang/Makefile.am, libgpg-error/lang/README,
855 libgpg-error/lang/Makefile.in, libgpg-error/lang/cl/Makefile.am,
856 libgpg-error/lang/cl/README, libgpg-error/lang/cl/gpg-error-package.lisp,
857 libgpg-error/lang/cl/gpg-error.asd, libgpg-error/lang/cl/gpg-error.asd.in,
858 libgpg-error/lang/cl/gpg-error.lisp, libgpg-error/lang/cl/mkerrcodes.awk,
859 libgpg-error/lang/cl/Makefile.in, libgpg-error/src/Makefile.am,
860 libgpg-error/src/README, libgpg-error/src/code-from-errno.c,
861 libgpg-error/src/code-to-errno.c, libgpg-error/src/err-codes.h,
862 libgpg-error/src/err-codes.h.in, libgpg-error/src/err-sources.h,
863 libgpg-error/src/err-sources.h.in, libgpg-error/src/errnos.in,
864 libgpg-error/src/gettext.h, libgpg-error/src/gpg-error-config.in,
865 libgpg-error/src/gpg-error.c, libgpg-error/src/gpg-error.def,
866 libgpg-error/src/gpg-error.h, libgpg-error/src/gpg-error.h.in,
867 libgpg-error/src/gpg-error.m4, libgpg-error/src/init.c,
868 libgpg-error/src/mkerrcodes.awk, libgpg-error/src/mkerrcodes.c,
869 libgpg-error/src/mkerrcodes1.awk, libgpg-error/src/mkerrcodes2.awk,
870 libgpg-error/src/mkerrnos.awk, libgpg-error/src/mkheader.awk,
871 libgpg-error/src/mkstrtable.awk, libgpg-error/src/strerror-sym.c,
872 libgpg-error/src/strerror.c, libgpg-error/src/strsource-sym.c,
873 libgpg-error/src/strsource.c, libgpg-error/src/versioninfo.rc.in,
874 libgpg-error/src/w32-gettext.c, libgpg-error/src/w32-gettext.h,
875 libgpg-error/src/Makefile.in, libgpg-error/ABOUT-NLS,
876 libgpg-error/AUTHORS, libgpg-error/COPYING, libgpg-error/COPYING.LIB,
877 libgpg-error/ChangeLog, libgpg-error/INSTALL, libgpg-error/Makefile.am,
878 libgpg-error/NEWS, libgpg-error/README, libgpg-error/THANKS,
879 libgpg-error/VERSION, libgpg-error/autogen.sh, libgpg-error/compile,
880 libgpg-error/config.guess, libgpg-error/config.rpath,
881 libgpg-error/config.sub, libgpg-error/configure.ac, libgpg-error/depcomp,
882 libgpg-error/install-sh, libgpg-error/libgpg-error.spec,
883 libgpg-error/libgpg-error.spec.in, libgpg-error/ltmain.sh,
884 libgpg-error/missing, libgpg-error/mkinstalldirs,
885 libgpg-error/aclocal.m4, libgpg-error/configure,
886 libgpg-error/config.h.in, libgpg-error/Makefile.in: Remove.
887
888 Remove libgcrypt.
889 * libgcrypt/tests/ChangeLog, libgcrypt/tests/Makefile.am,
890 libgcrypt/tests/ac-data.c, libgcrypt/tests/ac-schemes.c,
891 libgcrypt/tests/ac.c, libgcrypt/tests/basic.c,
892 libgcrypt/tests/benchmark.c, libgcrypt/tests/hmac.c,
893 libgcrypt/tests/keygen.c, libgcrypt/tests/keygrip.c,
894 libgcrypt/tests/mpitests.c, libgcrypt/tests/pkbench.c,
895 libgcrypt/tests/prime.c, libgcrypt/tests/pubkey.c,
896 libgcrypt/tests/random.c, libgcrypt/tests/register.c,
897 libgcrypt/tests/t-mpi-bit.c, libgcrypt/tests/testapi.c,
898 libgcrypt/tests/tsexp.c, libgcrypt/tests/version.c,
899 libgcrypt/tests/Makefile.in, libgcrypt/src/ChangeLog
900 libgcrypt/src/Makefile.am, libgcrypt/src/Manifest, libgcrypt/src/ath.c,
901 libgcrypt/src/ath.h, libgcrypt/src/cipher.h, libgcrypt/src/dumpsexp.c,
902 libgcrypt/src/g10lib.h, libgcrypt/src/gcrypt-module.h,
903 libgcrypt/src/gcrypt.h, libgcrypt/src/gcrypt.h.in,
904 libgcrypt/src/gcryptrnd.c, libgcrypt/src/getrandom.c,
905 libgcrypt/src/global.c, libgcrypt/src/hwfeatures.c,
906 libgcrypt/src/libgcrypt-config.in, libgcrypt/src/libgcrypt.def,
907 libgcrypt/src/libgcrypt.m4, libgcrypt/src/libgcrypt.vers,
908 libgcrypt/src/misc.c, libgcrypt/src/missing-string.c,
909 libgcrypt/src/module.c, libgcrypt/src/mpi.h, libgcrypt/src/secmem.h,
910 libgcrypt/src/sexp.c, libgcrypt/src/stdmem.c, libgcrypt/src/stdmem.h,
911 libgcrypt/src/types.h, libgcrypt/src/versioninfo.rc.in,
912 libgcrypt/src/visibility.c, libgcrypt/src/visibility.h,
913 libgcrypt/src/Makefile.in, libgcrypt/src/secmem.c,
914 libgcrypt/m4/ChangeLog, libgcrypt/m4/Makefile.am,
915 libgcrypt/m4/libtool.m4, libgcrypt/m4/noexecstack.m4,
916 libgcrypt/m4/onceonly.m4, libgcrypt/m4/socklen.m4,
917 libgcrypt/m4/sys_socket_h.m4, libgcrypt/m4/Makefile.in,
918 libgcrypt/doc/ChangeLog, libgcrypt/doc/HACKING,
919 libgcrypt/doc/Makefile.am, libgcrypt/doc/README.apichanges,
920 libgcrypt/doc/gcrypt.texi, libgcrypt/doc/gpl.texi,
921 libgcrypt/doc/lgpl.texi, libgcrypt/doc/mdate-sh,
922 libgcrypt/doc/texinfo.tex, libgcrypt/doc/stamp-vti,
923 libgcrypt/doc/version.texi, libgcrypt/doc/gcrypt.info,
924 libgcrypt/doc/Makefile.in, libgcrypt/cipher/ChangeLog,
925 libgcrypt/cipher/Makefile.am, libgcrypt/cipher/Manifest,
926 libgcrypt/cipher/ac.c, libgcrypt/cipher/arcfour.c,
927 libgcrypt/cipher/bithelp.h, libgcrypt/cipher/blowfish.c,
928 libgcrypt/cipher/camellia-glue.c, libgcrypt/cipher/camellia.c,
929 libgcrypt/cipher/camellia.h, libgcrypt/cipher/cast5.c,
930 libgcrypt/cipher/cipher.c, libgcrypt/cipher/crc.c,
931 libgcrypt/cipher/des.c, libgcrypt/cipher/dsa.c, libgcrypt/cipher/ecc.c,
932 libgcrypt/cipher/elgamal.c, libgcrypt/cipher/md.c,
933 libgcrypt/cipher/md4.c, libgcrypt/cipher/md5.c,
934 libgcrypt/cipher/primegen.c, libgcrypt/cipher/pubkey.c,
935 libgcrypt/cipher/rand-internal.h, libgcrypt/cipher/random-daemon.c,
936 libgcrypt/cipher/random.c, libgcrypt/cipher/random.h,
937 libgcrypt/cipher/rfc2268.c, libgcrypt/cipher/rijndael-tables.h,
938 libgcrypt/cipher/rijndael.c, libgcrypt/cipher/rmd.h,
939 libgcrypt/cipher/rmd160.c, libgcrypt/cipher/rndegd.c,
940 libgcrypt/cipher/rndhw.c, libgcrypt/cipher/rndlinux.c,
941 libgcrypt/cipher/rndunix.c, libgcrypt/cipher/rndw32.c,
942 libgcrypt/cipher/rsa.c, libgcrypt/cipher/seed.c,
943 libgcrypt/cipher/serpent.c, libgcrypt/cipher/sha1.c,
944 libgcrypt/cipher/sha256.c, libgcrypt/cipher/sha512.c,
945 libgcrypt/cipher/tiger.c, libgcrypt/cipher/twofish.c,
946 libgcrypt/cipher/whirlpool.c, libgcrypt/cipher/Makefile.in,
947 libgcrypt/AUTHORS, libgcrypt/BUGS, libgcrypt/COPYING,
948 libgcrypt/COPYING.LIB, libgcrypt/ChangeLog, libgcrypt/INSTALL,
949 libgcrypt/Makefile.am, libgcrypt/NEWS, libgcrypt/README,
950 libgcrypt/README.SVN, libgcrypt/THANKS, libgcrypt/TODO, libgcrypt/VERSION,
951 libgcrypt/acinclude.m4, libgcrypt/autogen.sh, libgcrypt/compile,
952 libgcrypt/config.guess, libgcrypt/config.sub, libgcrypt/configure.ac,
953 libgcrypt/depcomp, libgcrypt/install-sh, libgcrypt/ltmain.sh,
954 libgcrypt/missing, libgcrypt/mkinstalldirs, , libgcrypt/aclocal.m4,
955 libgcrypt/configure, libgcrypt/config.h.in, libgcrypt/Makefile.in,
956 libgcrypt/mpi/ChangeLog, libgcrypt/mpi/Makefile.am,
957 libgcrypt/mpi/Manifest, libgcrypt/mpi/config.links, libgcrypt/mpi/ec.c,
958 libgcrypt/mpi/longlong.h, libgcrypt/mpi/mpi-add.c,
959 libgcrypt/mpi/mpi-bit.c, libgcrypt/mpi/mpi-cmp.c,
960 libgcrypt/mpi/mpi-div.c, libgcrypt/mpi/mpi-gcd.c,
961 libgcrypt/mpi/mpi-inline.c, libgcrypt/mpi/mpi-inline.h,
962 libgcrypt/mpi/mpi-internal.h, libgcrypt/mpi/mpi-inv.c,
963 libgcrypt/mpi/mpi-mod.c, libgcrypt/mpi/mpi-mpow.c,
964 libgcrypt/mpi/mpi-mul.c, libgcrypt/mpi/mpi-pow.c,
965 libgcrypt/mpi/mpi-scan.c, libgcrypt/mpi/mpicoder.c,
966 libgcrypt/mpi/mpih-div.c, libgcrypt/mpi/mpih-mul.c,
967 libgcrypt/mpi/mpiutil.c, libgcrypt/mpi/Makefile.in,
968 libgcrypt/mpi/alpha/README, libgcrypt/mpi/alpha/distfiles,
969 libgcrypt/mpi/alpha/mpih-add1.S, libgcrypt/mpi/alpha/mpih-lshift.S,
970 libgcrypt/mpi/alpha/mpih-mul1.S, libgcrypt/mpi/alpha/mpih-mul2.S,
971 libgcrypt/mpi/alpha/mpih-mul3.S, libgcrypt/mpi/alpha/mpih-rshift.S,
972 libgcrypt/mpi/alpha/mpih-sub1.S, libgcrypt/mpi/alpha/udiv-qrnnd.S,
973 libgcrypt/mpi/amd64/distfiles, libgcrypt/mpi/amd64/mpih-add1.S,
974 libgcrypt/mpi/amd64/mpih-lshift.S, libgcrypt/mpi/amd64/mpih-mul1.S,
975 libgcrypt/mpi/amd64/mpih-mul2.S, libgcrypt/mpi/amd64/mpih-mul3.S,
976 libgcrypt/mpi/amd64/mpih-rshift.S, libgcrypt/mpi/amd64/mpih-sub1.S,
977 libgcrypt/mpi/generic/Manifest, libgcrypt/mpi/generic/distfiles,
978 libgcrypt/mpi/generic/mpi-asm-defs.h, libgcrypt/mpi/generic/mpih-add1.c,
979 libgcrypt/mpi/generic/mpih-lshift.c, libgcrypt/mpi/generic/mpih-mul1.c,
980 libgcrypt/mpi/generic/mpih-mul2.c, libgcrypt/mpi/generic/mpih-mul3.c,
981 libgcrypt/mpi/generic/mpih-rshift.c, libgcrypt/mpi/generic/mpih-sub1.c,
982 libgcrypt/mpi/generic/udiv-w-sdiv.c, libgcrypt/mpi/hppa/README,
983 libgcrypt/mpi/hppa/distfiles, libgcrypt/mpi/hppa/mpih-add1.S,
984 libgcrypt/mpi/hppa/mpih-lshift.S, libgcrypt/mpi/hppa/mpih-rshift.S,
985 libgcrypt/mpi/hppa/mpih-sub1.S, libgcrypt/mpi/hppa/udiv-qrnnd.S,
986 libgcrypt/mpi/hppa1.1/distfiles, libgcrypt/mpi/hppa1.1/mpih-mul1.S,
987 libgcrypt/mpi/hppa1.1/mpih-mul2.S, libgcrypt/mpi/hppa1.1/mpih-mul3.S,
988 libgcrypt/mpi/hppa1.1/udiv-qrnnd.S, libgcrypt/mpi/i386/Manifest,
989 libgcrypt/mpi/i386/distfiles, libgcrypt/mpi/i386/mpih-add1.S,
990 libgcrypt/mpi/i386/mpih-lshift.S, libgcrypt/mpi/i386/mpih-mul1.S,
991 libgcrypt/mpi/i386/mpih-mul2.S, libgcrypt/mpi/i386/mpih-mul3.S,
992 libgcrypt/mpi/i386/mpih-rshift.S, libgcrypt/mpi/i386/mpih-sub1.S,
993 libgcrypt/mpi/i386/syntax.h, libgcrypt/mpi/i586/Manifest,
994 libgcrypt/mpi/i586/README, libgcrypt/mpi/i586/distfiles,
995 libgcrypt/mpi/i586/mpih-add1.S, libgcrypt/mpi/i586/mpih-lshift.S,
996 libgcrypt/mpi/i586/mpih-mul1.S, libgcrypt/mpi/i586/mpih-mul2.S,
997 libgcrypt/mpi/i586/mpih-mul3.S, libgcrypt/mpi/i586/mpih-rshift.S,
998 libgcrypt/mpi/i586/mpih-sub1.S, libgcrypt/mpi/m68k/Manifest,
999 libgcrypt/mpi/m68k/distfiles, libgcrypt/mpi/m68k/mpih-add1.S,
1000 libgcrypt/mpi/m68k/mpih-lshift.S, libgcrypt/mpi/m68k/mpih-rshift.S,
1001 libgcrypt/mpi/m68k/mpih-sub1.S, libgcrypt/mpi/m68k/syntax.h,
1002 libgcrypt/mpi/mips3/Manifest, libgcrypt/mpi/mips3/README,
1003 libgcrypt/mpi/mips3/distfiles, libgcrypt/mpi/mips3/mpi-asm-defs.h,
1004 libgcrypt/mpi/mips3/mpih-add1.S, libgcrypt/mpi/mips3/mpih-lshift.S,
1005 libgcrypt/mpi/mips3/mpih-mul1.S, libgcrypt/mpi/mips3/mpih-mul2.S,
1006 libgcrypt/mpi/mips3/mpih-mul3.S, libgcrypt/mpi/mips3/mpih-rshift.S,
1007 libgcrypt/mpi/mips3/mpih-sub1.S, libgcrypt/mpi/pa7100/Manifest,
1008 libgcrypt/mpi/pa7100/distfiles, libgcrypt/mpi/pa7100/mpih-lshift.S,
1009 libgcrypt/mpi/pa7100/mpih-rshift.S, libgcrypt/mpi/pentium4/README,
1010 libgcrypt/mpi/pentium4/distfiles, libgcrypt/mpi/power/Manifest,
1011 libgcrypt/mpi/power/distfiles, libgcrypt/mpi/power/mpih-add1.S,
1012 libgcrypt/mpi/power/mpih-lshift.S, libgcrypt/mpi/power/mpih-mul1.S,
1013 libgcrypt/mpi/power/mpih-mul2.S, libgcrypt/mpi/power/mpih-mul3.S,
1014 libgcrypt/mpi/power/mpih-rshift.S, libgcrypt/mpi/power/mpih-sub1.S,
1015 libgcrypt/mpi/powerpc32/Manifest, libgcrypt/mpi/powerpc32/distfiles,
1016 libgcrypt/mpi/powerpc32/mpih-add1.S,
1017 libgcrypt/mpi/powerpc32/mpih-lshift.S,
1018 libgcrypt/mpi/powerpc32/mpih-mul1.S,
1019 libgcrypt/mpi/powerpc32/mpih-mul2.S,
1020 libgcrypt/mpi/powerpc32/mpih-mul3.S,
1021 libgcrypt/mpi/powerpc32/mpih-rshift.S,
1022 libgcrypt/mpi/powerpc32/mpih-sub1.S, libgcrypt/mpi/powerpc32/syntax.h,
1023 libgcrypt/mpi/powerpc64/distfiles, libgcrypt/mpi/sparc32/Manifest,
1024 libgcrypt/mpi/sparc32/distfiles, libgcrypt/mpi/sparc32/mpih-add1.S,
1025 libgcrypt/mpi/sparc32/mpih-lshift.S,
1026 libgcrypt/mpi/sparc32/mpih-rshift.S, libgcrypt/mpi/sparc32/udiv.S,
1027 libgcrypt/mpi/sparc32v8/Manifest, libgcrypt/mpi/sparc32v8/distfiles,
1028 libgcrypt/mpi/sparc32v8/mpih-mul1.S,
1029 libgcrypt/mpi/sparc32v8/mpih-mul2.S,
1030 libgcrypt/mpi/sparc32v8/mpih-mul3.S, libgcrypt/mpi/supersparc/Manifest,
1031 libgcrypt/mpi/supersparc/distfiles,
1032 libgcrypt/mpi/supersparc/udiv.S, libgcrypt/mpi/m68k/mc68020/distfiles
1033 libgcrypt/mpi/m68k/mc68020/Manifest,
1034 libgcrypt/mpi/m68k/mc68020/mpih-mul1.S,
1035 libgcrypt/mpi/m68k/mc68020/mpih-mul2.S,
1036 libgcrypt/mpi/m68k/mc68020/mpih-mul3.S,
1037 libgcrypt/mpi/pentium4/mmx/distfiles,
1038 libgcrypt/mpi/pentium4/mmx/mpih-lshift.S,
1039 libgcrypt/mpi/pentium4/mmx/mpih-rshift.S,
1040 libgcrypt/mpi/pentium4/sse2/distfiles,
1041 libgcrypt/mpi/pentium4/sse2/mpih-add1.S,
1042 libgcrypt/mpi/pentium4/sse2/mpih-mul1.S,
1043 libgcrypt/mpi/pentium4/sse2/mpih-mul2.S,
1044 libgcrypt/mpi/pentium4/sse2/mpih-mul3.S,
1045 libgcrypt/mpi/pentium4/sse2/mpih-sub1.S: Remove.
1046
1047 2010-03-17 Corinna Vinschen <corinna@vinschen.de>
1048
1049 * autoload.cc (Auto): Create autoload code in an executable section
1050 called .autoload_text to avoid problems with DEP.
1051
1052 2010-03-14 Christopher Faylor <me+cygwin@cgf.cx>
1053
1054 * Makefile.am: Add a setup-src target.
1055
1056 2010-03-14 Charles Wilson <cygwin@cwilson.fastmail.fm>
1057
1058 Support xz and lzma decompression via liblzma
1059 * Makefile.am: Add -DLZMA_API_STATIC to AM_CPPFLAGS,
1060 -lzma to setup_LDADD, and -static-libtool-libs to
1061 setup_LDFLAGS. Update setup_SOURCES.
1062 * compress.cc: Update includes.
1063 (compress::decompress): Use compress_xz rather than
1064 compress_lzma; compress_xz supports both xz and lzma
1065 decompression.
1066 * compress_xz.h: New.
1067 * compress_xz.cc: New.
1068 * compress_lzma.h: Removed.
1069 * compress_lzma.cc: Removed.
1070 * lzma-sdk/LzmaDec.c: Removed.
1071 * lzma-sdk/LzmaDec.h: Removed.
1072 * lzma-sdk/Types.h: Removed.
1073
1074 2010-03-13 DJ Delorie <dj@redhat.com>
1075
1076 * nio-ftp.c (read): Read RETR status code on EOF to avoid
1077 deadlock with PASV.
1078
1079 2010-03-01 Corinna Vinschen <corinna@vinschen.de>
1080
1081 * filemanip.cc (mklongpath): Skip "." and ".." path components to
1082 avoid error messages.
1083
1084 2010-02-15 Corinna Vinschen <corinna@vinschen.de>
1085
1086 * filemanip.cc (mklongpath): Simplify backslash folding.
1087
1088 2010-02-15 Corinna Vinschen <corinna@vinschen.de>
1089
1090 * filemanip.cc (transform_chars): Drop function.
1091 (mklongpath): Call mbrtowc in a loop rather than just mbstowcs.
1092 Transform characters on the fly. Fold multiple backslashes into one.
1093 Drop trailing backslash.
1094
1095 2010-02-15 Dave Korn <dave.korn.cygwin@gmail.com>
1096
1097 * choose.cc (ChooserPage::PlaceDialog): Only skip resizing window
1098 in fully-unattended mode, not chooser-only mode.
1099 (ChooserPage::OnUnattended): Return appropriate status to run page
1100 or not according to kind of unattended mode.
1101 * choose.h (ChooserPage::OnUnattended): Remove inline implementation
1102 and retain prototype only.
1103 * main.cc (PackageManagerOption): New boolean option.
1104 (main): Take it into account when setting unattended_mode.
1105 * proppage.cc (PropertyPage::DialogProc): Use new enum type when
1106 setting unattended_mode.
1107 * state.cc (unattended_mode): Change from bool to enum attend_mode.
1108 * state.h (enum attend_mode): Declare new enum type.
1109 (unattended_mode): Update extern declaration to use it.
1110
1111 2010-02-04 Corinna Vinschen <corinna@vinschen.de>
1112
1113 * win32.cc (NTSecurity::GetPosixPerms): Return NULL security descriptor
1114 if is_legacy is set.
1115 (NTSecurity::SetPosixPerms): Remove.
1116 * win32.h (NTSecurity::GetPosixPerms): Remove declaration.
1117
1118 2010-02-02 Corinna Vinschen <corinna@vinschen.de>
1119
1120 * desktop.cc (make_link): Use 0 default permissions when creating files
1121 and directories.
1122 * download.cc (download_one): Ditto.
1123 * ini.cc (do_remote_ini): Ditto.
1124 * localdir.cc (offer_to_create): Ditto.
1125 * filemanip.cc (nt_wfopen): Use Windows default permissions if perms
1126 is set to 0.
1127 * mkdir.cc (mkdir_p): Ditto if mode is set to 0.
1128
1129 2010-01-29 Christopher Faylor <me+cygwin@cgf.cx>
1130
1131 * mount.cc (read_mounts_9x): Preserve old way of doing things when
1132 is_legacy.
1133
1134 2010-01-28 Christopher Faylor <me+cygwin@cgf.cx>
1135
1136 * desktop.cc (make_link): Preserve old way of doing things when
1137 is_legacy.
1138 (make_cygwin_bat): Ditto.
1139 (save_icon): Ditto.
1140 * mount.cc (read_mounts): Ditto.
1141 (set_root_dir): Ditto.
1142 * root.cc (load_dialog): Ditto.
1143 (save_dialog): Ditto.
1144 * install.cc (Installer::installOne): Don't install anything if there
1145 is no canonical file associated with source.
1146 (do_install_thread): Set up old-style registry entries if is_legacy
1147 rather than just keying on whether this is Windows NT.
1148 * io_stream_file.cc (io_stream_file::exists): Redefine "exists" to mean
1149 "it's a file".
1150
1151 2010-01-16 Christopher Faylor <me+cygwin@cgf.cx>
1152
1153 * archive_tar.c (archive_tar_file::read): Always set read_something
1154 even for zero-length files.
1155
1156 2010-01-16 Christopher Faylor <me+cygwin@cgf.cx>
1157
1158 * archive_tar.h (archive_tar_file::read_something): New member.
1159 * archive_tar_file.cc (archive_tar_file::archive_tar_file): Don't reset
1160 state unless we've actually read something.
1161 (archive_tar_file::read): Set read_something variable here to indicate
1162 that we've read something from the tar file.
1163
1164 2010-01-13 Christopher Faylor <me+cygwin@cgf.cx>
1165
1166 * localdir.cc (LocalDirPage::OnNext): Strip trailing slashes.
1167
1168 2009-12-27 Christopher Faylor <me+cygwin@cgf.cx>
1169
1170 * main.cc (dyn_AttachConsole): Make static.
1171 (dyn_GetLongPathName): New variable.
1172 (set_dynaddr): New function.
1173 (set_cout): Don't set dyn_AttachConsole here.
1174 (set_legacy): Don't attempt to call function which does not exist in
1175 older versions of NT.
1176 (main): Call set_dynaddr to set dynamic load addresses.
1177
1178 2009-12-22 Christopher Faylor <me+cygwin@cgf.cx>
1179
1180 * ini.h: Use is_legacy to control setup.ini names.
1181 * main.cc (set_legacy): New function.
1182 (main): Call set_legacy with program name to determine if this is
1183 supposed to be an installation of the legacy version of cygwin. Issue
1184 a warning on attempt to install legacy on Windows NT class system.
1185
1186 2009-12-22 Christopher Faylor <me+cygwin@cgf.cx>
1187
1188 * package_message (packagemessage::display): Avoid displaying a message
1189 when in unattended mode.
1190
1191 2009-12-22 Corinna Vinschen <corinna@vinschen.de>
1192
1193 * win32.h (isdirsep): Define to replace local isslash definitions.
1194 * UserSettings.cc (UserSettings::open_settings): Remove isslash.
1195 Use isdirsep instead of isslash.
1196 * filemanip.cc (mklongpath): Ditto.
1197 * root.cc (directory_is_rootdir): Ditto.
1198 * localdir.cc (LocalDirSetting::save): Avoid consecutive backslashes
1199 in setup log file paths.
1200 * main.cc (main): Ditto.
1201
1202 2009-12-21 Christopher Faylor <me+cygwin@cgf.cx>
1203
1204 * choose.cc (ChooserPage::PlaceDialog): Put *correct* size in
1205 WINDOWPLACEMENT length field.
1206
1207 2009-12-18 Corinna Vinschen <corinna@vinschen.de>
1208
1209 Throughout, revert prototypes and methods set_mtime_and_mode to
1210 set_mtime and only care for the file timestamp.
1211
1212 Throughout, accommodate additional mode_t parameter in call to
1213 io_stream::open.
1214
1215 * IOStreamProvider.h (IOStreamProvider::open): Add mode_t parameter.
1216 * archive.cc (archive::extract_file): Reorder creation of in and tmp
1217 to get the file mode from the tar archive earlier. Call io_stream::open
1218 with additional mode from tar archive. Accommodate reversion to
1219 set_mtime.
1220 * filemanip.cc (nt_wfopen): Remove retry loop. Instead initialize
1221 OBJECT_ATTRIBUTES with matching POSIX perms according to incoming
1222 perms to create correct ACL on file creation. Remove subsequent call
1223 to nt_sec.SetPosixPerms.
1224 * io_stream.cc (io_stream::open): Take additional mode_t parameter
1225 and connect through to IOStreamProvider's open.
1226 * io_stream.h (io_stream::open): Add mode_t parameter.
1227 * io_stream_cygfile.cc (CygFileProvider::open): Ditto.
1228 (io_stream_cygfile::io_stream_cygfile): Ditto. Call nt_wfopen with
1229 incoming mode_t parameter. Make sure .exe and .dll files always
1230 have execute permissions set.
1231 (io_stream_cygfile::set_mtime): Remove retry loop and open file with
1232 just GENERIC_WRITE access.
1233 * io_stream_cygfile.h (io_stream_cygfile::io_stream_cygfile): Add mode_t
1234 parameter.
1235 * io_stream_file.cc (FileProvider::open): Ditto.
1236 (io_stream_file::io_stream_file): Ditto. Call nt_wfopen with incoming
1237 mode_t parameter.
1238 * io_stream_file.h (io_stream_file::io_stream_file): Add mode_t
1239 parameter.
1240 * io_stream_memory.h (class io_stream_memory): Remove mode member.
1241 Just return 0 from get_mode.
1242 * mkdir.cc (mkdir_p): Remove retry loop. Instead initialize
1243 OBJECT_ATTRIBUTES with matching POSIX perms according to incoming
1244 perms to create correct ACL on file creation. Remove subsequent call
1245 to nt_sec.SetPosixPerms.
1246 * mklink2.cc (mkcygsymlink_nt): Remove retry loop. Instead initialize
1247 SECURITY_ATTRIBUTES with matching POSIX perms to create correct ACL on
1248 file creation.
1249 * win32.cc (NTSecurity::GetPosixPerms): New function to generate
1250 POSIX ACL. Default to current owner and current primary group for
1251 owner/group permissions.
1252 (NTSecurity::SetPosixPerms): Let GetPosixPerms create the DACL.
1253 (NTSecurity::setAdminGroup): Set groupSID to admins SID if successful.
1254 (NTSecurity::setDefaultSecurity): Store user SID in ownerSID member.
1255 Default groupSID to original primary group.
1256 * win32.h (struct acl_t): Define here.
1257 (class NTSecurity): Rename ownerSID and groupSID to cr_ownerSID and
1258 cr_groupSID. Change throughout. Add members ownerSID and groupSID.
1259 Declare new method GetPosixPerms.
1260
1261 2009-12-17 Corinna Vinschen <corinna@vinschen.de>
1262
1263 * filemanip.cc (nt_wfopen): Only call nt_sec.SetPosixPerms if we have
1264 WRITE_DAC access.
1265 * mkdir.cc (mkdir_p): Ditto.
1266
1267 2009-12-17 Corinna Vinschen <corinna@vinschen.de>
1268
1269 * filemanip.cc (nt_wfopen): Fix requested access rights. Retry
1270 without WRITE_DAC access on access denied. Add comment.
1271 * io_stream_cygfile.cc (io_stream_cygfile::set_mtime_and_mode): Ditto.
1272 * mkdir.cc (mkdir_p): Ditto.
1273 * mklink2.cc (mkcygsymlink_nt): Ditto.
1274
1275 2009-12-17 Corinna Vinschen <corinna@vinschen.de>
1276
1277 * localdir.cc (LocalDirSetting::save): Call mkdir_p with isadir set
1278 since /var/log is a dir.
1279
1280 2009-12-16 Corinna Vinschen <corinna@vinschen.de>
1281
1282 * UserSettings.cc (UserSettings::open_settings): Never add more than
1283 one slash.
1284 * filemanip.cc (tfx_chars): Align to Cygwin's transformation table.
1285 * localdir.cc (LocalDirSetting::save): Call mkdir_p with DOS path.
1286
1287 2009-12-16 Christopher Faylor <me+cygwin@cgf.cx>
1288
1289 * package_message.h: New file.
1290
1291 2009-12-13 Christopher Faylor <me+cygwin@cgf.cx>
1292
1293 * IniDBBuilder.h (buildMessage): Define for base class.
1294 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildMessage): Define.
1295 * IniDBBuilderPackage.h (IniDBBuilderPackage::buildMessage): Declare.
1296 * PickPackageLine.cc: Pass pointer to package to "pick" throughout,
1297 where appropriate.
1298 * PickView.cc: Ditto.
1299 * install.cc: Ditto.
1300 * package_meta.cc: Ditto.
1301 * prereq.cc: Ditto.
1302 * package_version.cc: Ditto.
1303 (packageversion::pick): Add pkg pointer as second argument. Display
1304 message where appropriate.
1305 * package_version.h (packageversion::pick): Add pkg pointer as second
1306 argument.
1307 * package_meta.h (packagemeta::mesage): Define.
1308 (packagemeta::set_message): Define.
1309 * inilex.ll: Properly return MESSAGE token.
1310 * iniparse.yy: Handle message: keyword.
1311
1312 2009-12-08 Dave Korn <dave.korn.cygwin@gmail.com>
1313
1314 * localdir.cc (offer_to_create): New function.
1315 (browse_cb): Handle selection changed and validate failed
1316 callbacks, and call offer_to_create where appropriate.
1317 (browse): Set new dialog style flags in browser info.
1318 (LocalDirPage::OnNext): Replace call to mkdir_p with offer to
1319 create or error message dialog display, allow proceeding to
1320 chooser even if local dir does not exist in unattend mode or
1321 if user insists, and fix small memory leak.
1322
1323 * res.rc (IDS_MAYBE_MKDIR, IDS_CANT_MKDIR, IDS_NO_CWD): Define new
1324 string resources.
1325 * resource.h (IDS_MAYBE_MKDIR, IDS_CANT_MKDIR, IDS_NO_CWD): Define
1326 corresponding resource ID numbers.
1327
1328 2009-12-03 Corinna Vinschen <corinna@vinschen.de>
1329
1330 * main.cc (WinMain): Disable running on Windows 9x. Show message box
1331 instead and exit.
1332
1333 2009-12-03 Dave Korn <dave.korn.cygwin@gmail.com>
1334
1335 (ChooserPage::createListview): When nothing is found in the "All"
1336 category, pass an empty static dummy category object to the PickView
1337 constructor, instead of trying to dereference not-found iterator.
1338
1339 2009-11-23 Corinna Vinschen <corinna@vinschen.de>
1340
1341 * io_stream_cygfile.cc (io_stream_cygfile::get_size): Don't try to
1342 close invalid handle.
1343 * io_stream_file.cc (io_stream_file::get_size): Ditto
1344
1345 2009-11-22 Dave Korn <dave.korn.cygwin@gmail.com>
1346
1347 * threebar.cc (ThreeBarProgressPage::OnMessageApp): Don't loop forever
1348 retrying ini file download/parse if it errors in unattended mode.
1349
1350 2009-11-22 Dave Korn <dave.korn.cygwin@gmail.com>
1351
1352 * package_meta.cc (CategoryOption): New StringOption for '-C'.
1353 (parseNames): New helper subroutine abstracts string parsing from ...
1354 (packagemeta::isManuallyWanted): Use it, and check for category names
1355 from CategoryOption as well as individual package names.
1356 * package_db.cc (packagedb::fillMissingCategory): Don't check for
1357 manually-wanted packages until after initialising all the categories.
1358
1359 2009-11-04 Dave Korn <dave.korn.cygwin@gmail.com>
1360
1361 * localdir.cc (LocalDirSetting::LocalDirSetting): Restore -l option.
1362
1363 2009-11-04 Dave Korn <dave.korn.cygwin@gmail.com>
1364
1365 * site.cc: Add #include of BoolOption header from libgetopt.
1366 (OnlySiteOption): New BoolOption for command-line -O option.
1367 (get_site_list): Respect BoolOption by not downloading mirror
1368 list, nor using nor updating cached mirrors.
1369
1370 2009-11-04 Dave Korn <dave.korn.cygwin@gmail.com>
1371
1372 * download.cc (do_download_thread): Only retry an incomplete download
1373 a limited number of times in unattended mode.
1374
1375 2009-11-04 Dave Korn <dave.korn.cygwin@gmail.com>
1376
1377 * main.cc (main_display): Use apartment-, not multi- threading model
1378 when initialiseing COM.
1379
1380 2009-11-04 Corinna Vinschen <corinna@vinschen.de>
1381
1382 * localdir.cc (browse): Make title text depend on what we do.
1383 (LocalDirPage::OnNext): If we plan to download, try to create directory
1384 before cd'ing into it.
1385
1386 2009-11-03 Corinna Vinschen <corinna@vinschen.de>
1387
1388 * mkdir.cc: Include sys/stat.h unconditionally.
1389 (mkdir_p): Add S_IFDIR flag in call to nt_sec.SetPosixPerms.
1390 * win32.cc: Include sys/stat.h.
1391 (NTSecurity::SetPosixPerms): Add CREATOR OWNER, CREATOR GROUP, and
1392 Everyone inheritance-only entries when setting a directory DACL.
1393 (NTSecurity::initialiseWellKnownSIDs): Create SIDs for CREATOR OWNER and
1394 CREATOR GROUP.
1395 * win32.h (class NTSecurity): Add members ownerSID and groupSID.
1396
1397 2009-10-03 Andy Koppe <andy.koppe@gmail.com>
1398
1399 * main.cc (main): Make sure C runtime uses same codepage as GUI.
1400
1401 2009-09-20 Christopher Faylor <me+cygwin@cgf.cx>
1402
1403 * main (set_cout): Really do attach to a console if stdout is "bad".
1404
1405 2009-09-18 Andy Koppe <andy.koppe@gmail.com>
1406
1407 * root.cc (string orig_root_dir): New variable.
1408 (check_if_enable_next): Show warning against installing Cygwin into
1409 disk root only if the root directory has actually been changed.
1410 * res.rc: Make the root dir warning a bit more meaningful, and refrain
1411 from using uppercase.
1412
1413 2009-09-18 Christopher Faylor <me+cygwin@cgf.cx>
1414
1415 * choose.cc (ChooserPage::OnBack): Revert to non-maximized when
1416 returning to mirror from package selection.
1417
1418 2009-09-18 Dave Korn <dave.korn.cygwin@gmail.com>
1419
1420 * site.cc (get_site_list): Use empty string if user settings
1421 return NULL pointer for cached mirrors list.
1422 (SiteSetting::getSavedSites): Do nothing if user settings return
1423 NULL pointer for last mirror URL.
1424
1425 2009-08-21 Christopher Faylor <me+cygwin@cgf.cx>
1426
1427 * site.cc (SiteSetting::registerSavedSite): Fix comment.
1428
1429 2009-07-03 Christopher Faylor <me+cygwin@cgf.cx>
1430
1431 * main.cc (set_cout): Don't reset stdout if we already have a stdout.
1432
1433 2009-07-03 Christopher Faylor <me+cygwin@cgf.cx>
1434
1435 * choose.cc (ChooserPage::ChooserPage): Use more specific name for
1436 saving window settings.
1437 (ChooserPage::~ChooserPage): Ditto.
1438
1439 2009-07-01 Dave Korn <dave.korn.cygwin@gmail.com>
1440
1441 * PickView.h (PickView::total_delta_x): New int member.
1442 (PickView::set_header_column_order): Add prototype.
1443 * PickView.cc (PickView::set_header_column_order): New function,
1444 broken out from ...
1445 (PickView::set_headers): ... here. Call it.
1446 (PickView::init_headers): Apply total_delta_x to last_col width.
1447 (PickView::PickView): Initialise new total_delta_x member to zero.
1448 (PickView::WindowProc): Use set_header_column_order to find and
1449 adjust final column for both sets of headers.
1450
1451 2009-06-29 Christopher Faylor <me+cygwin@cgf.cx>
1452
1453 * SourceSetting.cc (SourceSetting::SourceSetting): Restore proper
1454 remembrane of last source setting.
1455 * choose.cc (ChooserPage::ChooserPage): Potentially retrieve dialog
1456 placement info.
1457 (ChooserPage::~ChooserPage): Save geometry settings if the user moved
1458 or resized the page.
1459 (ChooserPage::PlaceDialog): Rename from MaximizeDialog. Accommodate
1460 changed user placement settings.
1461 (ChooserPage::OnActivate): MaximizeDialog -> PlaceDialog.
1462 (ChooserPage::OnNext): Ditto.
1463 * choose.h (ChooserPage::~ChooserPage): Define.
1464 (ChooserPage::cmd_show): Delete.
1465 (ChooserPage::saved_geom): New field.
1466 (ChooserPage::window_placement): Ditto.
1467 (ChooserPage::pre_chooser_placement): Ditto.
1468 (ChooserPage::PlaceDialog): Rename from MaximizeDialog.
1469
1470 2009-06-28 Christopher Faylor <me+cygwin@cgf.cx>
1471
1472 * ConnectionSetting.cc (ConnectionSetting::ConnectionSetting): Remove
1473 old code which no longer makes sense when run from a constructor.
1474 * SourceSetting.cc (SourceSetting::SourceSetting): Ditto.
1475 * localdir.cc (LocalDirSetting::LocalDirSetting): Ditto. Fix typo
1476 which caused saved settings to be ignored.
1477
1478 2009-06-28 Christopher Faylor <me+cygwin@cgf.cx>
1479
1480 * UserSettings.cc (UserSettings::UserSettings): settings.rc -> setup.rc.
1481
1482 2009-06-28 Corinna Vinschen <corinna@vinschen.de>
1483
1484 * desktop.cc (DesktopSetupPage::OnInit): Drop CoInitialize call here.
1485 * main.cc (main_display): Use InitCommonControlsEx rather than
1486 InitCommonControls per MSDN. Call CoInitializeEx and create IShellLink
1487 instance here to workaround a problem on Windows 7. Release IShellLink
1488 instance and call CoUninitialize on exit.
1489 * mklink.cc (sl): Change to global variable. Drop call to
1490 CoCreateInstance here. Check if sl is valid before using it.
1491
1492 2009-06-27 Christopher Faylor <me+cygwin@cgf.cx>
1493
1494 Preliminary option handling revamp.
1495 Throughout, change load/save methods to constructors/destructors which
1496 use new UserSettings methods. Do not inherit from UserSetting class.
1497 * KeysSetting.cc (ExtraKeysSetting *ExtraKeysSetting::global): Define.
1498 (ExtraKeysSetting::ExtraKeysSetting): Initialize some class members use
1499 new UserSettings methods.
1500 (ExtraKeysSetting::~ExtraKeysSetting): Use new UserSettings method.
1501 * Makefile.am (setup_SOURCES): Eliminate UserSetting.h and
1502 UserSetting.cc.
1503 * UserSettings.cc: Complete rewrite. Implements new UserSettings
1504 class methods.
1505 * UserSettings.h: Complete rewrite. Defines new UserSettings class
1506 methods.
1507 * crypto.cc (ExtraKeys): Delete.
1508 (add_key_from_sexpr): Use ExtraKeysSetting::instance rather than
1509 ExtraKeys.
1510 (verify_ini_file_sig): Ditto.
1511 * io_stream.h (io_stream): Define virtual << operators.
1512 * localdir.cc (localDir): Delete.
1513 * main.cc: Include headers which declar new dynamically invoked
1514 classes.
1515 (main_display): New function. Controls order of option setting and
1516 property page setup. Add new class invocations to force option setting
1517 initializtion.
1518 (main): Invoke new UserSettings class constructor to populate new
1519 settings class. Call main_display() to do most of the setup work.
1520 Call Settings.save () to save all settings.
1521 * net.cc (theSetting): Delete.
1522 * site.cc (SiteSetting::save): Record whether we've saved the
1523 information already.
1524 (get_site_list): Just use value returned from new UserSettings method
1525 rather than parsing a file.
1526 (SiteSetting::getSavedSites): Ditto.
1527 (write_cache_list): Use UserSettings operator to store mirror cache.
1528 (save_cache_file): Ditto.
1529 * source.cc (theSetting): Delete.
1530
1531 * win32.h: gcc-4 accommodation.
1532
1533 2009-06-26 Dave Korn <dave.korn.cygwin@gmail.com>
1534
1535 * res.rc (SETUP_STANDARD_DIALOG_W, SETUP_STANDARD_DIALOG_H,
1536 SETUP_SMALL_DIALOG_W, SETUP_SMALL_DIALOG_H): Add constant defines
1537 for dialog sizes.
1538 (SETUP_STANDARD_DIALOG_DIMS, SETUP_SMALL_DIALOG_DIMS): Add helper
1539 macros for (W,H) pairs of dimensions.
1540 (SETUP_HEADICON_X): New global constant define.
1541 (IDD_SOURCE, IDD_VIRUS, IDD_LOCAL, IDD_ROOT, IDD_SITE, IDD_NET,
1542 IDD_INSTATUS, IDD_PROXY_AUTH, IDD_NET_AUTH, IDD_DESKTOP,
1543 IDD_FTP_AUTH DIALOG, IDD_DROPPED): Use the above for dialog sizes,
1544 horizontal rules and icon positioning.
1545 (SETUP_KPCE_W): New define for radio-button size.
1546 (SETUP_VIEWCAP_W, SETUP_VIEWCAP_X, SETUP_VIEW_W, SETUP_VIEW_X,
1547 SETUP_EXP_X, SETUP_CURR_X, SETUP_PREV_X, SETUP_KEEP_X): Add defines
1548 for right-aligned controls.
1549 (SETUP_SEARCH_X, SETUP_SEARCH_W, SETUP_SEARCHTEXT_X,
1550 SETUP_SEARCHTEXT_W, SETUP_CLEAR_X, SETUP_CLEAR_W): Likewise defines
1551 for left-aligned controls.
1552 (IDD_CHOOSE): Use all the above, and reformat with whitespace
1553 between args for clarity.
1554
1555 2009-06-26 Corinna Vinschen <corinna@vinschen.de>
1556
1557 * Makefile.am (setup_LDADD): Add -lshlwapi.
1558 * PickView.cc: Include shlwapi.h.
1559 (PickView::setViewMode): Compare package name with search string
1560 case-insensitive.
1561 (PickView::insert_category): Ditto.
1562
1563 2009-06-26 Corinna Vinschen <corinna@vinschen.de>
1564
1565 * script.cc (init_run_script): Don't set $HOME to /tmp. It breaks
1566 mkpasswd -c.
1567
1568 2009-06-25 Corinna Vinschen <corinna@vinschen.de>
1569
1570 * script.cc (init_run_script): Reinstantiate accidentally removed
1571 setting of sh.
1572
1573 2009-06-22 Christopher Faylor <me+cygwin@cgf.cx>
1574
1575 * script.cc (init_run_script): Revert to initializing cmd based on OS
1576 type.
1577
1578 2009-06-22 Corinna Vinschen <corinna@vinschen.de>
1579
1580 * script.cc (Script::run): Start bash without -c option.
1581
1582 2009-06-20 Christopher Faylor <me+cygwin@cgf.cx>
1583
1584 * threebar.cc (ThreeBarProgressPage::ins_dialog): Move variable to more
1585 appropriate class.
1586 (ThreeBarProgressPage::MaximizeDialog): Move function to more
1587 appropriate class.
1588 (ThreeBarProgressPage::OnMessageApp): Remove MaximizeDialog calls.
1589 * threebar.h: Remove maximize handling.
1590 * choose.cc (ChooserPage::ins_dialog): New variable.
1591 (ChooserPage::MaximizeDialog): New function.
1592 (ChooserPage::ChooserPage): Remove unneeded handling of nCmdShow.
1593 (ChooserPage::OnActivate): Maximize chooser page via MaximizeDialog.
1594 (ChooserPage::OnNext): Revert chooser page to normal before returning.
1595 * main.cc (main): Don't pass cmd_show to ChooserPage.
1596 * propsheet.cc (PropSheetProc): Accommodate change in class for
1597 SetHwndDialog.
1598
1599 2009-06-20 Christopher Faylor <me+cygwin@cgf.cx>
1600
1601 * script.cc (shells): Delete.
1602 (cmd): Just assign to "cmd.exe" since we're always running on NT now.
1603 (sanitize_PATH ): New function.
1604 (init_run_script): Ensure that we're only called once. Strip
1605 environment of non-pertinent stuff. Call sanitize_PATH to remove
1606 non-standard stuff from the PATH. Set up a few standard environment
1607 variables.
1608
1609 2009-06-16 Corinna Vinschen <corinna@vinschen.de>
1610
1611 * mount.cc (create_install_root): Don't load mount table again.
1612 (read_mounts_nt): Don't break loop, rather continue when not being
1613 able to open "Cygwin" registry key.
1614
1615 2009-06-03 Ralph Hempel <rhempel@bmts.com>
1616
1617 * source.cc: Add support for both -D and -L on the command line.
1618
1619 2009-06-03 Corinna Vinschen <corinna@vinschen.de>
1620
1621 * filemanip.cc (unlink): Rename from DeleteFileW. Take additional
1622 parameter to indicate file type to unlink. Use in flags given to
1623 NtCreateFile.
1624 (DeleteFileW): Just call unlink from here with FILE_NON_DIRECTORY_FILE
1625 flag.
1626 (RemoveDirectoryW): Ditto with FILE_DIRECTORY_FILE flag.
1627
1628 2009-05-30 Charles Wilson <cygwin@cwilson.fastmail.fm>
1629
1630 * script.cc (Script::run): Really start bash with --norc
1631 --noprofile options.
1632
1633 2009-05-13 Corinna Vinschen <corinna@vinschen.de>
1634
1635 * script.cc (Script::run): Start bash with --norc --noprofile options.
1636
1637 2009-05-13 Corinna Vinschen <corinna@vinschen.de>
1638
1639 * filemanip.cc (struct _FILE_RENAME_INFORMATION): Remove definition.
1640 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): Set
1641 default permission for .exe files to 0755.
1642 (io_stream_cygfile::mklink): Try to create real hardlink first. Add
1643 comment.
1644 * mklink2.cc (mkcyghardlink): New function to create real hardlink.
1645 * mklink2.h (mkcyghardlink): Declare.
1646 * mount.cc (from_fstab_line): Set got_usr_bin and got_usr_lib flags
1647 if /usr/bin and /usr/lib mount points exist in /etc/fstab.
1648 (add_usr_mnts): Only create mounts if corresponding got_usr_bin and
1649 got_usr_lib flags are not set.
1650 (read_mounts_nt): Initialize got_usr_bin and got_usr_lib to false.
1651 Always call add_usr_mnts, even if from_fstab succeeded.
1652 * ntdll.h: Include ddk/ntifs.h.
1653
1654 2009-05-12 Corinna Vinschen <corinna@vinschen.de>
1655
1656 * filemanip.cc (GetFileAttributesW): Add accidentally omited
1657 OBJ_CASE_INSENSITIVE when creating OBJECT_ATTRIBUTES.
1658 (SetFileAttributesW): Ditto.
1659 (MoveFileW): Ditto.
1660 (DeleteFileW): Ditto.
1661 (RemoveDirectoryW): Ditto.
1662 (nt_wfopen): Ditto.
1663
1664 2009-05-11 Bryan Thrall <bryan.thrall@flightsafety.com>
1665
1666 * localdir.cc (load_dialog): Choose description string based on install
1667 type.
1668 * res.rc (IDD_LOCAL_DIR): Replace static description text with
1669 IDC_LOCAL_DIR_DESC.
1670 * resource.h (IDS_LOCAL_DIR_DOWNLOAD): New string resource id.
1671 (IDS_LOCAL_DIR_INSTALL): Likewise.
1672 (IDC_LOCAL_DIR_DESC): New text control resource id.
1673
1674 2009-05-11 Christopher Faylor <me+cygwin@cgf.cx>
1675
1676 * main.cc (set_cout): Simplify code a little.
1677
1678 2009-05-11 Bryan Thrall <bryan.thrall@flightsafety.com>
1679
1680 * choose.cc (ChooserPage::OnMessageCmd): Clear search filter when
1681 clear button clicked.
1682 * res.rc (IDD_CHOOSE_DIALOG): Add IDC_CHOOSE_CLEAR_SEARCH button.
1683 * resource.h (IDC_CHOOSE_CLEAR_SEARCH): New button resource ID.
1684
1685 2009-05-11 Corinna Vinschen <corinna@vinschen.de>
1686
1687 * UserSettings.cc (UserSettings::settingFileForLoad): Fix local load
1688 path strings.
1689 (UserSettings::settingFileForSave): Never store in cwd.
1690 * autoload.c (ntdll): Autoload ntdll.dll functions here.
1691 * desktop.cc (make_cygwin_bat): Use GetFileAttributesW rather than
1692 _waccess. Use nt_wfopen instead of _wfopen.
1693 (save_icon): Ditto.
1694 * filemanip.cc (get_file_size): Call io_stream::open with empty mode
1695 string to avoid opening file twice.
1696 (GetFileAttributesW): New function to replace Win32 function with
1697 equivalent function opening files with backup intent.
1698 (SetFileAttributesW): Ditto.
1699 (MoveFileW): Ditto.
1700 (DeleteFileW): Ditto.
1701 (RemoveDirectoryW): Ditto.
1702 (nt_wfopen): New function to replace _wfopen with equivalent function
1703 opening files with backup intent.
1704 * filemanip.h (nt_wfopen): Declare.
1705 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): Initalize
1706 lasterr to 0. Allow empty mode and don't open file, if so. Call
1707 nt_wfopen rather than _wfopen.
1708 (io_stream_cygfile::exists): Use GetFileAttributesW rather than
1709 _waccess.
1710 (io_stream_cygfile::get_size): Use CreateFileW/GetFileSize to get
1711 file size on NT.
1712 * io_stream_file.cc (io_stream_file::io_stream_file): Initalize lasterr
1713 to 0. Allow empty mode and don't open file, if so. Call nt_wfopen
1714 rather than _wfopen.
1715 (io_stream_file::exists): Use GetFileAttributesW rather than _waccess.
1716 (io_stream_file::remove): Don't try to remove non-existant file.
1717 (io_stream_file::get_size): Use CreateFileW/GetFileSize to get
1718 file size on NT. Add comment to keep track of 2GB border.
1719 * mkdir.cc: Remove function pointers for ntdll functions.
1720 (init_ntfuncs): Remove function.
1721 (mkdir_p): Drop call to init_ntfuncs. Call ntdll functions directly
1722 rather than over local function pointers.
1723 * ntdll.h: New file.
1724 * postinstall.cc (do_postinstall_reflector): Switch to admins group
1725 as primary group after postinstall scripts have been written.
1726 Explain why.
1727 (do_postinstall): Add comment.
1728 * res.rc: Bump copyright date.
1729 * win32.h (class TokenGroupCollection): Remove.
1730 * win32.cc (TokenGroupCollection::populate): Remove.
1731 (TokenGroupCollection::find): Remove.
1732 (NTSecurity::setDefaultSecurity): Drop reading token groups. Just
1733 try to switch to admins group as primary group.
1734
1735 2009-05-07 Corinna Vinschen <corinna@vinschen.de>
1736
1737 * package_db.cc (ConnectedLoopFinder::doIt): Revert patch from
1738 2008-08-29. Add dumb hardcoded algorithm to make sure base-cygwin
1739 and base-passwd are always the first packages in the postinstall
1740 executable order.
1741
1742 2009-05-06 Corinna Vinschen <corinna@vinschen.de>
1743
1744 * install.cc (Installer::StandardDirs): Add /home with 1777 perms.
1745 * main.cc (main): Drop setting $CYGWIN to nontsec.
1746
1747 2009-04-24 Andrew Punch <andrew@magneticbooks.com.au>
1748
1749 * PickView.h: Add #include <string>.
1750 (PickView::SetPackageFilter): Add new function.
1751 (PickView::packageFilterString): Add new string data member.
1752 * PickView.cc (PickView::setViewMode): Use it to filter names.
1753 (PickView::insert_category): Likewise.
1754 (PickView::PickView): Initialise packageFilterString to blank.
1755 * res.rc (IDD_CHOOSE): Add IDC_CHOOSE_SEARCH_EDIT and
1756 IDC_CHOOSE_SEARCH_LABEL controls.
1757 (IDS_SEARCH_TOOLTIP): Add new string resource.
1758 * resource.h (IDS_SEARCH_TOOLTIP): New string resource ID.
1759 (IDC_CHOOSE_SEARCH_EDIT): New edit control ID.
1760 (IDC_CHOOSE_SEARCH_LABEL): Mew static text control ID.
1761 * choose.cc (ChooserControlsInfo[]): Add IDC_CHOOSE_SEARCH_LABEL
1762 and IDC_CHOOSE_SEARCH_EDIT controls to auto-resize list.
1763 (ChooserPage::OnInit): Add tooltip to search edit box.
1764 (ChooserPage::OnMessageCmd): Handle EN_CHANGE event from
1765 IDC_CHOOSE_SEARCH_EDIT.
1766
1767 2009-04-24 Dave Korn <dave.korn.cygwin@gmail.com>
1768
1769 * propsheet.cc (PropSheetWndProc): Re-enable hasMinRect.
1770
1771 2009-04-23 Corinna Vinschen <corinna@vinschen.de>
1772
1773 * win32.h (NTSecurity::primaryGroupSID): Convert to a structure for
1774 direct usage in GetTokenInformation.
1775 (NTSecurity::osid): Remove.
1776 (NTSecurity::setAdminGroup): Declare.
1777 * win32.cc (NTSecurity::resetPrimaryGroup): Accommodate change to
1778 primaryGroupSID. Add log output.
1779 (NTSecurity::setAdminGroup): New method.
1780 (NTSecurity::setDefaultSecurity): Use local structures for getting
1781 TOKEN_USER and setting TOKEN_OWNER information. Accommodate change to
1782 primaryGroupSID. Slightly enhance log output.
1783 Only set primary group to Administrators group when installing for
1784 all users. Call setAdminGroup to do it.
1785
1786 2009-04-22 Corinna Vinschen <corinna@vinschen.de>
1787
1788 * mklink2.cc (mkcygsymlink_nt): Allow 4K chars in symlink. Use strncat
1789 rather than strcat.
1790 * postinstall.cc (do_postinstall): Reset user token to original
1791 primary group.
1792 * win32.cc (NTSecurity::resetPrimaryGroup): New method.
1793 (NTSecurity::setDefaultSecurity): Store original primary group in
1794 new NTSecurity member primaryGroupSID. Set primary group in user token
1795 to Administrators group for admin users. Align comment.
1796 * win32.h (class NTSecurity): Add member primaryGroupSID.
1797 (NTSecurity::resetPrimaryGroup): Declare.
1798
1799 2009-04-09 Christopher Faylor <me+cygwin@cgf.cx>
1800
1801 * main.cc (set_cout): Load AttachConsole dynamically to avoid using it
1802 on older Windows which don't support it.
1803
1804 2009-03-21 Christopher Faylor <me+cygwin@cgf.cx>
1805
1806 * LogFile.cc (LogFile::endEntry): Output messages to stdout.
1807 * main.cc (set_cout): New function. Sets stdout to console if one
1808 exists.
1809 (main): Redirect stdout to console if unattended_mode or help option is
1810 specified and no stdout is available.
1811
1812 2009-03-21 Terry Fleming <terrynfleming@gmail.com>
1813 Christopher Faylor <me+cygwin@cgf.cx>
1814
1815 * propsheet.cc (PropSheetWndProc): Detect a Window closing event and
1816 issue an "Are you sure" message.
1817
1818 2008-08-29 Corinna Vinschen <corinna@vinschen.de>
1819
1820 * package_db.cc (ConnectedLoopFinder::doIt): Add code to get a basic
1821 order into the dependency list. Add comment to explain why.
1822
1823 2008-08-22 Brian Dessent <brian@dessent.net>
1824
1825 * KeysSetting.cc: Include string.h for memcpy et al.
1826 * filemanip.cc: Include stdlib.h for for mbstowcs.
1827 * io_stream_cygfile.h: Update cygmkdir_p prototype for mode_t.
1828 * mount.cc (conv_fstab_spaces): Silence gcc 4.3 warning ("parentheses
1829 around assignment used as truth value").
1830
1831 2008-08-20 Corinna Vinschen <corinna@vinschen.de>
1832
1833 * install.cc (Installer::StandardDirs): Additionally create /var/log
1834 dir. Set mode of /var/log and /var/run to 01777.
1835 * localdir.cc (LocalDirSetting::save): Create /var/log with 01777
1836 permissions before creating setup.log files.
1837
1838 2008-08-20 Corinna Vinschen <corinna@vinschen.de>
1839
1840 * io_stream_cygfile.cc (io_stream_cygfile::set_mtime_and_mode):
1841 Accommodate SetPosixPerms being method of nt_sec.
1842 * mkdir.cc (mkdir_p): Ditto.
1843 * mklink2.cc (mkcygsymlink_nt): Ditto.
1844 * win32.cc: Slightly rearrange.
1845 (NTSecurity::SetPosixPerms): Make SetPosixPerms method of NTSecurity
1846 rather than stand-alone function. Remove dynamic allocation for
1847 security descriptors in favor of static allocation. Drop out
1848 preliminary if well-known SIDs are not initialized. Slightly change
1849 and rearrange comments. Add creating NULL SID ACE for special
1850 permissions.
1851 (NTSecurity::initialiseWellKnownSIDs): New function, replacing
1852 NTSecurity::initialiseEveryOneSID. Initialize all well-known SIDs
1853 here. Set wellKnownSIDsinitialized to true on success.
1854 (NTSecurity::setDefaultDACL): Don't call initialiseEveryOneSID. Change
1855 comment. Drop setting failed. Don't open process token here.
1856 (NTSecurity::setBackupPrivileges): New function.
1857 (NTSecurity::setDefaultSecurity): Call initialiseWellKnownSIDs.
1858 Open process token here. Disable setting primary group. Add comment
1859 to explain why.
1860 * win32.h (SetPosixPerms): Move to NTSecurity.
1861 (class NTSecurity): Add SetPosixPerms method. Make all SIDs private
1862 again. Make NoteFailedAPI private. Add setBackupPrivileges method.
1863 Rename usid to UsersSID. Remove failed method and _failed member.
1864 Add wellKnownSIDsinitialized accessors and _wellKnownSIDsinitialized
1865 member.
1866
1867 2008-08-19 Corinna Vinschen <corinna@vinschen.de>
1868
1869 * install.cc (struct std_dirs_t): New type.
1870 (class Installer): Change type of StandardDirs to std_dirs_t.
1871 (Installer::StandardDirs): Store filename and mode.
1872 (do_install_thread): Call io_stream::mkpath_p with name and mode from
1873 Installer::StandardDirs.
1874 * main.cc (main): Call setDefaultSecurity on global nt_sec.
1875 * IOStreamProvider.h (IOStreamProvider::mkdir_p): Add mode parameter.
1876 * LogFile.cc (LogFile::log_save): Call io_stream::mkpath_p with 0755
1877 mode.
1878 * UserSettings.cc (UserSettings::settingFileForSave): Ditto.
1879 * desktop.cc (make_link): Ditto.
1880 * download.cc (download_one): Ditto.
1881 * ini.cc (do_remote_ini): Ditto.
1882 (do_ini_thread): Ditto.
1883 * package_db.cc (packagedb::flush): Ditto.
1884 * archive.cc (archive::extract_file): Ditto. Call set_mtime_and_mode
1885 with mode from archive. Add code to handle directory permissions as
1886 well.
1887 * archive_tar.cc (archive_tar::get_mtime): Return time_t. Reformat.
1888 (archive_tar::get_mode): New method.
1889 * archive_tar.h (class archive_tar_file): Fix prototypes. Replace
1890 prototype for set_mtime with prototype for set_mtime_and_mode.
1891 (class archive_tar): Ditto.
1892 * archive_tar_file.cc (archive_tar_file::get_mtime): Return time_t.
1893 (archive_tar_file::get_mode): New method returning mode from tar header.
1894 * compress_bz.cc (compress_bz::set_mtime_and_mode): Replace set_mtime.
1895 (compress_bz::get_mtime): Return time_t.
1896 (compress_bz::get_mode): New function.
1897 * compress_gz.cc: Ditto.
1898 * compress_lzma.cc: Ditto.
1899 * io_stream.cc (io_stream::mkpath_p): Take additional file mode.
1900 Call mkdir_p with additional file mode.
1901 * io_stream_cygfile.cc (CygFileProvider::mkdir_p): Take additional file
1902 mode.
1903 (cygmkdir_p): Ditto. Call mkdir_p with additional file mode.
1904 (io_stream_cygfile::set_mtime_and_mode): Replace set_mtime. Call
1905 SetPosixPerms.
1906 * io_stream_file.cc (FileProvider::mkdir_p): Take additional file mode.
1907 (io_stream_file::set_mtime_and_mode): Replace set_mtime.
1908 * mkdir.cc (init_ntfuncs): New function to initialize function pointers
1909 from ntdll.dll.
1910 (mkdir_p): Take additional file mode. On NT, use NT functions to create
1911 directory. Call SetPosixPerms.
1912 * compress_bz.h: Change prototypes accordingly.
1913 * compress_gz.h: Ditto.
1914 * compress_lzma.h: Ditto.
1915 * io_stream.h: Ditto.
1916 * io_stream_cygfile.h: Ditto.
1917 * io_stream_file.h: Ditto.
1918 * io_stream_memory.h: Ditto.
1919 * mkdir.h: Ditto.
1920 * mklink2.cc (mkcygsymlink_nt): Open file with STANDARD_RIGHTS_ALL
1921 access and FILE_FLAG_BACKUP_SEMANTICS flag. Call SetPosixPerms.
1922 * mount.cc (from_fstab): Open file with FILE_FLAG_BACKUP_SEMANTICS.
1923 * script.cc (OutputLog::OutputLog): Call io_stream::mkpath_p with 0755
1924 mode. Open file with FILE_FLAG_BACKUP_SEMANTICS.
1925 * win32.cc (SetPosixPerms): New function to set POSIX-like permissions.
1926 (nt_sec): New global NTSecurity variable.
1927 (NTSecurity::setDefaultDACL): Open token with TOKEN_ADJUST_PRIVILEGES.
1928 (NTSecurity::setDefaultSecurity): Enable SE_BACKUP_NAME and
1929 SE_RESTORE_NAME privileges if available.
1930 * win32.h (SetPosixPerms): Add prototype.
1931 (class NTSecurity): Make everyOneSID and administratorsSID public.
1932 (nt_sec): Declare.
1933
1934 2008-08-14 Corinna Vinschen <corinna@vinschen.de>
1935
1936 * mount.cc (unconvert_slashes): New inline function.
1937 (skip_ws): New inline function.
1938 (find_ws): New inline function.
1939 (conv_fstab_spaces): New inline function.
1940 (from_fstab_line): New function to read single line from fstab file.
1941 (from_fstab): New function to read /etc/fstab file and fill mount
1942 table.
1943 (read_mounts_nt): Call from_fstab after getting setup/rootdir from
1944 registry. Only call add_usr_mnts if no fstab file found.
1945
1946 2008-08-13 Corinna Vinschen <corinna@vinschen.de>
1947
1948 * install.cc (Installer::installOne): Skip 46 bytes type tar package
1949 silently.
1950
1951 2008-08-13 Corinna Vinschen <corinna@vinschen.de>
1952
1953 * install.cc (Installer::installOne): Use MoveFileExW on NT. Special
1954 case for bug in Windows 2000.
1955 * package_meta.cc (packagemeta::uninstall): Use wide char file functions
1956 on NT.
1957 * win32.h (VersionInfo::major): New method.
1958 (VersionInfo::minor): New method.
1959 (OSMajorVersion): Define.
1960 (OSMinorVersion): Define.
1961
1962 2008-08-12 Corinna Vinschen <corinna@vinschen.de>
1963
1964 Revamp for Cygwin 1.7.
1965 * desktop.cc (make_cygwin_bat): Use wide char file functions on NT.
1966 (save_icon): Ditto.
1967 * filemanip.cc (tfx_chars): New char table for wide char transformation
1968 of reserved FS chars to UNICODE private use area.
1969 (transform_chars): New static function.
1970 (mklongpath): New function to convert multibyte path to wide char
1971 path with long path prefix.
1972 * filemanip.h (mklongpath): Declare.
1973 * ini.h (SETUP_INI_FILENAME): Use setup.ini filenames as defined in
1974 real life (setup-2.ini/setup.ini).
1975 (SETUP_BZ2_FILENAME): Ditto.
1976 * install.cc (do_install_thread): Don't create registry mount points
1977 on NT, rather create setup/rootdir entry.
1978 * io_stream_cygfile.cc: Throughout use wide char file functions on NT.
1979 (io_stream_cygfile::w_str): New method to create wide char path.
1980 * io_stream_cygfile.h (class io_stream_cygfile): Remove lmode member.
1981 Add wname member and w_str method.
1982 * io_stream_file.cc: Throughout use wide char file functions on NT.
1983 (io_stream_file::w_str): New method to create wide char path.
1984 * io_stream_file.h (class io_stream_file): Remove lmode member.
1985 Add wname member and w_str method.
1986 * mkdir.cc (mkdir_p): Use wide char file functions on NT.
1987 * mklink2.cc (mkcygsymlink_9x): Rename from mkcygsymlink. Make static.
1988 (mkcygsymlink_nt): New static function.
1989 (mkcygsymlink): Just call mkcygsymlink_9x or mkcygsymlink_nt dependent
1990 on OS.
1991 * mount.cc (CYGWIN_INFO_CYGWIN_SETUP_REGISTRY_NAME): Define.
1992 (remove1): Move to earlier point in file to avoid declaration.
1993 (remove_mount): Ditto. Make static.
1994 (create_install_root): New function to create setup/rootdir registry
1995 value on NT.
1996 (read_mounts_9x): Rename from read_mounts. Make static. Conditionalize
1997 for OS.
1998 (add_usr_mnts): New static function.
1999 (read_mounts_nt): Ditto, to read mounts on NT.
2000 (read_mounts): Just call read_mounts_nt or read_mounts_9x dependent on
2001 OS.
2002 (set_root_dir): On NT, call read_mounts.
2003 (cygpath): Only add slash for non-root mount to avoid multiple slashes
2004 in resulting path (invalid in long path names).
2005 * mount.h (find_mount): Drop declaration.
2006 (remove_mount): Ditto.
2007 (create_install_root): Add declaration.
2008 (read_mounts): Accommodate new parameter.
2009 * package_db.cc (chosen_db_task): New global variable.
2010 * package_db.h (chosen_db_task): Declare.
2011 * root.cc (check_if_enable_next): Don't use get_root_dir here to
2012 avoid having to call save_dialog in RootPage::OnMessageCmd.
2013 (GetDlgItemRect): New static inline function.
2014 (SetDlgItemRect): Ditto.
2015 (load_dialog): On NT, stretch "Install For" block to full dialog width
2016 and hide "Default Text File Type" block.
2017 (save_dialog): On NT set root_text always to IDC_ROOT_BINARY.
2018 (RootPage::OnMessageCmd): Remove call to save_dialog.
2019 (RootPage::OnNext): Initialize packagedb here the first time, to
2020 avoid fetching wrong data from different previous installation.
2021 * source.cc (save_dialog): Don't initialize packagedb here, rather
2022 just memorize setting in chosen_db_task for the deferred initialization
2023 in RootPage::OnNext.
2024
2025 2008-08-07 Dave Korn <dave.korn.cygwin@gmail.com>
2026
2027 Implement command-line selection of packages to install and make
2028 unattended mode deal with any dialogs that might arise. A joint
2029 effort synthesized from contributions by:
2030
2031 Dr. Frank Lee <rl201@cam.ac.uk>
2032 Bryan Thrall <bryan.thrall@flightsafety.com>
2033 Kohsuke Kawaguchi <kk@kohsuke.org>
2034 Dave Korn <dave.korn.cygwin@gmail.com>
2035
2036 * install.cc (rebootneeded): Don't define statically here.
2037 (do_install_thread): Let exit_msg reflect rebootneeded.
2038 * main.cc (main): If rebootneeded, log it when exiting.
2039 * msg.cc (mbox): In unattended_mode, choose and log default answer.
2040 * package_db.cc (packagedb::fillMissingCategory): Iterate over all
2041 packages adding those selected by packagemeta::isManuallyWanted to
2042 base category so that command-line selections are installed.
2043 * package_meta.cc (PackageOption): Add new StringOption to allow
2044 command-line selection of packages to add to base install.
2045 (packagemeta::isManuallyWanted): New function tests if package was
2046 selected on command-line.
2047 (packagemeta::addToCategoryBase): New function adds package to
2048 "base" category.
2049 * state.cc (rebootneeded): Define here non-static.
2050 * state.h (rebootneeded): Declare here with extern linkage.
2051 * threebar.cc (ThreeBarProgressPage::MaximizeDialog): Don't change
2052 size when running in unattended mode.
2053
2054 2008-08-05 Christopher Faylor <me+cygwin@cgf.cx>
2055
2056 * UserSettings.cc (UserSettings::settingFileForLoad): Look locally for
2057 settings before looking outside of current directory.
2058 * choose.cc (ChooserPage::ChooserPage): Record the property sheet's
2059 current show state via new passed in parameter.
2060 * choose.h (ChooserPage::ChooserPage): Reflect change in argument list.
2061 (ChooserPage::nCmdShow): Define new element.
2062 * main.cc (main): Send current show state to Chooser.
2063 * package_version.cc (packageversion::set_requirements): Increase
2064 recursion check from 5 to 30.
2065 * propsheet.cc (PropSheetWndProc): Register hwndDlg with
2066 ThreeBarProgressPage.
2067 * threebar.cc (ControlAdjuster::ControlInfo): Initialize cmd_show_set.
2068 (ThreeBarProgressPage::MaximizeDialog): New function.
2069 (ThreeBarProgressPage::OnMessageApp): Call MaximizeDialog to maximize
2070 package selection screen and restore when done.
2071 * threebar.h (ThreeBarProgressPage::MaximizeDialog): Declare function.
2072 (ThreeBarProgressPage::cmd_show_set): Declare variable.
2073 (ThreeBarProgressPage::cmd_show): Declare variable.
2074 (ThreeBarProgressPage::ins_dialog): Declare variable.
2075 (ThreeBarProgressPage::SetHwndDialog): Define function.
2076
2077 2008-07-22 Charles Wilson <cygwin@cwilson.fastmail.fm>
2078
2079 Add support for .tar.lzma files (decompress only).
2080
2081 * Makefile.am: Add new files.
2082 * compress.cc (compress::decompress): add support
2083 for compress_lzma.
2084 * compress_lzma.h: new file.
2085 * compress_lzma.cc: new file.
2086 * filemanip.cc (find_tar_ext): add support for
2087 .tar.lzma files.
2088 * install.cc (Installer::installOne): update comments.
2089 * lzma-sdk/LzmaDec.h: new file.
2090 * lzma-sdk/LzmaDec.c: new file.
2091 * lzma-sdk/Types.h: new file.
2092
2093 2008-07-08 Charles Wilson <cygwin@cwilson.fastmail.fm>
2094
2095 * compress.cc (compress::decompress): clean up concrete
2096 decompressor objects on failure -- but in that case, do
2097 NOT destroy original io_stream.
2098 * compress_bz.h (compress_bz::release_original): new method.
2099 (owns_original): new member variable.
2100 * compress_bz.cc (compress_bz::release_original): new method.
2101 (compress_bz::compress_bz): take ownership of parent by default.
2102 (compress_bz::~compress_bz): only delete original if
2103 owns_original is true.
2104 * compress_gz.h (compress_gz::release_original): new method.
2105 (owns_original): new member variable.
2106 * compress_gz.cc (compress_gz::release_original): new method.
2107 (compress_gz::construct): take ownership of parent by default.
2108 (compress_gz::~compress_gz): only delete original if
2109 owns_original is true.
2110
2111 2008-06-25 Dave Korn <dave.korn.cygwin@gmail.com>
2112
2113 * configure.in, gpg-error-config-fake: Revert previous removal.
2114
2115 2008-06-25 Dave Korn <dave.korn.cygwin@gmail.com>
2116
2117 * net.cc: Correct stray CRLF.
2118
2119 2008-06-25 Dave Korn <dave.korn.cygwin@gmail.com>
2120
2121 * configure.in (ac_cv_path_GPG_ERROR_CONFIG): Remove nasty hack.
2122 * gpg-error-config-fake: Delete file obsoleted by de-hackification.
2123
2124 2008-06-24 Christopher Faylor <me+cygwin@cgf.cx>
2125
2126 * configure.in: Disable shared library builds.
2127
2128 2008-06-24 Christopher Faylor <me+cygwin@cgf.cx>
2129
2130 * Makefile.am: Make and install libraries into common location and use
2131 them from there.
2132 * configure.in: Find gpg-error-config in the libgpg-error/src
2133 subdirectory rather than using the host system's version. Set the
2134 prefix and exec_prefix to a common location for the subdirs so that
2135 useful files will be installed in a common location.
2136
2137 2008-06-22 Dave Korn <dave.korn.cygwin@gmail.com>
2138
2139 Merged across diffs between setup_crypto_branch_branchpoint and
2140 setup_crypto_branch_mergepoint2 from setup_crypto_branch.
2141
2142 * crypto.cc, crypto.h, gpg-packet.cc, gpg-packet.h, KeysSetting.cc,
2143 KeysSetting.h, gpg-error-config-fake, cygwin.pub, cyg-pubkey.h,
2144 gpg-key-to-s-expr.sh: New files.
2145 * ini.cc, ini.h, resource.h, res.rc, netio.cc, Makefile.am,
2146 configure.ac, libgetopt++/src/OptionSet.cc: Modified files.
2147
2148 2008-06-21 Dave Korn <dave.korn.cygwin@gmail.com>
2149
2150 * ini.cc (do_remote_ini): Revert misbegotten removal of
2151 not-always-superfluous-after-all added slash in URLs.
2152
2153 2008-06-18 Dave Korn <dave.korn.cygwin@gmail.com>
2154
2155 * gpg-packet.h (GPG_KEY_SEXPR_BUF_SIZE): Move from here ...
2156 * crypto.h (GPG_KEY_SEXPR_BUF_SIZE): ... to here.
2157 (GPG_KEY_MAX_COEFF_SIZE): Add related definition.
2158
2159 2008-06-18 Dave Korn <dave.korn.cygwin@gmail.com>
2160
2161 * gpg-packet.cc (walk_packets_1): Check packet length field is
2162 valid sane and possible to avoid malicious manipulation.
2163 * ChangeLog: Corrected date on previous commit.
2164
2165 2008-06-18 Dave Korn <dave.korn.cygwin@gmail.com>
2166
2167 * crypto.cc (add_key_from_sexpr): Use real buffer size, not debug
2168 constant size.
2169
2170 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2171
2172 * crypto.cc (verify_ini_file_sig): Actually set init-once flag!
2173
2174 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2175
2176 * crypto.cc (KeepUntrustedKeysOption): Fix helpstring punctuation.
2177
2178 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2179
2180 * crypto.cc (verify_ini_file_sig): Fix two minor logic errors.
2181
2182 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2183
2184 * ini.h (current_ini_sig_name): Declare extern.
2185 * ini.cc (current_ini_sig_name): New variable.
2186 (NoVerifyOption): New boolean option.
2187 (do_remote_ini): If sig verification not disabled, attempt to
2188 download the matching sig file for any setup.bz2 or setup.ini
2189 and use it to verify or discard the download.
2190
2191 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2192
2193 * resource.h (IDS_SIG_INVALID, IDS_CRYPTO_ERROR): Reserve IDs for
2194 two new message strings.
2195 * res.rc (IDS_SIG_INVALID, IDS_CRYPTO_ERROR): Define the text.
2196
2197 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2198
2199 * Makefile.am (setup_SOURCES): Add new files crypto.cc, crypto.h,
2200 cyg-pubkey.h, gpg-packet.cc, gpg-packet.h. KeysSetting.cc and
2201 KeysSetting.h to the build.
2202 * crypto.cc, crypto.h, gpg-packet.cc, gpg-packet.h, KeysSetting.cc,
2203 KeysSetting.h: New files. Adds gpg sig verification support.
2204
2205 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2206
2207 * Makefile.am (DIST_SUBDIRS, SUBDIRS): Add libgpg-error and
2208 libgcrypt subdirs.
2209 (AM_CPPFLAGS): Add -I paths to generated headers in both and to
2210 shipped headers in libgcrypt.
2211 (setup_LDADD): Add libgpg-error.a and libgcrypt.a to final link.
2212
2213 * configure.in (ac_cv_path_GPG_ERROR_CONFIG): Preload into cache
2214 to fake out libgcrypt configure process.
2215 (AC_CONFIG_SUBDIRS): Add libgpg-error/ and libgcrypt/
2216
2217 * gpg-error-config-fake: New shell script to redirect libgcrypt
2218 sub-configure into looking for newly-built libgpg-error.
2219
2220 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2221
2222 * setup/libgpg-error/: Fresh import of upstream sources of
2223 libgpg-error-1.6.tar.bz2 from http://www.gnupg.org/
2224 * setup/libgcrypt/: Fresh import of upstream sources of
2225 libgcrypt-1.4.1.tar.bz2 from http://www.gnupg.org/
2226
2227 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2228
2229 * netio.cc (NetIO::set_url): Avoid double-free bug on delete
2230 by setting path to a strdup of url rather than using the same
2231 pointer value twice.
2232
2233 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2234
2235 * cygwin.pub: Add reference copy of Cygwin setup signing key.
2236 * gpg-key-to-s-expr.sh: New bash script. Outputs textual
2237 representation of public key in s-expr format.
2238 * cyg-pubkey.h: New header generated by the above from Cygwin
2239 setup signing key. Currently needs manual regeneration if key
2240 ever updated.
2241
2242 2008-04-16 Brian Dessent <brian@dessent.net>
2243
2244 * mount.cc: Include malloc.h.
2245 (is_admin): Use alloca instead of a VLA in case
2246 GetTokenInformation is sensitive to alignment.
2247
2248 2008-04-15 Brian Dessent <brian@dessent.net>
2249
2250 * mount.cc (is_admin): Get explicit size of required buffer by
2251 calling GetTokenInformation first with NULL.
2252
2253 2008-04-10 Brian Dessent <brian@dessent.net>
2254
2255 * Makefile.am (setup_LDFLAGS): Make sure static libbz2 and zlib
2256 are used.
2257
2258 2008-04-09 Brian Dessent <brian@dessent.net>
2259
2260 * README: flex and bison are required when building from CVS.
2261
2262 2008-04-08 Brian Dessent <brian@dessent.net>
2263
2264 * Makefile.am (snapshot): Provide default value of ${cygwinsite}
2265 if not set.
2266
2267 2008-04-08 Brian Dessent <brian@dessent.net>
2268
2269 * Makefile.am (release): Use -f so that "make release" works
2270 when existing binaries of the same name exist.
2271
2272 2008-04-08 Brian Dessent <brian@dessent.net>
2273
2274 * res.rc (IDD_SPLASH): Update copyright years on splash page.
2275
2276 2008-04-08 Brian Dessent <brian@dessent.net>
2277
2278 * CHANGES: Update.
2279 * install.cc (Installer::installOne): Cope with compressed
2280 0-byte dummy packages. Fix progress bar update bug introduced
2281 in earlier refactoring.
2282
2283 2008-04-08 Brian Dessent <brian@dessent.net>
2284
2285 * CHANGES: Update.
2286
2287 2008-04-08 Brian Dessent <brian@dessent.net>
2288
2289 Various warning/header cleanups necessary for clean gcc 4.3 build.
2290 * ConnectionSetting.cc: Include stdlib.h.
2291 * LogFile.cc: Ditto.
2292 * Makefile.am: Don't hardcode paths to MinGW libz and libbz2.
2293 * PickView.cc: Include limits.h.
2294 * String++.cc: Include string.h.
2295 * archive_tar.cc (archive_tar::next_file_name): Silence nested-if
2296 warning.
2297 * autoload.c: Switch back to .text section before emiting
2298 autoload_common.
2299 * choose.cc: Include stdlib.h and algorithm.
2300 * compress_gz.cc: Include memory.h and malloc.h.
2301 * filemanip.cc: Include string.h.
2302 (parse_filename): Silence nested-if warning.
2303 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Silence warning.
2304 * package_db.cc: Include algorithm.
2305 * site.cc (get_site_list): Silence warning.
2306 * win32.cc: Include memory.
2307 * csu_util/MD5Sum.cc: Include string.h.
2308
2309 2008-03-02 Dave Korn <dave.korn@artimi.com>
2310
2311 * install.cc (Installer::installOne): Accept new HWND argument
2312 from caller and pass it to MessageBox calls so that MB_TASKMODAL
2313 can work.
2314 (check_for_old_cygwin): Likewise.
2315 (do_install_thread): Pass owner's HWND (from thread context) when
2316 calling them.
2317
2318 2008-02-23 Dave Korn <dave.korn@artimi.com>
2319
2320 * cygpackage.cc (cygpackage::getfirstfile): Guard against trying to
2321 construct std::string from NULL returned by io_stream::gets when the
2322 stream decompressor fails on a corrupt *.lst.gz file.
2323
2324 2008-02-21 Dave Korn <dave.korn@artimi.com>
2325
2326 * geturl.cc (progress): Correct SI unit notation.
2327
2328 2008-02-01 Vincent Privat <vincent.privat@gmail.com>
2329
2330 * net.cc (OnInit): New StringOption (ProxyOption)
2331 This new option (-p) allows to call setup.exe with a proxy
2332 in its command-line arguments.
2333
2334 2007-07-31 Brian Dessent <brian@dessent.net>
2335
2336 * ini.cc (do_remote_ini): Fix crash due to double free of ini_file.
2337
2338 2007-07-30 Brian Dessent <brian@dessent.net>
2339
2340 * CHANGES: Update.
2341 * configure.in (AM_INIT_AUTOMAKE): Enable more automake warnings.
2342 * Makefile.am (INCLUDES): Use AM_CPPFLAGS instead.
2343 (CLEANFILES): Add. Minor portability tweaks.
2344 * tests/Makefile.am (INCLUDES): Use AM_CPPFLAGS instead.
2345 * archive.cc (archive::extract): Try to be more compatible when
2346 opening tar files.
2347 * compress_bz.cc: Fix whitespace throughout.
2348 (compress_bz::~compress_bz): Ensure that underlying io_stream's dtor is
2349 also run.
2350 * install.cc (Installer::installOne): Refactor.
2351 * package_db.cc (ConnectedLoopFinder::doIt): Move some log spewage into
2352 setup.log.full from setup.log.
2353 (packagedb::connectedBegin): Ditto. Consolidate log output to one line.
2354
2355 2007-07-02 Brian Dessent <brian@dessent.net>
2356
2357 * CHANGES: Update.
2358
2359 2007-06-26 Brian Dessent <brian@dessent.net>
2360
2361 * Makefile.am (release): Drop inconsistent use of $(EXEEXT). Leave an
2362 untouched copy of setup.exe so that later make invocations don't
2363 unnecessarily rebuild it.
2364 (snapshot): Fix typo.
2365 * install.cc (md5_one): Don't try to check packages whose
2366 pkgsource.Cached () is NULL, as with those whose download failed.
2367
2368 2007-06-26 Brian Dessent <brian@dessent.net>
2369
2370 * CHANGES: Update to reflect release branch.
2371
2372 2007-06-26 Brian Dessent <brian@dessent.net>
2373
2374 * CHANGES: Make current.
2375
2376 2007-05-30 Brian Dessent <brian@dessent.net>
2377
2378 * find.h (class Find): Make _start_dir non-const.
2379 * find.cc (Find::Find): Append a trailing slash to _start_dir only if
2380 it does not already contain one.
2381 (Find::accept): Use the previously stored value of _start_dir rather
2382 than unconditionally appending a slash.
2383
2384 2007-05-29 Brian Dessent <brian@dessent.net>
2385
2386 * Makefile.am: No need to specify the default value of --preprocessor
2387 to windres. Rework the automatic version extraction rules so that the
2388 source tarball is generated with the proper name and directory instead
2389 of setup-0. Update snapshot rule to also upload a copy of the binary
2390 with debugging symbols still present.
2391
2392 2007-05-29 Brian Dessent <brian@dessent.net>
2393
2394 This is a general tidying up/modernization of the build infrastructure.
2395 Renaming the lexer and parser to .ll and .yy allows using automake's
2396 builtin support for flex and bison with C++ sources, and libinilex is a
2397 slightly cleaner way of omitting -Werror.
2398
2399 * Makefile.am (AUTOMAKE_OPTIONS): Move to AM_INIT_AUTOMAKE.
2400 (AM_YFLAGS): Define.
2401 (AM_LFLAGS): Define.
2402 (INCLUDES): Remove redundant mingw directory.
2403 (EXTRA_DIST): Adjust for newly named lexer/parser.
2404 (BUILT_SOURCES): Ditto.
2405 (inilint_LDADD): Ditto.
2406 (inilint_SOURCES): Ditto.
2407 (setup_LDADD): Ditto.
2408 (setup_SOURCES): Ditto.
2409 (iniparse.cc): Remove custom rules.
2410 (inilex.cc): Ditto.
2411 * configure.in: Update quoting and use modern form of AC_INIT and
2412 AM_INIT_AUTOMAKE.
2413 * inilex.l: Rename from this ...
2414 * inilex.ll: ... to this.
2415 * iniparse.y: Rename from this ...
2416 * iniparse.yy: ... to this.
2417
2418 2007-05-29 Brian Dessent <brian@dessent.net>
2419
2420 * IniParseFindVisitor.cc (IniParseFindVisitor::IniParseFindVisitor):
2421 Remove error_buf and error_count initializers.
2422 (IniParseFindVisitor::visitFile): Store filename in current_ini_name.
2423 Use yyerror_count and yyerror_messages in place of removed error_count
2424 and error_buf members.
2425 * IniParseFindVisitor.h (class IniParseFindVisitor): Remove error_buf
2426 and error_count members.
2427 * ini.cc: Include io_stream_memory.h. Remove file static variables
2428 error_buf, error_count, and ini_filename.
2429 (GuiParseFeedback::progress): Remove some verbose log spam.
2430 (do_remote_ini): Recode .ini-fetching logic to properly display parse
2431 errors, and to account for corrupt bzip2 files.
2432 (yyerror): Moved elsewhere.
2433 (fprintf): Delete unused function.
2434 * ini.h: Remove useless __cplusplus guard. Declare extern variables
2435 current_ini_name, yyerror_messages, and yyerror_count.
2436 * inilex.l: Add current_ini_name, yyerror_messages, and
2437 yyerror_count.
2438 (ini_init): Initialize new variables.
2439 (yybol): Delete.
2440 (yyerror): Reimplement using std::string and relocate from ini.cc.
2441 * io_stream.cc (io_stream::copy): Add clarifying comment.
2442
2443 2007-05-04 Igor Peshansky <pechtcha@cs.nyu.edu>
2444
2445 * resource.h (IDC_STATIC_HEADER): New control id.
2446 * res.rc (IDD_SPLASH): Adjust the copyright.
2447 (IDD_DESKTOP): Make header text accessible as a separate control.
2448 * desktop.cc (set_status): Use eset() instead of SetWindowText().
2449 (load_dialog): Disable checkboxes and change dialog text in
2450 download-only mode.
2451 (DesktopSetupPage::OnInit): Disable checkboxes in download-only
2452 mode.
2453 * threebar.cc (ThreeBarProgressPage::OnMessageApp): Deprecate the
2454 default fallthrough.
2455 * download.cc (do_download_thread): Explicitly return the next
2456 dialog.
2457
2458 2007-04-19 Max Bowsher <maxb1@ukf.net>
2459
2460 * configure.in: Turn inilint default build off again, since I cannot
2461 get it to work.
2462
2463 2007-04-19 Max Bowsher <maxb1@ukf.net>
2464
2465 * configure.in: Make inilint built by default.
2466
2467 2007-04-19 Max Bowsher <maxb1@ukf.net>
2468
2469 * inilintmain.cc: Fix multiple compile errors.
2470
2471 2007-04-19 Max Bowsher <maxb1@ukf.net>
2472
2473 * Makefile.am: Make inilint use same warnonly-inilex workaround that
2474 setup already does.
2475
2476 2007-03-29 Igor Peshansky <pechtcha@cs.nyu.edu>
2477
2478 * LogFile.cc (LogFile::exit): Write exit_msg directly to log, without
2479 the message box.
2480 * resource.h (IDC_DESKTOP_SEPARATOR,IDC_STATUS_HEADER,IDC_STATUS): New
2481 control ids.
2482 * res.rc (IDD_DESKTOP): Change the caption. Add status information.
2483 * desktop.h (DesktopSetupPage::DesktopSetupPage): Define constructor
2484 in the implementation.
2485 * desktop.cc (DesktopControlsInfo): Position specifiers for status
2486 information items.
2487 (DesktopSetupPage::DesktopSetupPage): Register position specifiers.
2488 (set_status): New static method.
2489 (load_dialog): Set status information, if available.
2490 (DesktopSetupPage::OnInit): Set status header font.
2491
2492 2007-03-01 Brian Dessent <brian@dessent.net>
2493
2494 * ini.h (SETUP_INI_FILENAME): Rename setup_9x.ini to setup_legacy.ini.
2495 (SETUP_BZ2_FILENAME): Likewise.
2496
2497 2007-02-27 Brian Dessent <brian@dessent.net>
2498
2499 * ini.h (SETUP_INI_FILENAME): Add define.
2500 (SETUP_BZ2_FILENAME): Add define.
2501 * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Use
2502 above macros to parameterize setup.ini filename.
2503 * fromcwd.cc (SetupFindVisitor::visitFile): Ditto.
2504 * ini.cc (do_remote_ini): Ditto.
2505 * Makefile.am (setup_SOURCES): Add win32.cc.
2506 * autoload.c: Include windows.h directly instead of win32.h so that
2507 win32.h can contain C++.
2508 * desktop.cc (verinfo): Delete.
2509 (make_link): Use IsWindowsNT to check for NT instead of verinfo.
2510 (DesktopSetupPage::OnInit): Likewise.
2511 * mount.cc (is_admin): Likewise.
2512 * script.cc (init_run_script): Likewise.
2513 * main.cc (class SIDWrapper, SIDWrapper::SIDWrapper,
2514 SIDWrapper::~SIDWrapper, SIDWrapper::theSID, class HANDLEWrapper,
2515 HANDLEWrapper::HANDLEWrapper, HANDLEWrapper::~HANDLEWrapper,
2516 HANDLEWrapper::theHANDLE, class TokenGroupCollection,
2517 TokenGroupCollection::TokenGroupCollection,
2518 TokenGroupCollection::~TokenGroupCollection,
2519 TokenGroupCollection::populate, TokenGroupCollection::find,
2520 class NTSecurity, set_default_sec, NTSecurity::NoteFailedAPI,
2521 NTSecurity::NTSecurity, NTSecurity::failed,
2522 NTSecurity::initialiseEveryOneSID, NTSecurity::setDefaultDACL,
2523 NTSecurity::setDefaultSecurity): Remove implementation of these
2524 classes from this file and into new file win32.cc and existing win32.h.
2525 (main): Fix whitespace and formatting per GNU coding standards.
2526 * res.rc (IDS_SETUPINI_MISSING): Parameterize filename with %s.
2527 * win32.cc: New file containing methods removed from main.cc as well
2528 as new class VersionInfo methods.
2529 * win32.h: Include <string> for std::string.
2530 (class SIDWrapper, class HANDLEWrapper, class TokenGroupCollection,
2531 class NTSecurity): Add classes removed from main.cc.
2532 (class VersionInfo): Add new class.
2533 (GetVer): Declare.
2534 (IsWindowsNT): Define.
2535
2536 2007-02-20 Brian Dessent <brian@dessent.net>
2537
2538 * README: Modernize list of required packages, and mention doconfigure.
2539
2540 2007-02-17 Cesar Strauss <cstrauss@cea.inpe.br>
2541
2542 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource):
2543 Initialize the version and operator fields of the newly created
2544 PackageSpecification object, so setup can pick the correct source
2545 version later on.
2546
2547 2007-02-17 Brian Dessent <brian@dessent.net>
2548
2549 * script.cc (Script::run): Check for existance of script file and
2550 return without doing anything if it does not exist.
2551
2552 2006-12-26 Max Bowsher <maxb1@ukf.net>
2553
2554 * IniDBBuilder.h (IniDBBuilder): Make this class abstract.
2555 * IniDBBuilder.cc: Delete file.
2556 * Makefile.am (inilint_SOURCES, setup_SOURCES): Remove IniDBBuilder.cc.
2557
2558 2006-12-26 Max Bowsher <maxb1@ukf.net>
2559
2560 Add a shell script that documents/centralizes the standard configure
2561 command line.
2562
2563 * doconfigure: New file.
2564 * Makefile.am (EXTRA_DIST): Add doconfigure.
2565
2566 2006-11-28 Igor Peshansky <pechtcha@cs.nyu.edu>
2567
2568 * install.cc (Installer::installOne): If file is in use, ask the user
2569 to stop processes and retry.
2570 (MB_RETRYCONTINUE, IDCONTINUE): New macros.
2571 (hMsgBoxHook): New static field.
2572 (CBTProc): New window hook function.
2573 (_custom_MessageBox): New function.
2574 * CHANGES: Update with the above.
2575
2576 2006-10-12 Igor Peshansky <pechtcha@cs.nyu.edu>
2577
2578 * desktop.cc (make_cygwin_bat,save_icon): Capitalize filename.
2579
2580 2006-08-06 Igor Peshansky <pechtcha@cs.nyu.edu>
2581
2582 * package_version.cc (packageversion::scan): Catch and handle
2583 validation exception.
2584
2585 2006-08-06 Igor Peshansky <pechtcha@cs.nyu.edu>
2586
2587 * cygpackage.h (filesize): Remove unused field.
2588 (cygpackage::createInstance): Ditto.
2589 * cygpackage.cc (cygpackage::createInstance): Ditto.
2590 * package_db.cc (packagedb::packagedb): Remove unused variables.
2591 Simplify parsing of installed.db.
2592
2593 2006-08-06 Igor Peshansky <pechtcha@cs.nyu.edu>
2594
2595 * desktop.cc (DesktopSetupPage::OnInit): Remove stray MessageBox.
2596
2597 2006-05-24 Igor Peshansky <pechtcha@cs.nyu.edu>
2598
2599 * PickPackageLine.h (PickPackageLine::DrawIcon): Move to PickView.
2600 * PickView.h (PickView::DrawIcon): Move from PickPackageLine.
2601 (PickView::icon_dc,PickView::bm_icon): New instance field.
2602 (PickView::rect_icon,PickView::bg_fg_brush): Ditto.
2603 * PickCategoryLine.cc (PickCategoryLine::paint): Use
2604 PickView::DrawIcon() instead of BitBlt().
2605 * PickPackageLine.cc (PickPackageLine::DrawIcon): Move to PickView.
2606 (PickPackageLine::paint): Use PickView::DrawIcon().
2607 * PickView.cc (PickView::~PickView): Delete GDI objects.
2608 (PickView::init): Create icon drawing context.
2609 (PickView::DrawIcon): New function. Use system default colors to
2610 draw bitmaps.
2611 (PickView::paint): Set background color instead of using transparent
2612 mode. Create system-colored brush.
2613
2614 2006-04-25 Brian Dessent <brian@dessent.net>
2615
2616 * COPYING: New file (GPL).
2617 * Makfile.am (EXTRA_DIST): Add COPYING.
2618
2619 2006-04-17 Max Bowsher <maxb1@ukf.net>
2620
2621 * String++.cc, String++.h: Finally, it's time for the long-awaited
2622 departure of 'class String' from this world. setup.exe can now
2623 happily claim to follow the sane path of using just one general
2624 purpose string class throughout :-)
2625
2626 2006-04-17 Max Bowsher <maxb1@ukf.net>
2627
2628 * cygpackage.cc, cygpackage.h, package_version.cc, package_version.h:
2629 Do some String to std::string migration.
2630
2631 2006-04-17 Max Bowsher <maxb1@ukf.net>
2632
2633 * package_meta.cc, package_meta.h, package_source.cc,
2634 package_source.h: Do some String to std::string migration.
2635 * package_db.cc: Small tweak to assist with the above.
2636
2637 2006-04-17 Max Bowsher <maxb1@ukf.net>
2638
2639 * PickView.cc, PickView.h, package_db.cc, package_db.h:
2640 Do some String to std::string migration.
2641 * package_meta.h: Change a couple of types to assist with the above.
2642
2643 2006-04-17 Max Bowsher <maxb1@ukf.net>
2644
2645 * IniDBBuilder.cc, IniDBBuilder.h, IniDBBuilderPackage.cc,
2646 IniDBBuilderPackage.h, PickLine.h, PickPackageLine.cc:
2647 Do some String to std::string migration.
2648
2649 2006-04-16 Max Bowsher <maxb1@ukf.net>
2650
2651 * FindVisitor.cc, FindVisitor.h, IniParseFindVisitor.cc,
2652 IniParseFindVisitor.h, ScanFindVisitor.cc, ScanFindVisitor.h, find.cc,
2653 find.h, fromcwd.cc, ini.cc, ini.h, iniparse.y, postinstall.cc:
2654 Do some String to std::string migration.
2655
2656 2006-04-16 Max Bowsher <maxb1@ukf.net>
2657
2658 * IOStreamProvider.h, archive.cc, archive.h, archive_tar.cc,
2659 archive_tar.h, io_stream.cc, io_stream.h, io_stream_cygfile.cc,
2660 io_stream_cygfile.h, io_stream_file.cc, io_stream_file.h:
2661 Do some String to std::string migration.
2662
2663 2006-04-16 Max Bowsher <maxb1@ukf.net>
2664
2665 * desktop.cc, download.cc, install.cc, mount.cc, mount.h, script.cc,
2666 script.h: Do some String to std::string migration.
2667
2668 2006-04-16 Max Bowsher <maxb1@ukf.net>
2669
2670 * category.cc: Remove source file that contained no code!
2671 * category.h: Delete, moving the single useful line to...
2672 * package_meta.h: ...here. Remove category.h include.
2673 * choose.cc, package_db.h, package_meta.cc: Remove category.h include.
2674 * Makefile.am: Remove references to removed files.
2675
2676 2006-04-15 Max Bowsher <maxb1@ukf.net>
2677
2678 * ConnectionSetting.cc, ConnectionSetting.h, Exception.cc,
2679 Exception.h, IniParseFeedback.cc, IniParseFeedback.h, LogFile.cc,
2680 LogFile.h, LogSingleton.h, PackageSpecification.cc,
2681 PackageSpecification.h, SourceSetting.cc, SourceSetting.h,
2682 UserSettings.cc, UserSettings.h, dialog.cc, dialog.h, diskfull.cc,
2683 diskfull.h, filemanip.cc, filemanip.h, inilintmain.cc, localdir.cc,
2684 main.cc, nio-file.cc, nio-http.cc, prereq.cc, prereq.h, proppage.cc,
2685 proppage.h, site.cc, site.h, splash.cc, state.cc, state.h, window.cc,
2686 window.h: Do some String to std::string migration.
2687
2688 2006-04-15 Max Bowsher <maxb1@ukf.net>
2689
2690 * String++.cc, String++.h
2691 (new_cstr_char_array, format_1000s): Migrate String to std::string.
2692 (casecompare_lt_op, std::string operator+): New.
2693
2694 2006-04-06 Max Bowsher <maxb1@ukf.net>
2695
2696 * String++.h, String++.cc
2697 (String::replace): Remove - usused.
2698 (String::find): Remove - semantics do not match std::string.
2699
2700 * root.cc (directory_is_rootdir): Switch to std::string.find().
2701 * script.cc (Script::baseName): Rewrite use of String.find().
2702
2703 2006-03-30 Max Bowsher <maxb1@ukf.net>
2704
2705 * String++.cc (replace): New function to take the place of one form
2706 of String::replace method.
2707 * String++.h (replace): Declare.
2708 (String::replace): Make private.
2709
2710 * desktop.cc (make_cygwin_bat): Use new function.
2711 * filemanip.cc (backslash): Use simple loop in place of
2712 String::replace.
2713 * filemanip.h (backslash): Change signature to use std::string in
2714 place of String.
2715
2716 2006-03-30 Max Bowsher <maxb1@ukf.net>
2717
2718 * String++.cc, String++.h (casecompare): New function replacing
2719 String.casecompare to increase parity with std::string.
2720 (String::casecompare): Make private.
2721
2722 * ConnectionSetting.cc, IniDBBuilderPackage.cc,
2723 IniParseFindVisitor.cc, LogFile.cc, PackageSpecification.cc,
2724 PickView.cc, SourceSetting.cc, String++.cc, String++.h, fromcwd.cc,
2725 io_stream.cc, mount.cc, package_db.cc, package_source.h,
2726 package_version.cc, prereq.h, script.cc:
2727 Use casecompare in place of String::casecompare.
2728
2729 2006-03-30 Max Bowsher <maxb1@ukf.net>
2730
2731 * String++.cc, String++.h: Remove String(int) constructor, which
2732 was causing dangerously bizarre implicit conversions, and was a point
2733 of disparity between String and std::string.
2734 (stringify): New function to replace functionality removed above.
2735
2736 * PickView.cc (PickView::init_headers),
2737 archive_tar.cc (archive_tar::next_file_name),
2738 cygpackage.cc (cygpackage::setCanonicalVersion):
2739 Make explicit and call out with a FIXME some bizarre behaviour.
2740
2741 * ScanFindVisitor.cc (ScanFindVisitor::visitFile),
2742 filemanip.cc (base), iniparse.y,
2743 threebar.cc (ThreeBarProgressPage::SetBar2):
2744 Make simple adaptations to the changed API.
2745
2746 2006-03-14 Igor Peshansky <pechtcha@cs.nyu.edu>
2747
2748 * PickView.cc (PickView::setViewMode): Auto-expand category if
2749 its name starts with a dot.
2750
2751 2006-03-14 Dave Korn <dave.korn@artimi.com>
2752
2753 * String++.cc (new_cstr_char_array): Handle null input correctly.
2754
2755 2006-03-10 Christopher Faylor <cgf@timesys.com>
2756
2757 * res.rc: Update copyright.
2758 (IDS_MIRROR_LST): Use cygwin.com for mirror list, not
2759 sources.redhat.com.
2760 * site.cc (NOSAVE1): Use preferred name of sourceware site.
2761 (NOSAVE2): sourceware.cygnus.com -> sources.redhat.com.
2762 (NOSAVE1_LEN): Use just-defined name to determine length.
2763 (NOSAVE2_LEN): Ditto.
2764 (NOSAVE3_LEN): Ditto.
2765
2766 2006-03-10 Bas van Gompel <patch-cygsup.buzz@bavag.tmfweb.nl>
2767
2768 * res.rc (IDD_DROPPED): New dialog.
2769 * resource.h (IDD_DROPPED): New dialog-id.
2770 (IDC_DROP_MIRRORS, IDC_DROP_NOWARN): New control-ids.
2771 * site.cc: Add enum for response on dropped mirrors.
2772 (cache_is_usable, cache_needs_writing): New bools.
2773 (cache_warn_urls): New string.
2774 (cached_site-list, dropped_site_list): New SiteLists.
2775 (site_list_type::init, site_list_type::site_list_type): Change to four
2776 parameter form.
2777 (site_list_type::site_list_type, site_list_type::operator=) Copy
2778 servername, area and location.
2779 (load_site_list): New function, broken out of get_site_list. Support
2780 four-parameter site_list_type.
2781 (get_site_list): Break out load_site_list. Move reading cache earlier.
2782 Don't write new cache. Set flags to record cache state. Load both
2783 all_site_list and cached_site_list.
2784 (SiteSetting::registerSavedSite): Use four-parameter site_list_type.
2785 (drop_proc, check_dropped_mirrors, write_cache_list, save_cache_file):
2786 New functions.
2787 (SitePage::OnNext): Check for dropped mirrors and save cache as
2788 appropriate.
2789 (SitePage::OnMessageCmd): Use four-parameter site_list_type.
2790 * site.h
2791 (site_list_type::init, site_list_type::site_list_type): Change to four
2792 parameter form.
2793 (site_list_type): Add servername, area and location members.
2794
2795 2006-03-09 Igor Peshansky <pechtcha@cs.nyu.edu>
2796
2797 * script.cc (Script::run): Fix inverted test for abnormal exit.
2798
2799 2006-03-09 Bas van Gompel <patch-cygsup.buzz@bavag.tmfweb.nl>
2800 Max Bowsher <maxb1@ukf.net>
2801
2802 Provide indication of site that a file is being downloaded from.
2803
2804 * geturl.cc: Use std::string instead of String throughout.
2805 (init_dialog): Put more information into GUI.
2806 Remove unused 'owner' parameter and change all callers.
2807 (progress): Remove spurious \n characters from GUI.
2808 * geturl.h: Use std::string instead of String throughout.
2809 * res.rc (IDD_INSTATUS): Use SS_ENDELLIPSIS.
2810
2811 2006-03-09 Max Bowsher <maxb1@ukf.net>
2812
2813 * Makefile.am (EXTRA_DIST): Add tree-minus.bmp and tree-plus.bmp.
2814
2815 2006-01-20 Bryan Thrall <bryan.thrall@flightsafety.com>
2816
2817 * source.cc (SourcePage::OnActivate): Command line takes precedence
2818 over last user selection.
2819
2820 2005-11-30 Max Bowsher <maxb1@ukf.net>
2821
2822 * res.rc (IDD_ROOT, IDD_LOCAL_DIR): Rearrange some controls a little,
2823 in response to suggestion from Carl Karsten.
2824
2825 2005-11-30 Max Bowsher <maxb1@ukf.net>
2826
2827 * site.h, site.cc: Use std::string in preference to String.
2828 (site_list_type::init): Convert some painful raw C string work to
2829 STL std::string work. Stop totally ignoring the result of this
2830 calculation, implementing the (somewhat weird) sort order for sites
2831 that was apparently indented for ages.
2832
2833 2005-10-14 Igor Pechtchanski <pechtcha@cs.nyu.edu>
2834
2835 * io_stream.cc (url_scheme_not_registered): New macro.
2836 (io_stream::open): Better log message on error.
2837 (io_stream::mkpath_p,io_stream::remove,io_stream::mklink): Ditto.
2838 (io_stream::move,io_stream::exists): Ditto.
2839
2840 2005-10-13 Igor Pechtchanski <pechtcha@cs.nyu.edu>
2841
2842 * site.cc (get_site_list): Default to empty mirror list if
2843 server unavailable and none cached, to allow using preferred
2844 mirrors anyway.
2845
2846 2005-09-29 Igor Pechtchanski <pechtcha@cs.nyu.edu>
2847
2848 * package_db.cc (packagedb::packagedb): Remember missing package
2849 database file.
2850
2851 2005-09-29 Igor Pechtchanski <pechtcha@cs.nyu.edu>
2852
2853 * site.cc (get_site_list): Store mirror list locally.
2854 Use local copy if unable to download.
2855
2856 2005-09-27 Igor Pechtchanski <pechtcha@cs.nyu.edu>
2857
2858 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile):
2859 Better log message on error.
2860
2861 2005-09-27 Igor Pechtchanski <pechtcha@cs.nyu.edu>
2862
2863 * script.cc (Script::isAScript): Fix string comparison.
2864
2865 2005-09-27 Igor Pechtchanski <pechtcha@cs.nyu.edu>
2866
2867 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Reconnect on FTP timeout.
2868
2869 2005-09-11 Masayuki FUJII <boochang@m4.kcn.ne.jp>
2870
2871 * package_meta.cc (packagemeta::ScanDownloadedFiles): Don't use an
2872 invalid iterator. Fix whitespace.
2873
2874 2005-09-09 Brian Dessent <brian@dessent.net>
2875
2876 * CHANGES: Document recent updates.
2877 * choose.cc (ChooserPage::OnInit): Add new tooltip.
2878 * res.rc (IDD_CHOOSE): Remove 'administrative' from description.
2879 (IDS_HIDEOBS_TOOLTIP): Add new string for tooltip.
2880 * resource.h (IDS_HIDEOBS_TOOLTIP): Define.
2881 * window.cc (Window::ActivateTooltips): Fix whitespace. Set tooltip
2882 delay to 30 seconds.
2883
2884 2005-09-09 Igor Pechtchanski <pechtcha@cs.nyu.edu>
2885
2886 * PickView.cc (PickView::paint): Set background mode to transparent.
2887 * PickCategoryLine.cc (PickCategoryLine::paint): Use bitwise AND to
2888 blit bitmaps.
2889 * PickPackageLine.cc (PickPackageLine::paint): Ditto.
2890
2891 2005-09-01 Brian Dessent <brian@dessent.net>
2892
2893 * package_meta.cc (packagemeta::uninstall): Remove support for
2894 undocumented and dangerous postremove script.
2895
2896 2005-09-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
2897
2898 * script.cc (run): Change to return the exit code or negative error.
2899 (Script::run): Ditto.
2900 (try_run_script): Receive both filename and extension and run only
2901 one script. Also return the exit code.
2902 * script.h (try_run_script): Change signature.
2903 (Script::run): Ditto.
2904 * postinstall.cc (RunScript::operator()): Change to return the exit
2905 code or negative error.
2906 * install.cc (Installer::preremoveOne): Pass extension to
2907 try_run_script().
2908
2909 2005-09-01 Eric Blake <ebb9@byu.net>
2910
2911 * script.cc (shells): Use /bin/bash, not sh, to allow upgrades to
2912 /bin/sh.
2913
2914 2005-09-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
2915
2916 * PickView.h (PickView::size_col): New instance variable.
2917 * PickView.cc (pkg_headers, cat_headers): Add size column.
2918 (PickView::set_headers): Initialize size_col.
2919 (PickView::init_headers): Include width of size column.
2920 * PickPackageLine.cc (PickPackageLine::paint): Handle size_col.
2921 * String++.cc (format_1000s): New function.
2922 * String++.h (format_1000s): Declare new function.
2923
2924 2005-09-01 Brian Dessent <brian@dessent.net>
2925
2926 * Makefile.am (BASECXXFLAGS): Add -Wno-uninitialized to work around
2927 spurious warnings with gcc 3.4.4.
2928
2929 2005-05-22 Brian Dessent <brian@dessent.net>
2930
2931 * res.rc (IDD_CHOOSE): Change description to include administrative
2932 packages in addition to obsolete.
2933
2934 2005-05-21 Brian Dessent <brian@dessent.net>
2935
2936 * prereq.cc: New file.
2937 * prereq.h: Ditto.
2938 * tree-minus.bmp: Ditto.
2939 * tree-plus.bmp: Ditto.
2940 * Makefile.am: Add prereq.cc and prereq.h to build.
2941 * PickCategoryLine.cc (PickCategoryLine::paint): Add new parameter and
2942 refactor. Use bitmap for '+' and '-' indicators. Draw package lines
2943 column-wise for better drawing efficiency.
2944 (PickCategoryLine::click): Use previously calculated x value.
2945 * PickCategoryLine.h (PickCategoryLine::paint): Update prototype. Add
2946 'spin_x' member.
2947 * PickLine.h (PickLine:paint): Update prototype.
2948 * PickPackageLine.cc (PickPackageLine::DrawCheck): Remove.
2949 (PickPackageLine::DrawIcon): New function.
2950 (PickPackageLine::paint): Add parameter. Refactor completely for more
2951 efficient painting.
2952 * PickPackageLine.h (PickPackageLine::DrawIcon): Add prototype.
2953 (PickPackageLine::paint): Update prototype.
2954 (PickPackageLine::DrawCheck): Remove.
2955 * PickView.cc (pkg_headers): Remove unused 'slen' field, add new
2956 'needs_clip' field to signify if clipping is necessary for this column.
2957 (PickView::note_width): Fold long line. Refactor slightly for
2958 simplicity.
2959 (PickView::set_view_mode): Remove.
2960 (PickView::cycleViewMode): New function.
2961 (PickView::setViewMode): Refactor completely. Incorporate functionality
2962 of clear_view() here instead. Simplify package selection into a single
2963 'for' loop rather than repeating code for each type.
2964 (isObsolete): New function, with second overloaded version.
2965 (PickView::setObsolete): New function.
2966 (PickView::insert_pkg): Do not show obsolete packages. Move
2967 declaration of 'db' lower. Fix whitespace.
2968 (PickView::insert_category): Do not show obsolete packages.
2969 (PickView::clear_view): Remove. Moved logic into 'setViewMode'.
2970 (PickView::scroll): Add additional parameter 'howmany' with default
2971 value of 1. Scroll by 'howmany' lines for SB_LINEDOWN and SB_LINEUP.
2972 (NUM_CATEGORY_COL_WIDTH): Define.
2973 (PickView::init_headers): Fix whitespace. Add comments. Ignore
2974 obsolete packages in width calculations. Add functionality to size
2975 'Category' column so that at least NUM_CATEGORY_COL_WIDTH categories
2976 are displayed for every package. Ensure that 'new_col' takes into
2977 account all possible labels.
2978 (PickView::PickView): Initialize showObsolete to false.
2979 (PickView::init): Remove unused bitmap bm_rtarrow. Add new bitmaps
2980 bm_treeplus and bm_treeminus. Use a macro for better readability.
2981 Fix whitespace formatting. Remove header computation from here, call
2982 refresh() instead.
2983 (PickView::registerWindowClass): Remove unnecessary background brush.
2984 (PickView::WindowProc): Add support for WM_MOUSEWHEEL message
2985 processing. Fix indentation. Reformat for readability.
2986 (PickView::paint): Get the update region before calling BeginPaint.
2987 Fill the update region with the default colors. Do not do clipping
2988 here. Pass update region to the PickLine paint function instead.
2989 Free the update region when finished.
2990 (PickView::Create): Fix indentation.
2991 (PickView::defaultTrust): Ditto.
2992 (PickView::refresh): Add column recalculation logic here.
2993 * PickView.h: Fix indentation.
2994 (RTARROW_WIDTH): Remove unused define.
2995 (NEW_COL_SIZE_SLOP): Ditto.
2996 (TREE_INDENT): Define.
2997 (PickView::get_view_mode): Remove.
2998 (PickView::set_view_mode): Rename to setViewMode for consistency.
2999 (PickView::cycleViewMode): Add new function.
3000 (PickView::setObsolete): Ditto.
3001 (PickView::clear_view): Remove.
3002 (PickView::bm_treeplus): Define new member.
3003 (PickView::bm_treeminus): Ditto.
3004 (PickView::scroll): Add parameter.
3005 (PickView::Header::slen): Remove unused member.
3006 (PickView::Header::needs_clip): Define new member.
3007 (PickView::showObsolete): Ditto.
3008 (isObsolete): Add prototype, and for overloaded version as well.
3009 * choose.cc: Add include.
3010 (ChooserControlsInfo): Allow new checkbox to be resized.
3011 (ChooserPage::OnInit): Start dialog with 'Hide obsolete' checked.
3012 (ChooserPage::OnNext): Call the dependency checker, act accordingly.
3013 (ChooserPage::changeTrust): Notify dependency checker of current trust
3014 level when it changes.
3015 (ChooserPage::OnMessageCmd): Just call cycleViewMode instead when
3016 changing the view. Update the chooser when the user toggles the
3017 'hide obsolete' checkbox.
3018 (ChooserPage::OnMouseWheel): New function. Pass mouse wheel message
3019 on to chooser.
3020 * choose.h (OnMouseWheel): Add prototype.
3021 * main.cc: Add include.
3022 (main): Define and initialize the PrereqPage object. Add it into
3023 the property sheet list.
3024 * PropPage.cc (PropertyPage::DialogProc): Add support for WM_MOUSEWHEEL
3025 message processing in derived classes.
3026 (PropertyPage::OnMouseWheel): New function.
3027 * PropPage.h (PropertyPage::OnMouseWheel): Add prototype.
3028 * res.rc (IDD_LOCAL_DIR): Shorten edit box so that pushbutton is not
3029 crowded.
3030 (IDD_SITE): Provide static text with an ID so that it can be resized
3031 properly. Move pushbutton slightly to right so that it doesn't crowd
3032 edit box.
3033 (IDD_SPLASH): Change copyright displayed on spash screen to be generic
3034 since the actual list of contributors is long.
3035 (IDD_CHOOSE): Add checkbox. Resize other controls to accomodate.
3036 (IDD_PREREQ): New dialog.
3037 (SPIN): Delete duplicated bitmap resource.
3038 (IDB_RTARROW): Remove unused bitmap resource.
3039 (IDB_TREE_PLUS): Add.
3040 (IDB_TREE_MINUS): Ditto.
3041 (IDS_TRUSTPREV_TOOLTIP): Revise wording to be more concise.
3042 (IDS_TRUSTCURR_TOOLTIP): Ditto.
3043 (IDS_TRUSTEXP_TOOLTIP): Ditto.
3044 (IDS_VIEWBUTTON_TOOLTIP): Ditto.
3045 * resource.h (IDD_PREREQ): Define.
3046 (IDB_RTARROW): Remove.
3047 (IDB_TREE_PLUS): Add, and renumber.
3048 (IDB_TREE_MINUS): Ditto.
3049 (IDC_SITE_USERURL): Define.
3050 (IDC_CHOOSE_HIDE): Ditto.
3051 (IDC_PREREQ_TEXT): Ditto.
3052 (IDC_PREREQ_EDIT): Ditto.
3053 (IDC_PREREQ_CHECK): Ditto.
3054 * site.cc (SiteControlsInfo): Ensure that 'User URL' static text is
3055 properly resized.
3056
3057 2005-05-14 Max Bowsher <maxb@ukf.net>
3058
3059 "Type" field of packageversions was not even being filled in. Fix.
3060
3061 * cygpackage.h, cygpackage.cc (cygpackage::createInstance):
3062 Make "type" a mandatory parameter of the constructor.
3063 * IniDBBuilderPackage.cc: Adjust callers.
3064
3065 2005-05-14 Bas van Gompel <patch-cygsup.buzz@bavag.tmfweb.nl>
3066
3067 Fix behaviour of hardlinks in source packages.
3068
3069 * archive.cc (archive::extract_file):
3070 Use prefixPath for link target on hardlinks.
3071
3072 2005-05-14 Max Bowsher <maxb@ukf.net>
3073
3074 Hopefully, solve the "preremove DLL dependency" bug, by running all
3075 preremove scripts before actually removing any files.
3076
3077 * install.cc
3078 (Installer::preremoveOne): New method. Run preremove scripts here.
3079 (Installer::replaceOne): Remove method.
3080 (num_replacements): Remove variable.
3081 (do_install_thread): Significantly rewrite.
3082 * package_meta.cc (packagemeta::uninstall):
3083 Do not run preremove script here.
3084
3085 2005-05-14 Max Bowsher <maxb@ukf.net>
3086
3087 * download.cc (do_download_thread):
3088 Do not use packageversion::changeRequested().
3089 * package_version.cc (packageversion::Type):
3090 Implement declared but previously unimplemented method.
3091 (packageversion::changeRequested, _packageversion::changeRequested):
3092 Remove.
3093 * package_version.h
3094 (packageversion::changeRequested, _packageversion::changeRequested):
3095 Remove.
3096 * install.cc (Installer::replaceOne): Simplify, return void, not int.
3097 (installOneSource): Rename to...
3098 (installOne): ...this. Change arguments and return type. Refactor.
3099 (install_one): Remove.
3100 (do_install_thread): Tidying up.
3101
3102 2005-05-07 Max Bowsher <maxb@ukf.net>
3103
3104 * download.cc (validateCachedPackage): Remove all MD5 checking code.
3105 It is not acceptable to check MD5 sums as part of simply answering
3106 whether a package exists in the local cache or not. It is too slow.
3107 MD5 sums always have been - and will continue to be - checked at
3108 install time.
3109 (NoMD5Option): Remove this option, as the code it controls has been
3110 removed.
3111
3112 2005-05-07 Max Bowsher <maxb@ukf.net>
3113
3114 * install.cc (md5_one): Make the MD5 checking done at install time
3115 display a progess GUI, as the MD5 checking done at other times does.
3116
3117 2005-05-07 Max Bowsher <maxb@ukf.net>
3118
3119 * resource.h, res.rc: Followup to recent de-MSVC-ification of
3120 resource.h, by removing a lot from res.rc, and the last few bits
3121 from resource.h.
3122
3123 2005-05-05 Brian Dessent <brian@dessent.net>
3124
3125 * choose.cc (ChooserPage::OnInit): Initialize tooltips for this
3126 dialog.
3127
3128 * proppage.h (PropertyPage::makeClickable): Update prototype to
3129 reflect same argument name as function.
3130
3131 * proppage.cc (PropertyPage::DialogProc): Remove redundant 'break'
3132 statements that follow 'return's. Add missing braces to case
3133 statements. Call handler for TTN_GETDISPINFO.
3134
3135 * res.rc (IDS_TRUSTKEEP_TOOLTIP): Add new STRINGTABLE entry for
3136 tooltip text.
3137 (IDS_TRUSTPREV_TOOLTIP): Ditto.
3138 (IDS_TRUSTCURR_TOOLTIP): Ditto.
3139 (IDS_TRUSTEXP_TOOLTIP): Ditto.
3140 (IDS_TRUSTPREV_TOOLTIP): Ditto.
3141 (IDS_VIEWBUTTON_TOOLTIP): Ditto.
3142
3143 * resource.h: Likewise, add identifiers for tooltip resources.
3144
3145 * window.h: Add includes.
3146 (Window::TooltipHandle): Add new private data structure.
3147 (Window::TooltipStrings): Ditto.
3148 (Window::ActivateTooltips): Define new function to support tooltip
3149 functionality.
3150 (Window::SetTooltipState): Ditto.
3151 (Window::AddTooltip): Ditto.
3152 (Window::TooltipNotificationHandler): Ditto.
3153
3154 * window.cc (Window::Window): Initialize handle to NULL.
3155 (Window::~Window): Call DestroyWindow on tooltip control if it was
3156 activated.
3157 (Window::ActivateTooltips): New function to activate the tooltip
3158 control.
3159 (Window::SetTooltipState): New function to allow toggling of
3160 tooltips.
3161 (Window::AddTooltip): New function that adds a tooltip to a given
3162 control in a given window. Also implement overloaded versions that
3163 provide simpler interface and the ability to use a string resource.
3164 (Window::TooltipNotificationHandler): New function to handle
3165 TTN_GETDISPINFO notification messages.
3166
3167 2005-05-05 Brian Dessent <brian@dessent.net>
3168
3169 * resource.h: Reorganize. Group by type, and give each its own
3170 range of IDs. Regenerate IDs accordingly.
3171 (IDD_CHOOSER): Remove obsolete and unused symbol.
3172
3173 2005-05-05 Brian Dessent <brian@dessent.net>
3174
3175 * root.h (class RootPage): Add missing virtual to OnMessageCmd.
3176
3177 2005-05-05 Brian Dessent <brian@dessent.net>
3178
3179 * root.cc (dialog_cmd): Remove. Use OnMessageCmd instead.
3180 (RootPage::Create): Accomodate above change.
3181
3182 * root.h (class RootPage): Add prototype for OnMessageCmd.
3183
3184 * res.rc (IDD_ROOT): Fix broken button groups. Correct the order of
3185 the controls and use of WS_GROUP so that the radio buttons act
3186 correctly.
3187
3188 2005-05-05 Max Bowsher <maxb@ukf.net>
3189
3190 Bulk rename of String++ member cstr_oneuse () to c_str () for
3191 similarity to std::string.
3192
3193 * Exception.cc
3194 * IniDBBuilderPackage.cc
3195 * IniParseFindVisitor.cc
3196 * LogFile.cc
3197 * PickCategoryLine.cc
3198 * PickPackageLine.cc
3199 * PickView.cc
3200 * String++.cc
3201 * String++.h
3202 * archive.cc
3203 * cygpackage.cc
3204 * desktop.cc
3205 * dialog.cc
3206 * diskfull.cc
3207 * download.cc
3208 * filemanip.cc
3209 * find.cc
3210 * geturl.cc
3211 * ini.cc
3212 * install.cc
3213 * io_stream.cc
3214 * io_stream_cygfile.cc
3215 * io_stream_file.cc
3216 * localdir.cc
3217 * mount.cc
3218 * nio-http.cc
3219 * package_db.cc
3220 * package_meta.cc
3221 * package_source.h
3222 * postinstall.cc
3223 * proppage.cc
3224 * root.cc
3225 * script.cc
3226 * site.cc
3227 * splash.cc
3228 * threebar.cc
3229 * window.cc
3230
3231 2005-05-05 Max Bowsher <maxb@ukf.net>
3232
3233 Some String++ refactoring, setting out in the general direction of
3234 eventually just using the STL std::string, not our own class.
3235
3236 * String++.cc (String::cstr, String::cstr () const): Remove.
3237 (new_cstr_char_array): New function.
3238 * String++.h: Sync with above.
3239 Remove irrelevant "class io_stream;" declaration.
3240
3241 * cygpackage.h: Add "class io_stream;" declaration, now no longer
3242 being supplied by side-effect.
3243
3244 * filemanip.cc: Remove unneeded includes, add "using namespace std;".
3245 (parse_filename): Exchange some awkward pointer manipulation for
3246 std::string usage. Use new_cstr_char_array ().
3247 * filemanip.h: Sync with above.
3248 (fileparse): Improve style of declaration.
3249
3250 * io_stream_cygfile.cc (io_stream_cygfile::normalise):
3251 Use new_cstr_char_array ().
3252 * site.cc (site_list_type::init, get_site_list): Ditto.
3253
3254 2005-05-05 Brian Dessent <brian@dessent.net>
3255
3256 * ControlAdjuster.h (enum ControlPosition): Declare new resizing
3257 methods CP_STRETCH_LEFTHALF and CP_STRETCH_RIGHTHALF, and their
3258 TOP/BOTTOM aliases.
3259
3260 * ControlAdjuster.cc (ControlAdjuster::ControlInfo::adjust):
3261 Implement CP_STRETCH_LEFTHALF and CP_STRETCH_RIGHTHALF, which are
3262 designed to resize elements in a two-column layout.
3263
3264 * localdir.h (class LocalDirPage): Remove constructor implementation
3265 from here...
3266
3267 * localdir.cc (LocalDirPage::LocalDirPage): ...to here, and call
3268 AddControlsInfo on initialization.
3269 (static LocaldirControlsInfo): Add. Define sizing rules for dialog
3270 elements.
3271
3272 * proppage.h: Add includes.
3273 (PropertyPage::ClickableURL):
3274 Declare new storage type for internal use by class.
3275 (PropertyPage::urls): Likewise.
3276 (PropertyPage::urlWinProc): Add declaration.
3277 (PropertyPage::makeClickable): Likewise.
3278
3279 * proppage.cc: Add includes.
3280 (PropertyPage::DialogProc): Implement handler for WM_CTLCOLORSTATIC
3281 message. Supports static controls that have been turned into
3282 clickable hyperlinks.
3283 (static PropertyPage::urls): Declare.
3284 (PropertyPage::makeClickable): Implement new member function that
3285 provides user interface for making text into clickable URLs.
3286 (PropertyPage::urlWinProc): Implement new private member function used
3287 as a windowproc for subclassing a static control.
3288
3289 * resource.h (IDC_SPLASH_URL, IDC_FILEMODES_LINK, IDC_ROOTDIR_GRP,
3290 IDC_INSTALLFOR_GRP, IDC_ALLUSERS_TEXT, IDC_JUSTME_TEXT, IDC_MODE_GRP,
3291 IDC_MODE_TEXT, IDC_MODE_BIN, IDC_LOCALDIR_GRP, IDC_SPLASH_TEXT,
3292 IDC_SPLASH_ICON, IDC_SPLASH_COPYR): Add. Replaces anonymous
3293 IDC_STATIC ids, so that controls can be referenced by the resizer.
3294
3295 * res.rc (IDD_LOCAL_DIR): Rearrange controls to match top-down order
3296 in the dialog. Fold long lines. Replace anonymous IDC_STATIC ids.
3297 (IDD_ROOT): Reorder in same manner. Replace anonymous IDC_STATIC ids.
3298 Add descriptive text of each option, and hyperlink for more
3299 information. Mark suggested choice as "(RECOMMENDED)". Swap order of
3300 'unix'/'dos' radio buttons so that recommended choice is first in both
3301 columns.
3302 (IDD_SPLASH): Reorder elements to match top-down order of dialog, fold
3303 long lines. Add descriptive paragraph, remove anonymous ids. Update
3304 copyright text, replace sources.redhat.com with cygwin.com.
3305
3306 * root.h (class RootPage): Remove constructor implementation from
3307 here...
3308
3309 * root.cc: ...to here, and call AddControlInfo.
3310 (static RootControlsInfo): Add. Populate with resizing data.
3311 (RootPage::OnInit): Make text a clickable hyperlink.
3312
3313 * splash.h (class SplashPage): Likewise, move constructor from
3314 here...
3315
3316 * splash.cc: ...to here. Call AddControlInfo.
3317 (static SplashControlsInfo): Add and populate.
3318 (SplashPage::Create): Make link on splash page a clickable hyperlink.
3319
3320 * window.h: Add include.
3321 (class Window): Store allocated fonts with a vector instead of fixed
3322 array. Change indentation of setParent to be consistent.
3323
3324 * window.cc (Window::Window): Remove FontCounter.
3325 (Window::~Window): Likewise. Iterate over vector of fonts instead.
3326 (Window::SetDlgItemFont): Use vector.
3327
3328 2005-05-05 Max Bowsher <maxb@ukf.net>
3329
3330 * Makefile.am (EXTRA_DIST, inilint_SOURCES):
3331 Sync with several recent changes.
3332
3333 2005-05-05 Brian Dessent <brian@dessent.net>
3334
3335 * res.rc: (CREATEPROCESS_MANIFEST_RESOURCE_ID): Include section
3336 comment.
3337
3338 2005-05-05 Brian Dessent <brian@dessent.net>
3339
3340 * res.rc: (IDC_CHOOSE): Widen 'view' button by 6px horizontally and
3341 4px vertically. Adjust other controls to accomodate.
3342 (CREATEPROCESS_MANIFEST_RESOURCE_ID): Define so that manifest is
3343 included in the binary.
3344
3345 * setup.exe.manifest: New file. Results in common controls with
3346 themed appearance on modern versions of Windows.
3347
3348 2005-05-05 Brian Dessent <brian@dessent.net>
3349
3350 * main.cc (WinMain): Change conditional to avoid spurious error
3351 message on success. Include reason for failure in log message.
3352
3353 2005-05-04 Max Bowsher <maxb@ukf.net>
3354
3355 * state.cc, state.h (net_method, net_proxy_host, net_proxy_port,)
3356 (net_user, net_passwd, net_proxy_user, net_proxy_passwd,)
3357 Inet_ftp_user, net_ftp_passwd):
3358 Move these global variables to be static variables of the NetIO class.
3359
3360 * netio.h, netio.cc (net_method, net_proxy_host, net_proxy_port,)
3361 (net_user, net_passwd, net_proxy_user, net_proxy_passwd,)
3362 net_ftp_user, net_ftp_passwd):
3363 As above.
3364
3365 * ConnectionSetting.cc, net.cc:
3366 Change include, refer to variables in new location.
3367
3368 2005-05-04 Max Bowsher <maxb@ukf.net>
3369
3370 * PickLine.cc: Remove file - redundant.
3371 * Makefile.am (setup_SOURCES): Adjust.
3372
3373 2005-05-04 Max Bowsher <maxb@ukf.net>
3374
3375 * package_version.h (packageversion::set_requirements):
3376 Remove deftrust argument default value.
3377
3378 2005-05-04 Max Bowsher <maxb@ukf.net>
3379
3380 * package_version.cc (DependencyProcessor): Remove trivial class.
3381 (select, processOneDependency): Do not use DependencyProcessor, just
3382 pass parameters normally.
3383
3384 2005-05-04 Brian Dessent <brian@dessent.net>
3385
3386 Fix bug #820: Clicking Curr, etc., causes some dependencies to not
3387 be installed.
3388
3389 * choose.cc (ChooserPage::changeTrust):
3390 Add a missing "packagedb.markUnVisited ()".
3391
3392 2005-05-03 Max Bowsher <maxb@ukf.net>
3393
3394 * PickCategoryLine.cc (PickCategoryLine::click):
3395 * PickPackageLine.cc (PickPackageLine::click):
3396 Abandon use of trivial packagemeta::PrepareForVisit() wrapper.
3397
3398 * package_meta.h (packagemeta::PrepareForVisit): Remove.
3399 * package_meta.cc (packagemeta::PrepareForVisit): Remove.
3400
3401 2005-05-03 Max Bowsher <maxb@ukf.net>
3402
3403 * choose.h (ChooserPage::ifChecked): Remove.
3404 (ChooserPage::changeTrust): Convert from template to ordinary function.
3405 * choose.cc (ChooserPage::changeTrust): As above, plus avoid the use
3406 of custom class SetRequirement, when bind2nd(mem_fun(...),...) can
3407 achieve the same effect.
3408 * package_meta.h (SetRequirement): Remove, now unused.
3409
3410 2005-05-03 Max Bowsher <maxb@ukf.net>
3411
3412 * package_meta.h (packagemeta::set_requirements):
3413 Remove default argument which seems inappropriate.
3414 * PickPackageLine.cc (PickPackageLine::click):
3415 Make an argument explicit, and not that it seems like the wrong value.
3416
3417 2005-05-03 Brian Dessent <brian@dessent.net>
3418
3419 Fix part of bug #853 - proxy port not remembered.
3420
3421 * net.cc (doing_loading): New static boolean.
3422 (load_dialog): Use the boolean to prevent save_dialog() from taking
3423 action due to field changes due to initialization.
3424 (save_dialog): Check the boolean and respond appropriately.
3425
3426 2005-04-19 Max Bowsher <maxb@ukf.net>
3427
3428 * postinstall.cc (RunFindVisitor::visitFile): Fix crash on
3429 encountering a postinstall script with a name of 4 characters or less.
3430 Bug introduced on 2004-12-25.
3431
3432 2005-04-05 Max Bowsher <maxb@ukf.net>
3433
3434 The Big Cleanup: Phase "rfc1738"
3435
3436 * rfc1738.cc, rfc1738.h: Delete.
3437 * csu_util/rfc1738.cc: Reimport latest version from upstream source.
3438 Make thread-safe. Rewrite C++ wrapper in terms of std::string.
3439 Document the divergences from the upstream source.
3440 * csu_util/rfc1738.h: Recreate for the std::string version of the
3441 C++ wrapper.
3442
3443 * Makefile.am (setup_SOURCES): Sync with added/removed files.
3444 * IniParseFindVisitor.cc: Modify #includes.
3445 (IniParseFindVisitor::visitFile): Change function name, as the new
3446 C++ wrapper does not contain an irregularity that the old one did.
3447 * download.cc: Modify #includes.
3448 * ini.cc: Modify #includes.
3449
3450 2005-04-05 Max Bowsher <maxb@ukf.net>
3451
3452 Remove setup's internal compression libraries, instead relying on the
3453 mingw-foo packages which have been part of the Cygwin net distribution
3454 for some time now. At the same time, reorganize the README file to
3455 inform about the change, and make some additional tidy-ups there whilst
3456 working there.
3457
3458 * GUIDELINES: Remove, contents transferred to README.
3459 * README: Add build instructions. Delete unconfirmed and fixed bugs
3460 sections. Incorporate the former contents of GUIDELINES.
3461
3462 * bz2lib/: Remove.
3463 * zlib/: Remove.
3464 * Makefile.am (DIST_SUBDIRS, SUBDIRS):
3465 * configure.in: Remove AC_CONFIG_SUBDIRS for removed subdirs.
3466 * compress_bz.h: Remove complex _WIN32 preprocessor conditional.
3467 * compress_gz.h: Fix #include file name.
3468 * archive_tar_file.cc: Remove unused #include.
3469 * install.cc: Remove unused #include.
3470
3471 2005-01-27 Max Bowsher <maxb@ukf.net>
3472
3473 Set CYGWIN=nontsec, for postinstall scripts.
3474
3475 * main.cc (main): putenv("CYGWIN=nontsec").
3476
3477 2005-01-27 Bas van Gompel <patch-cygsup.buzz@bavag.tmfweb.nl>
3478
3479 Fix corrupt display of ini parse percentage in log file.
3480
3481 * ini.cc (GuiParseFeedback): Use a sensible data type for lastpct.
3482
3483 2004-12-29 Max Bowsher <maxb@ukf.net>
3484
3485 * site.cc (get_site_list): Filter the incoming mirrors list to contain
3486 only URL schemes that we can read.
3487
3488 2004-12-28 Max Bowsher <maxb@ukf.net>
3489
3490 The Big Cleanup: Phase "hash"
3491
3492 * hash.cc, hash.h: Delete.
3493 * Makefile.am (setup_SOURCES): Sync with deleted files.
3494
3495 * package_mets: Modify includes.
3496 (standard_dirs): Remove.
3497 (hash::add_subdirs): Remove.
3498 (packagemeta::uninstall): Re-implement using STL set instead of
3499 homebrew hash.
3500
3501 2004-12-28 Max Bowsher <maxb@ukf.net>
3502
3503 * String++.h (operator std::string): Take care to never do
3504 std::string((char*)NULL) - it causes a hang!
3505
3506 2004-12-27 Max Bowsher <maxb@ukf.net>
3507
3508 The Big Cleanup: Phase "log"
3509
3510 * log.cc, log.h: Delete old C-style compatibility wrapper around the
3511 logging subsystem.
3512 * Makefile.am (setup_SOURCES): Sync with deleted files.
3513
3514 * AntiVirus.cc, archive_tar_file.cc, ini.cc, install.cc,
3515 * io_stream_cygfile.cc, localdir.cc, msg.cc, net.cc, netio.cc,
3516 * netio.h, nio-ftp.cc, nio-ftp.h, root.cc, source.cc:
3517 Throughout, refine includes, and update code using the old
3518 compatibility wrapper to C++ streams style code.
3519
3520 2004-12-27 Max Bowsher <maxb@ukf.net>
3521
3522 * compress.cc: Refine includes. Remove placeholder function
3523 definitions. Make destructor an empty function.
3524 * compress.h: Refine includes. Make placeholder functions pure
3525 virtual. Add missing const on buffer argument to write function,
3526 to match derived classes.
3527 * compress_bz.cc, compress_gz.cc: Refine includes. Throw exception,
3528 rather than logging and returning an error, when an unimplemented
3529 function is called.
3530 * compress_bz.h, compress_gz.h: Refine includes.
3531
3532 2004-12-26 Max Bowsher <maxb@ukf.net>
3533
3534 The Big Cleanup: Phase "version"
3535
3536 * String++.h (operator std::string): Add.
3537 * desktop.cc, fromcwd.cc: Remove irrelevant include.
3538
3539 * version.cc, version.h: Delete, replacing all functionality in new
3540 files.
3541
3542 * setup_version.h: Add, taking over declaration of generated version
3543 symbol functionality.
3544
3545 * Makefile.am (setup_SOURCES): Sync with new/deleted files.
3546 (setup_version.c): Rename the symbol 'version' to 'setup_version'.
3547 * main.cc: Modify includes.
3548 (main): Adapt to setup_version rename.
3549 * splash.cc: Modify includes.
3550 (SplashPage::OnInit): Adapt to setup_version rename.
3551
3552 * csu_util/version_compare.cc, csu_util/version_compare.h: Add,
3553 containing a completely rewritten replacement for canonical_version().
3554
3555 * IniDBBuilderPackage.cc: Modify includes.
3556 (IniDBBuilderPackage::buildVersion): Use new version_compare API.
3557 * ini.cc: Modify includes.
3558 (setup_version): Rename...
3559 (ini_setup_version): ...to this.
3560 (do_local_ini, do_remote_ini): Adapt to above change.
3561 (do_ini_thread): Adapt to above change. Use new version_compare API.
3562
3563 2004-12-25 Max Bowsher <maxb@ukf.net>
3564
3565 * install.cc (Installer::installOneSource): Remove a stray "break;"
3566 left over from the switch-case -> if-else conversion in the previous
3567 change.
3568
3569 2004-12-25 Max Bowsher <maxb@ukf.net>
3570
3571 The Big Cleanup: Phase "win32"
3572
3573 * win32.h: Major overhaul. Document why we use _WIN32_IE. Move out
3574 fragment dealing with alloca() to the single file in which it is used.
3575 Remove fragment dealing with _MAX_PATH, and convert all uses of it
3576 elsewhere to MAX_PATH. Remove random include of <stdarg.h>. Remove
3577 NOCOMATTRIBUTE, as setup contains no code which it affects. Remove
3578 includes of <wininet.h> and <windowsx.h> - see later in this log.
3579 (IsWindowsNT): New inline function, a much simpler implementation of
3580 Win32::OS().
3581
3582 * win32.cc: Delete.
3583
3584 * Makefile.am (setup_SOURCES): Remove "win32.cc".
3585
3586 * AntiVirus.cc (detect), PickPackageLine.cc (PickPackageLine::paint),
3587 * install.c (Installer::installOneSource):
3588 Use IsWindowsNT(), not Win32::OS().
3589 * main.cc (main): Use IsWindowsNT(), not locally defined iswinnt.
3590
3591 * PickView.cc (PickView::WindowProc), netio.cc (auth_proc),
3592 * proppage.cc (PropertyPage::DialogProc):
3593 Avoid using obfuscating macros from <windowsx.h>.
3594
3595 * archive.cc: Include or #define alloca() in the only file in which
3596 it is used.
3597
3598 * nio-ie5.h: Include <wininet.h> here, where it is actually needed,
3599 rather than in "win32.h" which is included almost everywhere.
3600
3601 * archive_tar.cc, archive_tar.h, cygpackage.cc, cygpackage.h,
3602 * desktop.cc, find.cc, install.cc, main.cc, mklink2.c, mount.cc,
3603 * script.cc: Use MAX_PATH, not _MAX_PATH.
3604
3605 2004-12-25 Max Bowsher <maxb@ukf.net>
3606
3607 Remove some overcomplications.
3608
3609 * Makefile.am (setup_SOURCES): Remove FilterVisitor.{cc,h}.
3610 * FilterVisitor.cc, FilterVisitor.h: Delete.
3611 * String++.cc (strmatch, String::matches): Remove.
3612 * String++.h (String::matches): Remove.
3613 * postinstall.cc: Do not include "FilterVisitor.h".
3614 (RunFindVisitor): Exclude items with the extension ".done".
3615 (do_postinstall_thread): Remove overcomplicated exclusion of items
3616 with the extension ".done".
3617
3618 2004-12-24 Max Bowsher <maxb@ukf.net>
3619
3620 * String++.cc, String++.h: Remove unused and incomplete code.
3621 * LogFile.cc (LogFile::log_save): Don't leak memory.
3622 * filemanip.cc, geturl.cc, root.cc, version.cc:
3623 Don't pointlessly create temporary copies strings.
3624
3625 2004-12-23 Max Bowsher <maxb@ukf.net>
3626
3627 * choose.cc (ChooserPage::OnNext): Relegate some overly verbose
3628 logging to an #ifdef DEBUG section.
3629 * geturl.h (dismiss_url_status_dialog): Remove stale function
3630 declaration, for which there is no definition.
3631 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile):
3632 Motivated by the recent unexplained hang bug, add some extra logging.
3633
3634 2004-11-22 Max Bowsher <maxb@ukf.net>
3635
3636 * MD5++.cc, MD5++.h: Remove this class.
3637 * csu_util/MD5Sum.cc, csu_util/MD5Sum.h: New more complete MD5 class.
3638 * Makefile.am (setup_SOURCES): Adjust to new files.
3639 * download.cc (validateCachedPackage): Simplify, using the new class.
3640 * install.cc (md5_one): Ditto.
3641 * package_source.h (packagesource::md5): Change to be an object of the
3642 new class.
3643
3644 2004-11-22 Max Bowsher <maxb@ukf.net>
3645
3646 * main.cc (main): Fix bug in one of the 2004-11-19 commits.
3647 Avoid referring to the theLog pointer before it is set.
3648
3649 2004-11-20 Max Bowsher <maxb@ukf.net>
3650
3651 * res.rc (IDD_SOURCE): Clarify the radio-button option descriptions.
3652 Re-layout the radio buttons.
3653
3654 2004-11-20 Max Bowsher <maxb@ukf.net>
3655
3656 Repair the broken detection of wrongly-sized package files.
3657
3658 * download.cc (validateCachedPackage): Make static, since not used
3659 elsewhere. Improve logging. Migrate file-size tests to here, alongside
3660 the MD5 tests.
3661 (check_for_cached): Remove broken testing of file-size, now covered by
3662 the above. Code cleanups.
3663
3664 2004-11-19 Max Bowsher <maxb@ukf.net>
3665
3666 * package_version.cc (dumpAndList): Make dependencies much more
3667 readable in full log output.
3668
3669 2004-11-19 Max Bowsher <maxb@ukf.net>
3670
3671 * proppage.cc (PropertyPage::DialogProc): Wrap in a TOPLEVEL_CATCH
3672 block, since allowing exceptions to unwind into the guts of Windows is
3673 quite disasterous.
3674
3675 2004-11-19 Max Bowsher <maxb@ukf.net>
3676
3677 * main.cc (main): Move option parsing code earlier - it must execute
3678 before any significant object creations, which might test options in
3679 their initialization.
3680
3681 2004-11-19 Max Bowsher <maxb@ukf.net>
3682
3683 * main.cc (main): Remove some junk code - either commented out, or
3684 contained within unreachable preprocessor conditional sections.
3685
3686 2004-11-19 Max Bowsher <maxb@ukf.net>
3687
3688 * install.cc (Installer::installOneSource): Avoid leaking the open
3689 file handles of every tarball that is installed.
3690
3691 2004-11-19 Max Bowsher <maxb@ukf.net>
3692
3693 * package_source.h (packagesource::Canonical, packagesource::Base)
3694 (packagesource::Filename): Add "const" specification to accessor
3695 methods.
3696
3697 2004-11-18 Max Bowsher <maxb@ukf.net>
3698
3699 * archive.h (archive::~archive): Define a pure virtual destructor to
3700 enforce the abstract nature of this class.
3701 * archive.cc (archive::~archive): Pure virtual destructors require an
3702 implementation! Add one.
3703 * io_stream.h (io_stream::destroyed): Remove this severely
3704 brain-damaged implementation of a weakly-enforced abstract class.
3705 The pure virtual destructor was strongly enforcing the abstract nature
3706 anyway.
3707 * io_stream.cc (io_stream::~io_stream): Empty out horribly pointless
3708 code from the pure virtual destructor.
3709 * archive_tar.cc (archive_tar::~archive_tar): Remove all
3710 reference to the removed "destroyed" member.
3711 * archive_tar_file.cc (archive_tar_file::~archive_tar_file): Ditto.
3712 * compress_bz.cc (compress_bz::~compress_bz): Ditto.
3713 * compress_gz.cc (compress_gz::~compress_gz): Ditto.
3714 * io_stream_cygfile.cc (io_stream_cygfile::~io_stream_cygfile): Ditto.
3715 * io_stream_file.cc (io_stream_file::~io_stream_file): Ditto.
3716 * io_stream_memory.cc (io_stream_memory::~io_stream_memory): Ditto.
3717
3718 2004-11-17 Max Bowsher <maxb@ukf.net>
3719
3720 * mount.cc (create_mount): Fix operator precedence error introduced in
3721 first 2004-11-11 commit - warned of by gcc 3.3.3 but not 3.4.1 !
3722
3723 2004-11-13 Max Bowsher <maxb@ukf.net>
3724
3725 Miscellaneous cleanup.
3726
3727 * geturl.cc (getUrlToStream): Make static.
3728 * geturl.h (getUrlToStream): Remove declaration.
3729
3730 * geturl.cc, geturl.h, netio.cc, netio.h, nio-ftp.cc, nio-ftp.h,
3731 nio-http.cc, nio-http.h:
3732 Remove unused "allow_ftp_auth" flag throughout.
3733
3734 2004-11-11 Max Bowsher <maxb@ukf.net>
3735
3736 * libmd5-rfc: New directory, to hold code imported from the libmd5-rfc
3737 project in a clearly delineated fashion.
3738 * libmd5-rfc/README: New file.
3739 * md5.c, md5.h: Delete...
3740 * libmd5-rfc/md5.c, libmd5-rfc/md5.h: ...and replace with pristine
3741 versions from upstream (only change is restoration of upstream CVS
3742 keyword expansions).
3743 * libmd5-rfc/md5main.c: New file.
3744 * Makefile.ami (setup_SOURCES): Edit file paths.
3745 * download.cc, install.cc: Edit include paths.
3746
3747 2004-11-11 Max Bowsher <maxb@ukf.net>
3748
3749 * dialog.cc (fatal): Make capable of handling a passed-in error code,
3750 as an alternative to calling GetLastError().
3751 * dialog.h (fatal): Adjust prototype as above.
3752 * mount.cc (create_mount): Use the above to correctly report errors.
3753
3754 2004-10-28 Max Bowsher <maxb@ukf.net>
3755
3756 * LogFile.cc (LogFile::getFileName), splash.cc (SplashPage::Create),
3757 threebar.cc (ThreeBarProgressPage::SetBar2):
3758 Migrate from cistring and string resources
3759 to String and string literals.
3760 * localdir.cc: Remove unneeded #include of "cistring.h".
3761 * cistring.cc, cistring.h: Remove this now-redundant class.
3762 * Makefile.am: Remove mention of the above removed files.
3763 * res.rc, resource.h: Remove obsolete strings and IDs, both those
3764 obseleted by and obselete before the above changes.
3765 * res.rc: Merge the 2 adjacent STRINGTABLEs.
3766
3767 2004-10-27 Max Bowsher <maxb@ukf.net>
3768
3769 * Makefile.am (setup_SOURCES): Add "RECTWrapper.h". It was missing.
3770
3771 2004-10-25 Bas van Gompel <cygsup-patch.buzz@bavag.tmfweb.nl>
3772
3773 * package_source.cc (packagesource::set_canonical):
3774 Fix one-off in 'base' when ini is in same dir as package.
3775
3776 2004-10-25 Max Bowsher <maxb@ukf.net>
3777
3778 * main.cc (next_dialog): Remove this legacy global variable.
3779 * download.cc (do_download_thread): Return a value instead of setting
3780 a global variable, then returning void.
3781 (do_download_reflector): Look for the next dialog code as a return
3782 value instead of a global variable.
3783
3784 2004-10-25 Max Bowsher <maxb@ukf.net>
3785
3786 * port.h: Remove this redundant file - all contained definitions are
3787 duplicated in "win32.h".
3788 * Makefile.am, UserSetting.cc, UserSettings.cc, archive.cc,
3789 archive_tar.cc, archive_tar_file.cc, choose.cc, compress.cc,
3790 compress_bz.cc, compress_gz.cc, desktop.cc, find.cc, fromcwd.cc,
3791 iniparse.y, install.cc, io_stream_cygfile.cc, io_stream_file.cc,
3792 main.cc, netio.cc, site.cc, version.cc:
3793 Remove all references to "port.h".
3794
3795 2004-10-25 Max Bowsher <maxb@ukf.net>
3796
3797 Fix compilation with w32api 3.1 and later.
3798
3799 * ControlAdjuster.h, RECTWrapper.h, cistring.h, propsheet.h,
3800 window.cc, window.h: Include "win32.h" not <windows.h> directly.
3801 * win32.h (WINBASEAPI): Define to empty string.
3802
3803 2004-09-13 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3804
3805 * script.cc (run): Kill stdin when running scripts.
3806
3807 2004-09-01 Max Bowsher <maxb@ukf.net>
3808
3809 * Makefile.am: Oops. Unwanted keyword expansion ate the code of the
3810 previous commit. Restore the code, escaped to not look like a keyword.
3811
3812 2004-09-01 Max Bowsher <maxb@ukf.net>
3813
3814 * Makefile.am: Simplify the shell incantation for getting the revision
3815 of ChangeLog from grep-and-sed to just sed.
3816
3817 2004-08-31 Max Bowsher <maxb@ukf.net>
3818
3819 Attain GCC 3.4 compatibility.
3820
3821 * PackageSpecification.h (PackageSpecification): Make the
3822 unnecessarily private copy-constructor public.
3823
3824 2004-08-30 Max Bowsher <maxb@ukf.net>
3825
3826 Rework the implementation of not including -Werror for specific files,
3827 to a way that does not require hardcoding modified automake output back
3828 into its input.
3829
3830 * Makefile.am (AM_CXXFLAGS, BASECXXFLAGS): Seperate out -Werror.
3831 (autoload.o): Drop this rule, -finline-functions is no longer required
3832 and -Werror is acceptable here now we have __attribute__ ((used)).
3833 (WARNONLY_CFLAGS, inilex.o): Drop these.
3834 (EXTRA_PROGRAMS): Add a fake "warnonly" program.
3835 (warnonly_CXXFLAGS): Set to the $(BASECXXFLAGS).
3836 (warnonly_SOURCES): Set to "inilex.cc".
3837 (EXTRA_setup_SOURCES): Set to $(warnonly_SOURCES).
3838 (setup_SOURCES): Remove "inilex.cc".
3839 (setup_LDADD): Add "warnonly-inilex.o".
3840
3841 2004-08-30 Max Bowsher <maxb@ukf.net>
3842
3843 Move closer to GCC 3.4 compatibility.
3844
3845 * IOStreamProvider.h, io_stream_cygfile.cc, io_stream_cygfile.h,
3846 io_stream_file.cc: Do not incorrectly use "enum" after it has been
3847 hidden inside a typedef.
3848 * archive.h: In "virtual func() = 0;", the 0 is a language construct,
3849 not some symbol that might evaluate to 0, and gcc 3.4 enforces this.
3850 * autoload.c (DllInfo.name): Silence warning by making const.
3851 (DLL, autoload_common): __attribute__ ((used)) is now required to
3852 prevent gcc being over-eager in it's optimization, and removing these
3853 seemingly-unused (used only from assembly) functions.
3854 Silences some warnings, too.
3855 * Makefile.am (AM_CXXFLAGS, AM_CFLAGS): The options
3856 -Wstrict-prototypes -Wmissing-prototypes do not apply to C++ and
3857 g++ 3.4 complains about them.
3858
3859 2004-08-29 Max Bowsher <maxb@ukf.net>
3860
3861 * Exception.h: Reformatting, #include more, remove incorrect and
3862 less-than-useful comments.
3863 (TOPLEVEL_CATCH): New preprocessor macro.
3864
3865 * LogFile.cc (LogFile::operator()): Throw an exception object, not a
3866 char* string.
3867
3868 Wrap the top-level of each thread (including the main thread) in a
3869 try...catch block, in order to display a useful error message if an
3870 exception is not caught.
3871 * download.cc (do_download_reflector): Here ...
3872 * ini.cc (do_ini_thread_reflector): ... and here ...
3873 * install.cc (do_install_reflector: ... and here ...
3874 * main.cc (main): ... and here ...
3875 * postinstall.cc (do_postinstall_thread): ... and here ...
3876 * site.cc (do_download_site_info_thread): ... and here!
3877
3878 * msg.h: Include a missing header requirement.
3879 * res.rc (IDS_UNCAUGHT_EXCEPTION, IDS_UNCAUGHT_EXCEPTION_WITH_ERRNO):
3880 New strings.
3881 * resource.h (IDS_UNCAUGHT_EXCEPTION)
3882 (IDS_UNCAUGHT_EXCEPTION_WITH_ERRNO): New IDs.
3883
3884 2004-08-28 Max Bowsher <maxb@ukf.net>
3885
3886 * res.rc (IDS_WINDOW_INIT_BADMSG): New string.
3887 * resource.h (IDS_WINDOW_INIT_BADMSG): New string resource ID.
3888 * window.cc (Window::FirstWindowProcReflector): Convert an abort()
3889 into a descriptive error.
3890
3891 2004-08-24 Max Bowsher <maxb@ukf.net>
3892
3893 The Doug Lee replacement malloc was no longer hooked up with the
3894 buildsystem in any way. Pruning the remaining unused file.
3895
3896 * dlmalloc.c: Removed.
3897
3898 2004-08-18 Max Bowsher <maxb@ukf.net>
3899
3900 "librsync is not wire-compatible with rsync 2.x, and is not likely
3901 to be in the future." -- librsync.sourceforge.net
3902
3903 So, it is of no practical use to setup. Therefore, removing all
3904 rsync related files and code from setup.
3905
3906 * rsync: Directory removed.
3907 * Makefile.am: Remove rsync support from the buildsystem.
3908 * configure.in: Ditto.
3909 * README: Since it seems vanishingly unlikely that it will ever happen,
3910 remove rsync support from the wishlist.
3911 * io_stream_rsync.cc: Remove.
3912 * io_stream_rsync.h: Remove.
3913
3914 2004-04-25 Robert Collins <rbtcollins@hotmail.com>
3915
3916 * package_meta.cc (packagemeta::set_requirements): fix problem with
3917 libpcre0 not being pulled in automatically.
3918
3919 2004-04-25 Robert Collins <rbtcollins@hotmail.com>
3920
3921 * IniDBBuilderPackage.cc (dumpAndList):
3922 Move out to packageversion for reuse.
3923 * package_meta.cc (packagemeta::logAllVersions): log dependencies.
3924 * package_version.cc (packageversion::depends):
3925 provide a const accessor.
3926 (dumpAndList): Moved from INIDBBuilder.cc.
3927 * package_version.h: declare new method and function.
3928
3929 2003-12-21 Robert Collins <rbtcollins@hotmail.com>
3930
3931 * main.cc (main): Update to head libgetopt++ syntax.
3932
3933 2003-11-2 Robert Collins <rbtcollins@hotmail.com>
3934
3935 * ControlAdjuster.h (ControlPosition::CP_MIDDLE): Rename to
3936 CP_CENTERED.
3937 * ControlAdjuster.cc: Ditto.
3938
3939 2003-10-31 Frank Richter <frichter@gmx.li>
3940
3941 * localdir.cc (OnNext): When SelectDirectoryA() fails, display a
3942 message with the error returned from the system instead of just
3943 'could not change dir'. Also, offer the user to 'Retry', 'Ignore' the
3944 error or 'Abort' the directory change.
3945
3946 2003-10-31 Frank Richter <frichter@gmx.li>
3947
3948 * propsheet.cc (PropSheetWndProc): Don't do child resizing if a the
3949 window gets minimized. Otherwise some glitches (e.g. wrong child
3950 sizes) occur.
3951 Added support for WM_GETMINMAXINFO. Prevents the property sheet from
3952 getting smaller than the original size.
3953
3954 2003-11-1 Robert Collins <rbtcollins@hotmail.com>
3955
3956 * ControlAdjuster.h (ControlDimension): Add.
3957 (ControlAdjuster): Factor adjust functionality into ControlInfo.
3958 * ControlAdjuster.cc (ControlAdjuster::adjust): Ditto.
3959 (ControlAdjuster::ControlInfo::adjust): Ditto.
3960
3961 2003-10-31 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3962
3963 * ControlAdjuster.h (ControlPosition): New enum type.
3964 (ControlInfo::horizontalPos, ControlInfo::verticalPos): New
3965 instance variables.
3966 (ControlInfo::anchorLeft, ControlInfo::anchorTop,
3967 ControlInfo::anchorRight, ControlInfo::anchorBottom): Remove.
3968 * ControlAdjuster.cc (ControlAdjuster::AdjustControls): Switch to
3969 using position specifiers instead of anchors.
3970 * choose.cc (ChooserControlsInfo): Ditto.
3971 * proppage.cc (DefaultControlsInfo): Ditto.
3972 * propsheet.cc (PropSheetControlsInfo): Ditto.
3973 * site.cc (SiteControlsInfo): Position specifiers for site
3974 selection dialog controls.
3975 * threebar.cc (ThreeBarControlsInfo): Position specifiers for
3976 progress dialog controls.
3977
3978 2003-10-27 Ralf Habacker <ralf.habacker@freenet.de>
3979
3980 * main.cc (HelpOption): New instance.
3981 (main): Added help command line option handling.
3982 * localdir.cc (LocalDirOption): New instance.
3983 (LocalDirSetting::load): allow setting localdir from command line.
3984
3985 2003-10-16 Frank Richter <frichter@gmx.li>
3986
3987 * ControlAdjuster.cc: New file, helper to move elements of a dialog
3988 along when the it's resized.
3989 * ControlAdjuster.h: Ditto.
3990 * Makefile.am: Add new source files.
3991 * proppage.cc (PropertyPage::DialogProc): Adjust some common
3992 controls (Cygwin icon top right, separator below) when a page is
3993 resized.
3994 (PropertyPage::PropertyPage): Dito.
3995 * propsheet.cc (IsDialog): New. Test whether a window is a dialog.
3996 Used internally by resize logic.
3997 (EnumPages): New. Used internally by resize logic: resizes the
3998 property sheet's individual pages.
3999 (PropSheetWndProc): New. Hook for the propery sheet window proc.
4000 (PropSheetProc): More style tweaks, add maximize box and thick border
4001 as well. Hook into the property sheet's window proc.
4002 (PropSheet::AdjustPageSize): New. Adjust the metrics of a single page
4003 to fit nicely into the property sheet. Part of resize logic.
4004 * res.rc (All dialogs): The top-right Cygwin icon and top separator
4005 now have IDs distinct from IDC_STATIC, so their metrics can be
4006 adjusted upon a resize. Also, all those Cygwin icons are at the exact
4007 same spot now.
4008 * choose.cc (ChooserPage::ChooserPage): Now the controls on the
4009 chooser page move/size when the page size is changed.
4010 * choose.h: Dito.
4011
4012 2003-10-23 Jerry D. Hedden <jerry@hedden.us>
4013
4014 * ConnectionSetting.cc (ConnectionSetting::load): Load proxysettings.
4015 (ConnectionSetting::save): Save proxy settings.
4016
4017 2003-10-07 Robert Collins <rbtcollins@hotmail.com>
4018
4019 * proppage.h (PropertyPage::wantsActivation): const correctness fix.
4020
4021 2003-08-19 Max Bowsher <maxb@ukf.net>
4022
4023 * win32.h: Define NOMINMAX only if not already defined - because
4024 libstdc++-v3 3.3.1 defines NOMINMAX itself.
4025
4026 2003-08-03 Max Bowsher <maxb@ukf.net>
4027
4028 * ChangeLog: Fix broken line-wrapping throughout. Clarify that
4029 "Ran automake" in 2003-07-26 entry was in bz2lib and zlib subdirs.
4030
4031 2003-08-03 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4032
4033 * propsheet.cc (Copyright): Update copyright dates.
4034 (PropSheet::PropSheet): Remove NumPropPages initialization.
4035 (PropSheet::CreatePages): Use PropertyPages.size() instead of
4036 NumPropPages.
4037 (PropSheet::Create): Ditto.
4038 (PropSheet::AddPage): Change to use new PropertyPages std::vector<>.
4039 * propsheet.h (Copyright): Update copyright dates.
4040 (File Scope): Include <vector>.
4041 (PropSheet::PropertyPages): Change from array to vector<>.
4042 (PropSheet::NumPropPages): Remove.
4043
4044 2003-08-02 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4045
4046 Changes modified by Max Bowsher <maxb@ukf.net>
4047 * splash.cc (Copyright): Update copyright dates.
4048 (SplashPage::OnInit): Remove call to SetDlgItemFont(). Now handled in
4049 base class.
4050 * proppage.h (PropertyPage::setTitleFont): Declare.
4051 * proppage.cc (Copyright): Update copyright dates.
4052 (PropertyPage::DialogProc WM_INITDIALOG): Move all font setting code,
4053 including that from splash.cc into new function...
4054 (PropertyPage::setTitleFont): Create, using moved code. Change font
4055 "MS Sans Serif" to "MS Shell Dlg" in line with recent res.rc change.
4056 Set font for IDC_STATIC_WELCOME_TITLE here, to allow easy re-use of
4057 style for future "Finished" page.
4058
4059 2003-08-02 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4060
4061 * propsheet.cc: Include "resource.h".
4062 (PropSheet::Create): Add the Cygwin icon in the left of the title bar.
4063
4064 2003-08-01 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4065
4066 * proppage.cc (PropertyPage::FirstDialogProcReflector): Modify comment.
4067
4068 2003-08-01 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4069
4070 * proppage.h (Copyright): Update copyright dates.
4071 (PropertyPage): Document OnNext and OnBack.
4072
4073 2003-07-31 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4074
4075 * proppage.cc (PropertyPage::Create): Use more self-documenting
4076 MAKEINTRESOURCE() instead of cast to LPCSTR.
4077
4078 2003-07-31 Robert Collins <rbtcollins@hotmail.com>
4079
4080 * README: Mark completed items complete.
4081
4082 2003-07-31 Pierre Humblet <pierre.humblet@ieee.org>
4083
4084 * main.cc (set_default_sec): Set token owner from token user.
4085 Always try to set the token primary group to Users or Admins.
4086
4087 2003-07-30 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4088
4089 * String++.h (String::replace): New instance functions.
4090 * String++.cc (String::replace): Implement.
4091 * filemanip.cc (backslash): Change to use String::replace.
4092 * desktop.cc (make_cygwin_bat): Escape '%' in path.
4093
4094 2003-07-30 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4095
4096 * String++.h (TOSTRING): New macro.
4097 * UserSettings.cc (UserSettings::deRegisterSetting): Fix
4098 erroneous __LINE__/__FILE__ usage.
4099 * download.cc (validateCachedPackage, check_for_cached): Ditto.
4100 * geturl.cc (getUrlToStream): Ditto.
4101 * install.cc (md5_one): Ditto.
4102
4103 2003-07-30 Max Bowsher <maxb@ukf.net>
4104
4105 * ini.cc (do_ini_thread): Return bool.
4106 (do_ini_thread_reflector): Put returned bool in lParam.
4107 * threebar.cc (WM_APP_SETUP_INI_DOWNLOAD_COMPLETE): Rework for new
4108 meaning of lParam. Replace erroneous use of do_fromcwd with
4109 SetActivePageByID (IDD_SOURCE).
4110
4111 2003-07-30 Robert Collins <rbtcollins@hotmail.com>
4112
4113 * ConnectionSetting.cc: New file, persist connection type selection.
4114 * ConnectionSetting.h: Ditto.
4115 * net.cc: Hold a ConnectionSetting instance to trigger the logic.
4116 (NetPage::OnInit): Don't force net_method to any value.
4117 * Makefile.am: Add new source files.
4118
4119 2003-07-30 Robert Collins <rbtcollins@hotmail.com>
4120
4121 * SourceSetting.cc: New file, persist source selection.
4122 * SourceSetting.h: Ditto.
4123 * source.cc: Hold a Source setting instance to trigger the logic.
4124 * Makefile.am: Add new source files.
4125
4126 2003-07-30 Robert Collins <rbtcollins@hotmail.com>
4127
4128 * UserSettings.h (UserSettings::settingFileForLoad): Extracted method
4129 from LocalDirSetting::load().
4130 * UserSettings.cc (UserSettings::settingFileForLoad): Ditto.
4131 * UserSettings.h (UserSettings::settingFileForSave): Extracted method
4132 from LocalDirSetting::save().
4133 * UserSettings.cc (UserSettings::settingFileForSave): Ditto.
4134 * localdir.cc (LocalDirSetting::load): Extract location logic to
4135 UserSettings.
4136 (LocalDirSetting::save): Extract location logic to UserSettings.
4137 * site.cc (SiteSetting::getSavedSites): Use
4138 UserSettings::settingFileForLoad.
4139 (SiteSetting::save): Use UserSettings::settingFileForSave.
4140
4141 2003-07-30 Robert Collins <rbtcollins@hotmail.com>
4142
4143 * PickView.cc: Adjust ::GetClientRect(..) to the inherited one
4144 throughout.
4145
4146 2003-07-29 Max Bowsher <maxb@ukf.net>
4147
4148 Based on a patch by Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>.
4149 * AntiVirus.cc (AntiVirusPage::wantsActivation): Define.
4150 * AntiVirus.h (AntiVirusPage::wantsActivation): Declare.
4151 * localdir.cc (LocalDirPage::OnBack): Remove logic subsumed by
4152 RootPage::wantsActivation.
4153 * proppage.cc (PropertyPage::DialogProc): Call wantsActivation(),
4154 and skip to next page in sequence if activation is refused.
4155 * proppage.h (PropertyPage::wantsActivation): Default implementation.
4156 * root.cc (RootPage::wantsActivation): Define.
4157 * root.h (RootPage::wantsActivation): Declare.
4158 * source.cc: Don't include "AntiVirus.h".
4159 (SourcePage::OnNext): Remove logic subsumed by
4160 RootPage::wantsActivation.
4161 (SourcePage::OnBack): Remove logic subsumed by
4162 AntiVirusPage::wantsActivation.
4163 * splash.cc: Don't include "AntiVirus.h" or "dialog.h".
4164 (SplashPage::OnNext): Remove - subsumed by
4165 AntiVirusPage::wantsActivation.
4166 * splash.h (SplashPage::OnNext): Remove declaration.
4167
4168 2003-07-29 Robert Collins <rbtcollins@hotmail.com>
4169
4170 * PickView.h (PickView::refresh): New method.
4171 * PickView.cc (PickView::refresh): Extracted from various
4172 ChooserPage callers.
4173 * choose.cc: Use PickView::refresh wherever possible.
4174
4175 2003-07-29 Robert Collins <rbtcollins@hotmail.com>
4176
4177 * choose.h (ChooserPage::createListView): Remove last parameter.
4178 (ChooserPage::getDefaultListViewSize): Extracted method.
4179 * choose.cc (ChooserPage::createListView): Remove last parameter.
4180 (ChooserPage::getDefaultListViewSize): Extracted method.
4181
4182 2003-07-29 Robert Collins <rbtcollins@hotmail.com>
4183
4184 * choose.cc (ChooserPage::createListView): Remove unneeded
4185 parameter.
4186 * choose.h: Ditto.
4187
4188 2003-07-29 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4189
4190 * dialog.h (do_fromcwd): Change function declaration.
4191 * fromcwd.cc (do_fromcwd): Change return type to bool. Eliminate
4192 use of next_dialog, return true or false instead.
4193 * localdir.cc (LocalDirPage::OnNext): Use do_fromcwd()'s return
4194 value instead of next_dialog.
4195
4196 2003-07-29 Robert Collins <rbtcollins@hotmail.com>
4197
4198 * package_db.h (packagedb::fillMissingCategory): Move from ChooserPage.
4199 * choose.h (ChooserPage::fillMissingCategory): Delete.
4200 * package_db.cc (packagedb::fillMissingCategory): Move from ChooserPage.
4201 * choose.cc (ChooserPage::fillMissingCategory): Delete and adjust
4202 callers.
4203
4204 2003-07-29 Robert Collins <rbtcollins@hotmail.com>
4205
4206 * PickView.h (CATEGORY_EXPANDED): Move from choose.h
4207 (CATEGORY_COLLAPSED): Move from choose.cc.
4208 (PickView::setViewMode): Move from ChooserPage.
4209 * choose.h (CATEGORY_EXPANDED): Delete.
4210 (CATEGORY_COLLAPSED): Delete.
4211 (ChooserPage::setViewMode): Delete.
4212 * PickView.cc (PickView::setViewMode): Move from ChooserPage.
4213 * chooser.cc (ChooserPage::setViewMode): Delete, and adjust callers
4214 throughout.
4215
4216 2003-07-28 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4217
4218 * AntiVirus.cc (AntiVirusPage::OnNext): Do not explicitly specify the
4219 page to display next, since it follows in the default page ordering
4220 anyway.
4221
4222 2003-07-28 Max Bowsher <maxb@ukf.net>
4223
4224 * dialog.h: (NEXT): Remove obsolete macro.
4225 * site.cc (save_dialog): Remove use of NEXT(), and non-functional
4226 unnecessary error handler.
4227
4228 2003-07-28 Robert Collins <rbtcollins@hotmail.com>
4229
4230 * package_meta.h (packagemeta::addToCategoryAll): Declare.
4231 * package_meta.cc (packagemeta::addToCategoryAll): New method,
4232 separated to allow clear iteration.
4233 * choose.cc (ChooserPage::fillMissingCategory): BUGFIX: "all" is
4234 meant to be added unconditionally.
4235
4236 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
4237
4238 * Generic.h: New file, home for generic programming tools.
4239 (visit_if): Move here from package_meta.cc.
4240 Adjust to be fully parameterised.
4241 * package_meta.h (packagemeta::hasNoCategories): Query for generic
4242 programming.
4243 (packagemeta::setDefaultCategories): set categories for packages
4244 with none.
4245 * package_meta.cc: Move visit_if out. Adjust users for
4246 full paramterised operation.
4247 (packagemeta::hasNoCategories): Implement.
4248 (packagemeta::setDefaultCategories): Implement.
4249 * choose.cc (ChooserPage::fillMissingCategory): Use visit_if to
4250 reduce duplicate code.
4251 (ChooserPage::setExistence): Delete.
4252 * choose.h (ChooserPage::setExistence): Rename to
4253 packagedb::setExistence.
4254 * package_db.h (packagedb::setExistence): Declare.
4255 * package_db.cc (packagedb::setExistence): Copy from choose.cc
4256
4257 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
4258
4259 * localdir.h (LocalDirPage::OnInit): Remove.
4260 * localdir.cc (LocalDirPage::OnInit): Move to LocalDirSetting
4261 ::load().
4262 (LocalDirSetting::load): Copied from LocalDirPage::OnInit.
4263 * site.h (SitePage::OnInit): Remove.
4264 (SitePage::getSavedSites): New member, replaces get_saved_sites.
4265 (SitePage::registerSavedSite): New member, replaces
4266 register_saved_site.
4267 * site.cc (SitePage::OnInit): Move to SiteSetting::load().
4268 (SiteSetting::load): Copied from SitePage::OnInit.
4269 (SitePage::getSavedSites): Renamed from get_saved_sites.
4270 (SitePage::registerSavedSite): Renamed from register_saved_site.
4271 (do_download_site_info_thread): Don't look at the list size for
4272 determining if the download was successful.
4273
4274 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
4275
4276 * choose.h (ChooserPage::setViewMode): Remove HWND from
4277 signature.
4278 (ChooserPage::defaultTrust): Ditto.
4279 Move to PickView.
4280 (ChooserPage::ifChecked): Use Window helper function
4281 IsButtonChecked.
4282 * choose.cc (ChooserPage::setViewMode): Use chooser->GetHWND()
4283 throughout.
4284 Update all callers with new signature.
4285 (ChooserPage::defaultTrust): Ditto.
4286 Move to PickView.
4287 * PickView.h (PickView::defaultTrust): Declare.
4288 * PickView.cc (PickView::defaultTrust): Copy from chooser.cc.
4289
4290 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
4291
4292 * PickView.h (PickView::lv): Eliminate.
4293 * PickView.cc (PickView::init): Replace use of lv with
4294 GetHWND().
4295 (PickView::list_click): Ditto.
4296 * choose.h (ChooserPage::lv): Eliminate.
4297 * choose.cc: Replace lv with chooser->GetHWND()
4298 throughout.
4299
4300 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
4301
4302 * PickView.h (PickView::chooser): Eliminate.
4303 (PickView::list_vscroll): Make non-static.
4304 (PickView::list_hscroll): Ditto.
4305 (PickView::list_click): Ditto.
4306 (PickView::paint): Ditto.
4307 * PickView.cc (PickView::list_vscroll): Eliminate use
4308 of PickView::chooser.
4309 (PickView::list_hscroll): Ditto.
4310 (PickView::list_click): Ditto.
4311 (PickView::paint): Ditto.
4312 * choose.cc (Chooser::createListView): Eliminate use
4313 of PickView::chooser.
4314
4315 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
4316
4317 * PickView.h (PickView): Inherit from Window.
4318 (PickView::RegisterWindows): Move from ChooserPage.
4319 (PickView::listview_proc): Likewise.
4320 (PickView::paint): Ditto.
4321 (PickView::list_click): Ditto.
4322 (PickView::list_hscroll): Ditto.
4323 (PickView::list_vscroll): Ditto.
4324 (PickView::lv): Ditto.
4325 (PickView::chooser): Ditto.
4326 (PickView::Create): Override Windows::Create as we migrate.
4327 (PickView::registerWindowClass): Renamed RegisterWindows.
4328 (PickView::WindowClassAtom): Prevent double registration.
4329 (PickView::init): Declare.
4330 * PickView.cc: Adjust for new inheritance.
4331 (PickView::RegisterWindows): Move from ChooserPage.
4332 (PickView::listview_proc): Likewise.
4333 (PickView::paint): Ditto.
4334 (PickView::list_click): Ditto.
4335 (PickView::list_hscroll): Ditto.
4336 (PickView::list_vscroll): Ditto.
4337 (PickView::lv): Ditto.
4338 (PickView::chooser): Ditto.
4339 (PickView::Create): Introduce stub.
4340 (PickView::RegisterWindows): Rename
4341 (PickView::init): Extracted from constructor to allow
4342 reordering.
4343 * chooser.h (ChooserPage::registerWindows): Rename to
4344 PickView::RegisterWindows.
4345 (ChooserPage::listview_proc): Likewise.
4346 (ChooserPage::paint): Ditto.
4347 (ChooserPage::list_click): Ditto.
4348 (ChooserPage::list_hscroll): Ditto.
4349 (ChooserPage::list_vscroll): Ditto.
4350 (ChooserPage::lv): Duplicate into PickView, observe
4351 as non-static.
4352 (ChooserPage::chooser): Ditto.
4353 * chooser.cc (ChooserPage::registerWindows): Delete.
4354 (ChooserPage::listview_proc): Ditto.
4355 (ChooserPage::paint): Ditto.
4356 (ChooserPage::list_click): Ditto.
4357 (ChooserPage::list_hscroll): Ditto.
4358 (ChooserPage::list_vscroll): Ditto.
4359 (ChooserPage::createListView): Create() on PickView.
4360 * window.h (Window::RegisterWindowClass): Make virtual
4361 to allow Create to become a Template Method, and rename
4362 to registerWindowClass as it's not static.
4363 * window.cc (Window::registerWindowClass): Ditto.
4364 (Window::FirstWindowProcReflector): BUGFIX: Set window
4365 handle to prevent races with the window procedure.
4366
4367 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
4368
4369 * choose.cc (set_view_mode): Rename to ChooserPage::setViewMode.
4370 (default_trust): Rename to ChooserPage::defaultTrust.
4371 (fill_missing_category): Rename to ChooserPage::fillMissingCategory.
4372 (set_existence): Rename to ChooserPage::setExistence.
4373 (register_windows): Rename to ChooserPage::registerWindows.
4374 (listview_proc): Rename to ChooserPage::listview_proc.
4375 (paint): Rename to ChooserPage::paint.
4376 (list_click): Rename to ChooserPage::list_click.
4377 (list_hscroll): Rename to ChooserPage::list_hscroll.
4378 (list_vscroll): Rename to ChooserPage::list_vscroll.
4379 (lv): Rename to ChooserPage::lv.
4380 (chooser): Rename to ChooserPage::chooser.
4381 * choose.h (ChooserPage::setViewMode): Declare.
4382 (ChooserPage::defaultTrust): Declare.
4383 (ChooserPage::fillMissingCategory): Declare.
4384 (ChooserPage::setExistence): Declare.
4385 (ChooserPage::registerWindows): Declare.
4386 (ChooserPage::listview_proc): Declare.
4387 (ChooserPage::paint): Declare.
4388 (ChooserPage::list_click): Declare.
4389 (ChooserPage::list_hscroll): Declare.
4390 (ChooserPage::list_vscroll): Declare.
4391 (ChooserPage::lv): Declare.
4392 (ChooserPage::chooser): Declare.
4393
4394 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
4395
4396 * choose.cc (create_listview): Use for_each instead of explicit
4397 iteration.
4398 (create_listview): Rename to ChooserPage::createListview.
4399 * package_meta.h (packagemeta::set_requirements): Explicitly separate
4400 the 1 and 2 parameter versions.
4401
4402 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
4403
4404 * String++.h (String::operator !=): Declare for char * and String.
4405 * String++.cc (String::operator !=): Implement.
4406 * package_meta.cc(StringConcatenator): Move above all users.
4407 (_visit_if): Predicate support for visitors.
4408 (packagemeta::getReadableCategoryList): Refactor to use
4409 StringConcatenator with a predicate.
4410 * choose.h: Remove unneeded c++ guards.
4411
4412 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
4413
4414 * choose.cc (scan_downloaded_files): Rename to
4415 packagemeta::ScanDownloadedFiles.
4416 (scanAVersion): Rename to packageversion::scan.
4417 (GetParentRect): Rename to ChooserPage::getParentRect.
4418 * choose.h (ChooserPage::getParentRect): Declare.
4419 * package_meta.h (packagemeta::ScanDownloadedFiles): Declare.
4420 * package_version.h (packageversion::scan): Declare.
4421 * package_version.cc (packageversion::scan): Move from choose.cc
4422 * package_meta.cc (packagemeta::ScanDownloadedFiles): Move from
4423 choose.cc
4424
4425 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
4426
4427 * choose.cc (ChooserPage::OnNext): log before starting activity threads.
4428 (ChooserPage::OnInit): Remove temporary variable frame.
4429 (ChooserPage::setPrompt): Extract method from OnInit.
4430 (choose_inst_text): Remove unused variable.
4431 * choose.h(ChooserPage::setPrompt): Declare
4432 * res.rc (IDD_CHOOSE): Bugfix: the chooser was setting a non-present
4433 caption.
4434
4435 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
4436
4437 Remove package specific code from choose.cc.
4438 Update copyrights where appropriate.
4439 * choose.cc(ChooserPage::OnNext): Extract logging to
4440 packagemeta::logSelectionStatus.
4441 * package_meta.cc(packagemeta::logSelectionStatus): Extract from
4442 ChooserPage::OnNext.
4443 (StringConcatenator): helper for logSelectionStatus.
4444 (action_caption): Make const.
4445 * package_meta.h(packagemeta): Declare logSelectionStatus.
4446 (packagemeta::action_caption): Make const.
4447 * package_version.cc(packageversion::sourcePackage): Make const.
4448 * package_version.h(packageversion::sourcePackage): Make const.
4449
4450 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
4451
4452 * choose.cc: Update copyright.
4453 (ChooserPage::keepClicked): Extracted from OnMessageCmd.
4454 (ChooserPage::changeTrust): Ditto.
4455 * choose.h (ChooserPage): Declare keepClicked and changeTrust.
4456 (ChooserPage::ifChecked): Extracted from OnMessageCmd.
4457 * package_meta.h (SetRequirement): Adapter for visiting package
4458 collections.
4459
4460 2003-07-26 Max Bowsher <maxb@ukf.net>
4461
4462 * tests/.cvsignore: New file, listing Makefile.in.
4463
4464 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
4465
4466 Save used local cache dir from initial run of setup, so the user doesn't
4467 need to retype it.
4468 * localdir.h (LocalDirSetting): UserSetting class for the local cache
4469 dir.
4470 * localdir.cc (LocalDirSetting::save): Replace save_local_dir, and
4471 update callers.
4472
4473 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
4474
4475 Save used site from initial run of setup, so the user doesn't need to
4476 retype it.
4477 * main.cc (main): Load and save all user settings.
4478 * site.cc (SiteSetting::save): Migrate logic from save_site_url.
4479 (SitePage::OnNext): Use ChosenSites.save() to remove uneeded
4480 save_site_url call.
4481 (save_site_url): Delete.
4482 * site.h (save_site_url): Remove declaration.
4483 * .cvsignore: Update autoconf generated files.
4484
4485 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
4486
4487 * tests/Makefile.am: Driver for test suite.
4488 * tests/UserSettingTest.cc: Test UserSetting interface.
4489 * tests/UserSettingsTest.cc: Test UserSettings interface.
4490 * Makefile.am: Add the tests dir to recurse into.
4491 * configure.in: Ditto.
4492 * UserSetting.h: Add load and save methods to allow global
4493 serialisation.
4494 Add explicit copy and assignment operators to prevent synthetics.
4495 Make the constructor protected to prevent direct instantiation.
4496 * UserSettings.h (UserSettings::loadAllSettings): New method.
4497 (UserSettings::savedAllSettings): New method.
4498 * UserSettings.cc: Implement new methods.
4499 * site.cc: Implement stubs for new required UserSetting methods.
4500 * site.h (ChosenSite): Ditto.
4501 * bz2lib/: Ran automake.
4502 * zlib/: Ran automake.
4503
4504 2003-07-23 Max Bowsher <maxb@ukf.net>
4505
4506 * desktop.cc (DesktopSetupPage::OnBack): Remove obsolete use of NEXT().
4507 * root.cc (RootPage::OnNext): Ditto.
4508 (RootPage::OnBack): Ditto.
4509 * install.cc (do_install_thread): Remove obsolete use of next_dialog.
4510 * main.cc (main): Ditto.
4511 * postinstall.cc (do_postinstall_thread): Ditto.
4512
4513 2003-07-23 Max Bowsher <maxb@ukf.net>
4514
4515 * dialog.h (do_choose, do_desktop, do_local_dir, do_net, do_other)
4516 (do_root, do_site, do_source, do_splash): Remove declarations, since
4517 these functions no longer exist.
4518
4519 2003-07-23 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4520
4521 * choose.cc (initialized): Remove obsolete file scope variable.
4522
4523 2003-07-18 Max Bowsher <maxb@ukf.net>
4524
4525 * res.rc: Make caption of every dialog page begin with "Cygwin Setup".
4526 This aids recognition when minimized.
4527 Prompted by Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>.
4528
4529 2003-07-10 Jeremy White <jwhite@codeweavers.com>
4530
4531 * mount.cc, root.cc, site.cc: Make StringOptions required,
4532 thereby making --longopt <parm> behave as a newbie would expect.
4533
4534 2003-07-08 Max Bowsher <maxb@ukf.net>
4535
4536 * LogFile.h, cistring.h, dialog.h, diskfull.h, filemanip.h, geturl.h,
4537 hash.h, log.h, mkdir.h, mklink2.h, mount.h, msg.h, netio.h, nio-file.h,
4538 nio-ftp.h, nio-http.h, nio-ie5.h, port.h, simpsock.h, state.h,
4539 version.h: Add inclusion guard.
4540 * root.h: Standardize naming of inclusion guard.
4541
4542 2003-06-23 Max Bowsher <maxb@ukf.net>
4543
4544 * AntiVirus.h, Exception.h, FilterVisitor.h, FindVisitor.h,
4545 IOStreamProvider.h, IniDBBuilder.h, IniDBBuilderPackage.h,
4546 IniParseFeedback.h, IniParseFindVisitor.h, LogSingleton.h, MD5++.h,
4547 PackageSpecification.h, PackageTrust.h, PickCategoryLine.h, PickLine.h,
4548 PickPackageLine.h, PickView.h, RECTWrapper.h, ScanFindVisitor.h,
4549 String++.h, UserSetting.h, UserSettings.h, archive.h, archive_tar.h,
4550 category.h, choose.h, compress.h, compress_bz.h, compress_gz.h,
4551 cygpackage.h, desktop.h, download.h, find.h, ini.h, io_stream.h,
4552 io_stream_cygfile.h, io_stream_file.h, io_stream_memory.h,
4553 io_stream_rsync.h, localdir.h, net.h, package_db.h, package_meta.h,
4554 package_source.h, package_version.h, proppage.h, propsheet.h, script.h,
4555 site.h, source.h, splash.h, threebar.h, win32.h, window.h:
4556 Standardize naming and placement of inclusion guards.
4557
4558 2003-06-22 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
4559
4560 * res.rc (all dialogs): Change font from "MS Sans Serif" to
4561 "MS Shell Dlg".
4562
4563 2003-06-22 Max Bowsher <maxb@ukf.net>
4564
4565 * Makefile.am: Clarify comment.
4566 Derive AM_CFLAGS from AM_CXXFLAGS, rather than the other way around.
4567 (AM_CXXFLAGS): Remove -Wmissing-declarations - it is a C-only warning.
4568 (AM_CFLAGS): Add -Winline, and -Wmissing-declarations.
4569
4570 2003-06-22 Max Bowsher <maxb@ukf.net>
4571
4572 * rfc1738.cc (rfc1738_do_escape): Eliminate redundant conditional.
4573
4574 2003-06-05 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4575
4576 * window.h (SETUP_WINDOW_H): Rename multi-include guard.
4577 (Copyright): Update.
4578 (RECTWrapper): New forward declaration.
4579 (Window::Create): Move.
4580 (Window::MoveWindow): New overload declaration.
4581 * window.cc: (RECTWrapper.h) Include.
4582 (Copyright): Update.
4583 (Window::FirstWindowProcReflector): Use reinterpret_cast<> instead
4584 of C-style casts.
4585 (Window::MoveWindow): New overload.
4586
4587 2003-05-31 Max Bowsher <maxb@ukf.net>
4588
4589 * res.rc: Resize title controls to fully fill available width.
4590
4591 2003-05-07 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4592
4593 * RECTWrapper.h: New file.
4594
4595 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
4596
4597 * script.cc (Script::extension): Extract method from Script::run.
4598 (Script::run): Extract extension generation to Script::extension.
4599 * script.h (Script::extension): Declare.
4600
4601 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
4602
4603 * script.cc (run_script): Remove.
4604 (try_run_script): Inline method run_script.
4605 * script.h (run_script): Remove.
4606
4607 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
4608
4609 * postinstall.cc (RunScript::operator()): Use new run syntax.
4610 * script.h (Script::run): Eliminate to_log parameter.
4611 * script.cc (Script::run): Ditto.
4612 (run_script): Use new run syntax.
4613
4614 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
4615
4616 * script.cc (Script::run): Eliminate temp variable 'f2'.
4617 Rename temp variable 'f2' to 'windowsName' for increased clarity.
4618
4619 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
4620
4621 * script.cc (Script::run): Eliminate temp variable 'fname'.
4622
4623 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
4624
4625 * script.cc (Script::run): Eliminate temp variable 'dir'.
4626
4627 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
4628
4629 * script.cc (run_script): Always pass TRUE to Script::run.
4630 * script.h (run_script): Remove optional to_log parameter.
4631
4632 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
4633
4634 * script.cc (run_script): Move functionality into Script.
4635 (Script::run): Absorb run_script.
4636
4637 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
4638
4639 * PickCategoryLine.cc (PickCategoryLine::click): Tell packagemeta we
4640 are about to perform a visit.
4641 * PickPackageLine.cc (PickPackageLine::click): Tell packagemeta we
4642 are about to perform a visit.
4643 * package_db.cc (packagedb::markUnVisited): Convenience wrapper -
4644 mark all packages as unvisited.
4645 * package_db.h (packagedb::markUnVisited): Declare.
4646 * package_meta.cc (packagemeta::PrepareForVisit): New static method
4647 to prepare for a loop-free visit.
4648 (packagemeta::packagemeta): Adjust for new member.
4649 (packagemeta::set_requirements): Only visit a node once.
4650 (packagemeta::visited): Get and Set methods for new member visited_.
4651 * package_meta.h (packagemeta::PrepareForVisit): Declare.
4652 (packagemeta::visited): Declare.
4653 (packagemeta::visited_): Declare.
4654
4655 2003-04-07 Max Bowsher <maxb@ukf.net>
4656
4657 * download.cc: Add command line option to suppress MD5 checks.
4658 (validateCachedPackage): Test option and possibly skip.
4659
4660 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
4661
4662 Merge in setup-200303-troubleshooting fixes.
4663
4664 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
4665
4666 * main.cc (NTSecurity::setDefaultDACL): Reinstate commented code.
4667 (NTSecurity::setDefaultSecurity): Ditto.
4668
4669 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
4670
4671 * main.cc (NTSecurity::setDefaultDACL): Use MS calculations for ACL
4672 buffer sizing.
4673
4674 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
4675
4676 * main.cc (NTSecurity::setDefaultDACL): Sanity check memory allocation.
4677
4678 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
4679
4680 * main.cc (NTSecurity::setDefaultDACL): Adjust commented code for
4681 auto_ptr use.
4682
4683 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
4684
4685 * main.cc (NTSecurity::NoteFailedAPI): Helper function.
4686 Use throughout NTSecurity routines.
4687 (NTSecurity::setDefaultDACL): Use dynamic memory for ACL storage.
4688
4689 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
4690
4691 * main.cc (NTSecurity::setDefaultDACL): Disable ~ 50% of remaining
4692 active code.
4693
4694 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
4695
4696 * main.cc (NTSecurity::GroupInfo): Extract group query code.
4697 (NTSecurity::setDefaultDACL): Disable ~ 50% of code.
4698
4699 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
4700
4701 * main.cc (NTSecurity::setDefaultSecurity): Disable ~ 50% of security
4702 code.
4703
4704 2003-04-01 Robert Collins <rbtcollins@hotmail.com>
4705
4706 * main.cc (NTSecurity::setDefaultSecurity): Remove double declaration of
4707 sz. User TokenGroupCollection to abstract token searching logic,
4708 eliminate isadmin and isuser temporary variables.
4709 (TokenGroupCollection): New class for querying token group information.
4710
4711 2003-04-01 Robert Collins <rbtcollins@hotmail.com>
4712
4713 * main.cc (NTSecurity::setDefaultSecurity): Extract esid initialisation.
4714 Move local variables to just before first use.
4715 SetTokenInformationFailures where being handled inconsistently.
4716 Remove assignments from if statements.
4717 (NTSecurity::esid): Rename to everyOneSID.
4718 (NTSecurity::initialiseEveryOneSID): new method.
4719 (NTSecurity::setDefaultDACL): Extract method for default DACL logic.
4720
4721 2003-04-01 Robert Collins <rbtcollins@hotmail.com>
4722
4723 * main.cc (SIDWrapper): Manage SID memory.
4724 (HANDLEWrapper): Likewise for HANDLES.
4725 (NTSecurity): Worker class for set_default_sec().
4726 (set_default_sec): Move body into NTSecurity::setDefaultSecurity().
4727 (NTSecurity::setDefaultSecurity): Eliminate goto out: via memory
4728 managing objects.
4729
4730 2003-04-01 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4731
4732 * cygwin.ico: Added two new resolutions, 64x64 and 72x72.
4733
4734 2003-03-29 Robert Collins <rbtcollins@hotmail.com>
4735
4736 * GUIDELINES: New file documenting code guidelines.
4737
4738 2003-03-26 Max Bowsher <maxb@ukf.net>
4739
4740 * .cvsignore: Add cfgaux.
4741
4742 2003-03-26 Robert Collins <rbtcollins@hotmail.com>
4743
4744 * package_version.cc (_defaultversion::accessible): Override and make
4745 always false.
4746 (_packageversion::accessible): Fix a couple of logic bugs resulting in
4747 incorrect trues.
4748 * package_version.h (_packageversion::accessible): Make virtual.
4749
4750 2003-03-25 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4751
4752 * threebar.h (WM_APP_START_POSTINSTALL): New message.
4753 (WM_APP_POSTINSTALL_THREAD_COMPLETE): New message.
4754 * threebar.cc (ThreeBarProgressPage::OnMessageApp):
4755 Add handling for WM_APP_START_POSTINSTALL and
4756 WM_APP_POSTINSTALL_THREAD_COMPLETE.
4757 * install.cc (do_install_thread): Set next_dialog to
4758 IDD_S_POSTINSTALL.
4759 * desktop.cc (DesktopSetupPage::OnFinish): Move the
4760 do_postinstall call to ThreeBarProgressPage::OnMessageApp.
4761 * script.h (Script::fullName): New member function.
4762 (Script::run): New member function.
4763 (Script::ETCPostinstall): New static member constant.
4764 * script.cc (Script::fullName): Implement.
4765 (Script::run): Implement.
4766 (Script::ETCPostinstall): Define.
4767 (Script::isAScript): Use ETCPostinstall instead of a
4768 hardcoded string constant.
4769 (run): Enable "#if 0"'d code.
4770 * postinstall.cc (Progress): New extern variable.
4771 (RunFindVisitor::visitFile): Add script to vector
4772 instead of running.
4773 (RunFindVisitor::_scripts): New member variable.
4774 (RunScript): New helper class for use in for_each.
4775 (do_postinstall_thread): Rename do_postinstall to. Add
4776 Progress bar and text setting. Add package count.
4777 (do_postinstall_reflector): New static function.
4778 (do_postinstall): Rename to do_postinstall_thread.
4779 Create a thread instead.
4780
4781 2003-03-18 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4782
4783 * script.cc (run): Add file_out parameter.
4784 Redirect output of subprocess to file, creating the
4785 path if necessary. Minimize the script window.
4786 (run_script): Add optional to_log boolean parameter.
4787 If to_log, redirect output to temporary file and then
4788 import it into LOG_BABBLE.
4789 (OutputLog): New helper class.
4790 (operator<<): New operation on OutputLog.
4791 * script.h (run_script): Add optional to_log parameter.
4792 * postinstall.cc (RunFindVisitor::visitFile): Instruct
4793 run_script() to log script output.
4794 (do_postinstall): Ditto.
4795
4796 2003-03-20 Robert Collins <rbtcollins@hotmail.com>
4797
4798 * package_meta.cc (packagemeta::set_action): The logic
4799 test for the default action was reversed.
4800
4801 2003-03-18 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4802
4803 * postinstall.cc (do_postinstall): Filter out '*.done'.
4804 * FilterVisitor.h: New header file. Declare the
4805 FilterVisitor, Filter, and ExcludeNameFilter classes.
4806 * FilterVisitor.cc: New file. Implement FilterVisitor,
4807 Filter, and ExcludeNameFilter.
4808 * String++.h (String::matches): New instance function.
4809 * String++.cc (String::matches): Implement.
4810 (strmatch) Import and adapt for <buf,len> strings.
4811 * Makefile.am (setup_SOURCES): Add FilterVisitor.cc and
4812 FilterVisitor.h to value.
4813
4814 2002-03-18 Max Bowsher <maxb@ukf.net>
4815
4816 * LogFile.cc (LogFile::exit): Use CRT exit() instead of ExitProcess().
4817 Use passed exit_code even if been_here.
4818 Remove incorrect _CYGWIN_ preprocessor conditional.
4819
4820 2003-03-16 Robert Collins <rbtcollins@hotmail.com>
4821
4822 * package_db.h (PackageDBConnectedIterator): Typedef
4823 for connected loop detection collection iterator.
4824 * package_db.cc (ConnectedLoopDetector): An
4825 implementation of R.E. Tarjans strongly connected
4826 set visitor algorithm.
4827 * postinstall.cc (do_postinstall): Use the new iterator
4828 for visiting postinstall scripts.
4829
4830 2003-03-16 Robert Collins <rbtcollins@hotmail.com>
4831
4832 * install.cc: Introduce Installer class.
4833 (init_dialog): Rename to Installer::initDialog.
4834 (progress): Rename to Installer::progress.
4835 (standard_dirs): Rename to Installer::StandardDirs.
4836 (uninstall_one): Rename to Installer::uninstallOne.
4837 (replace_one): Rename to Installer::replaceOne.
4838 (log_ror_failure): Rename to
4839 Installer::replaceOnRebootFailed.
4840 (log_ror_success): Rename to
4841 Installer::replaceOnRebootSucceeded.
4842 (install_one_source): Rename to Installer::installOneSource.
4843 Note script files as they are installed.
4844 * package_version.cc (packageversion::addScript): Implement.
4845 (packageversion::scripts): Implement.
4846 * package_version.h (packageversion::addScript): Record the
4847 presence of a script.
4848 * script.h (Script): New class to track scripts.
4849 * postinstall.cc (do_postinstall): Iterate through the
4850 package listed scripts before searching for scripts.
4851 * String++.cc (String::substr): Second argument needed to
4852 be signed.
4853 * String++.h (String::substr): Second argument needed to
4854 be signed.
4855
4856 2003-03-16 Max Bowsher <maxb@ukf.net>
4857
4858 * .cvsignore: Create, to ignore configure, aclocal.m4, Makefile.in and
4859 autom4te.cache.
4860
4861 2003-03-16 Max Bowsher <maxb@ukf.net>
4862
4863 * UserSettings.cc (UserSettings::Instance): Remove premature return.
4864
4865 2003-03-15 Robert Collins <rbtcollins@hotmail.com>
4866
4867 * script.cc (run): Rename variable b to createSucceeded.
4868
4869 2003-03-15 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4870
4871 * script.cc (run): Close unneeded handles.
4872
4873 2003-03-15 Robert Collins <rbtcollins@hotmail.com>
4874
4875 * configure: Remove.
4876 * aclocal.m4: Remove.
4877 * Makefile.in: Remove.
4878 * cfgaux: Remove.
4879 * cfgaux/compile: Remove.
4880 * cfgaux/config.guess: Remove.
4881 * cfgaux/config.sub: Remove.
4882 * cfgaux/depcomp: Remove.
4883 * cfgaux/install-sh: Remove.
4884 * cfgaux/ltmain.sh: Remove.
4885 * cfgaux/missing: Remove.
4886 * cfgaux/mkinstalldirs: Remove.
4887
4888 2003-03-14 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4889
4890 * install.cc (replace_one): Clear Text3.
4891
4892 2003-03-14 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4893
4894 * install.cc (install_one_source): Add logging for successful
4895 replace-on-reboot scheduling. Factor out duplicate code.
4896 Set rebootneeded on Win9x.
4897 (log_ror_failure): New static function.
4898 (log_ror_success): New static function.
4899
4900 2003-03-14 Robert Collins <rbtcollins@hotmail.com>
4901
4902 * choose.cc (ChooserPage::OnNext): Fix iterator bug. Reported by
4903 Igor Pechtchanski <pechtcha@cs.nyu.edu>.
4904
4905 2003-03-13 Max Bowsher <maxb@ukf.net>
4906
4907 * Update included zlib to 1.1.4.
4908
4909 2003-03-13 Robert Collins <rbtcollins@hotmail.com>
4910
4911 * install.cc (do_install_thread): Use a query method rather than temp
4912 variable do_skip.
4913
4914 2003-03-09 Pavel Tsekov <ptsekov@gmx.net>
4915
4916 * install.cc (do_install_thread): Use IDS_SKIP_PACKAGE
4917 instead of IDS_CORRUPT_PACKAGE when asking the user to take
4918 action if the hash verification check fails for a source package.
4919 Do not increase the value of 'total_bytes' variable if the
4920 user chooses to skip over a package, which failed the hash
4921 verification.
4922
4923 2003-03-10 Max Bowsher <maxb@ukf.net>
4924
4925 * Makefile.am: Add foreign to AUTOMAKE_OPTIONS.
4926
4927 2003-03-10 Robert Collins <rbtcollins@hotmail.com>
4928
4929 * UserSettings.cc (UserSettings::init): Really initialize all members.
4930
4931 2003-03-10 Robert Collins <rbtcollins@hotmail.com>
4932
4933 * Exception.h: Add a logic error exception id.
4934 * Makefile.am: Add new sources.
4935 * UserSettings.cc: New file.
4936 * UserSettings.h: New file.
4937 * UserSetting.cc: New file.
4938 * UserSetting.h: New file.
4939 * site.h: Add a SiteSetting as example of a UserSetting.
4940 * site.cc (ChosenSites): Add a instance of SiteSetting to trigger
4941 registration.
4942
4943 2003-03-10 Robert Collins <rbtcollins@hotmail.com>
4944
4945 * compress_bz.cc (compress_bz::read): Adjust incorrect assignment of
4946 lasterr.
4947 (compress_bz::error): Return lasterr which will indicate any error.
4948
4949 2003-03-10 Robert Collins <rbtcollins@hotmail.com>
4950
4951 * choose.h (ChooserPage): Override OnActivate.
4952 * choose.cc (ChooserPage::OnActivate): Refresh the current view when
4953 activating the dialog.
4954
4955 2003-03-09 Robert Collins <rbtcollins@hotmail.com>
4956
4957 * package_version.cc (_defaultversion::pick(bool)): Override this and
4958 do nothing.
4959 (packageversion::pick(bool): Use a mutator function rather than direct
4960 member access.
4961 * package_version.h (_packageversion::pick(bool)): Move method from
4962 _packageversion.
4963
4964 2003-02-16 Pavel Tsekov <ptsekov@gmx.net>
4965
4966 * install.cc (install_one_source): Remove the MD5 verification
4967 code.
4968 Delay the creation of the package listing file.
4969 (do_install_thread): Check the hashes for packages which need
4970 to be installed before the uninstall step. Allow the user to
4971 skip over packages, which fail the hash verification.
4972 (md5_one): Define new function.
4973 * res.rc (IDS_SKIP_PACKAGE): New string resource.
4974 * resource.h (IDS_SKIP_PACKAGE): New macro definition.
4975
4976 2003-02-16 Pavel Tsekov <ptsekov@gmx.net>
4977
4978 * Exception.h: Declare new constructor.
4979 (Exception::_message): Change the type from 'const char *' to
4980 'class String'.
4981 (Exception::~Exception): Implement destructor (make gcc shut up).
4982 * Exception.cc: Implement new constructor.
4983 (Exception::what): Use String::cstr_oneuse ().
4984 * download.cc (validateCachedPackage): Use the constructor, which
4985 takes String& as its second argument, when throwing objects
4986 of type Exception.
4987 (check_for_cached): Ditto.
4988 * install.cc (install_one_source): Ditto.
4989
4990 2003-02-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4991
4992 * res.rc (IDS_INSTALL_INCOMPLETE): Change hard-coded
4993 log filename to %s.
4994 (IDS_MISSING_LOG): New string resource.
4995 * resource.h (IDS_MISSING_LOG): New resource.
4996 * LogFile.cc (LogFile::exit): Pass log filename for
4997 LOG_BABBLE to note().
4998 (LogFile::getFileName): New function.
4999 * LogFile.h (LogFile::getFileName): New function.
5000
5001 2003-02-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
5002
5003 * String++.cc: Don't include concat.h.
5004 * Makefile.am: Remove concat.cc and concat.h references.
5005 * concat.h: Remove.
5006 * concat.cc: Remove.
5007
5008 2003-03-09 Max Bowsher <maxb@ukf.net>
5009
5010 * bootstrap.sh: Add sanity check of current directory.
5011 Recurse into libgetopt++ if needed.
5012
5013 2003-03-09 Robert Collins <rbtcollins@hotmail.com>
5014
5015 * Update readme of bugs and wishes.
5016
5017 2003-03-05 Max Bowsher <maxb@ukf.net>
5018
5019 * netio.cc (save_dialog): Allocate an empty string if the password is
5020 null, so that an empty password is accepted elsewhere in setup.
5021 (check_if_enable_ok): An empty password is OK.
5022
5023 2003-03-05 Brian Keener <bkeener@thesoftwaresource.com>
5024
5025 * PickView.cc (PickView::views): Add two new views for Skipped
5026 packages and Installed Packages not requiring update.
5027 (PickView::set_headers () ): Ditto.
5028 (PickView::clear_view (void) ): Ditto.
5029 (PickView::views::caption () ): Add two new captions for the new
5030 views added for Skipped and Installed Packages.
5031 (PickView::scroll () ): Modify Scroll Bar property to Disable
5032 instead of disappearing when there is nothing to Scroll.
5033 * PickView.h: Add two new views for Skipped packages and Installed
5034 packages to public class view.
5035 * choose.cc (list_click () ): Modify Scroll Bar property to Disable
5036 instead of disappearing when there is nothing to Scroll.
5037 (listview_proc () ): Ditto.
5038 (set_view_mode): Add two new views for Skipped Packages and Installed
5039 Packages not requiring update. Modify Scroll Bar property to Disable
5040 instead of disappearing when there is nothing to scroll.
5041 * res.rc (IDD_CHOOSE): Reposition Radio Buttons, View Selection
5042 Button and View Button Caption to make room for longer captions.
5043
5044 2003-03-04 Max Bowsher <maxb@ukf.net>
5045
5046 * compress_gz.cc (compress_gz::construct):
5047 Fix broken checkin dated 2002-07-03.
5048
5049 2003-02-28 Max Bowsher <maxb@ukf.net>
5050
5051 * main.cc (set_default_sec): Add logging.
5052
5053 2003-02-28 Pierre Humblet <pierre.humblet@ieee.org>
5054
5055 * main.cc (set_default_dacl): Replace with set_default_sec.
5056 (set_default_sec): Attempt to change the default group to
5057 Users or Administrators if it is None, in addition to setting
5058 Everyone in the default DACL.
5059 (main): Call set_default_sec instead of set_default_dacl.
5060
5061 2003-01-31 Max Bowsher <maxb@ukf.net>
5062
5063 * install.cc (install_one_source): Fix spacing in log message.
5064
5065 2003-01-19 Max Bowsher <maxb@ukf.net>
5066
5067 * resource.h (IDC_CHOOSE_KEEP): Define.
5068 * res.rc (IDD_CHOOSE): Add radio button IDC_CHOOSE_KEEP.
5069 * choose.cc (create_listview): Add IDC_CHOOSE_KEEP to ta[].
5070 (ChooserPage::OnMessageCmd): Handle new IDC_CHOOSE_KEEP button.
5071
5072 2003-01-15 Max Bowsher <maxb@ukf.net>
5073
5074 * mkdir.cc [_CYGWIN_]: Implement what was pseudocode.
5075 * io_stream.h [__CYGWIN__]: Don't typedef ssize_t.
5076 * proppage.h: Include "win32.h" instead of <windows.h>.
5077
5078 2003-01-15 Max Bowsher <maxb@ukf.net>
5079
5080 * mount.cc [MAINTAINER_FEATURES]: Add --override-registry-name option.
5081
5082 2002-12-11 Abraham Backus <abraham@backus.com>
5083
5084 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Leave port out of Host header,
5085 unless non-default.
5086
5087 2002-12-11 Max Bowsher <maxb@ukf.net>
5088
5089 * package_meta.cc: Change 'endl' to 'endLog' as appropriate.
5090 * package_version.cc: Ditto.
5091
5092 2002-09-22 Max Bowsher <maxb@ukf.net>
5093
5094 * PickView.cc (pkg_headers): Rename column 'Category' to 'Categories'.
5095 * package_meta.h (packagemeta::getReadableCategoryList): Declare.
5096 * package_meta.cc (packagemeta::getReadableCategoryList): Implement.
5097 * PickPackageLine.cc (PickPackageLine::paint): Change to use
5098 getReadableCategoryList.
5099 Fix x2 argument to IntersectClipRect.
5100
5101 2002-11-25 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
5102
5103 * window.h (Window::GetWindowRect): New method declaration.
5104 (Window::GetClientRect): Ditto.
5105 (Window::MoveWindow): Ditto.
5106 (Window::ScreenToClient): Ditto.
5107 * window.cc (REFLECTION_INFO): Remove.
5108 (ReflectionInfo): Remove.
5109 (Window::FirstWindowProcReflector): Use the WM_NCCREATE message instead
5110 of the horrid REFLECTION_INFO hack to hook the Window instance to the
5111 HWND instance.
5112 (Window::WindowProcReflector): Use GetWindowLongPtr() now that it's
5113 available.
5114 (Window::Create): Change to use new WM_NCCREATE reflection procedure
5115 above.
5116 (Window::GetWindowRect): New method.
5117 (Window::GetClientRect): New method.
5118 (Window::MoveWindow): New method.
5119 (Window::CenterWindow): Use new methods, also specify "::" for some non-
5120 member functions with the same names.
5121 (Window::ScreenToClient): New method.
5122
5123 2002-11-26 Robert Collins <rbtcollins@hotmail.com>
5124
5125 * AntiVirus.cc: Change the short option again! It's now 'A'.
5126 * desktop.cc (etc_profile): Remove.
5127 (make_etc_profile): Remove.
5128 (uexists): Remove.
5129 (make_passwd_group): Remove.
5130 (do_desktop_setup): Don't call removed functions.
5131
5132 2002-11-26 Robert Collins <rbtcollins@hotmail.com>
5133
5134 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Fix my botched application of
5135 Marcel's patch.
5136
5137 2002-07-08 Marcel Telka <marcel@telka.sk>
5138
5139 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Fixed decoding of the FTP
5140 reply (code 227) to the PASV command.
5141
5142 2002-11-26 Robert Collins <rbtcollins@hotmail.com>
5143
5144 * IniDBBuilderPackage.cc (IniDBBuilderPackage::~IniDBBuilderPackage):
5145 Sort the packages db once all the new packages have been added.
5146 * IniDBBuilderPackage.h (IniDBBuilderPackage::~IniDBBuilderPackage):
5147 Declare this.
5148
5149 2002-11-26 Robert Collins <rbtcollins@hotmail.com>
5150
5151 * choose.cc (ChooserPage::OnNext): Remove extracted comment.
5152 * package_version.cc (processOneDependency): Return once selecting
5153 a package (bugfix to prevous rework).
5154 Log if the default trust fails the package specification.
5155
5156 2002-11-26 Robert Collins <rbtcollins@hotmail.com>
5157
5158 * package_meta.h (packagemeta::logAllVersions): Declare.
5159 (packagemeta::trustLabel): Ditto.
5160 * choose.cc (ChooserPage::OnNext): Get each package to log all it's
5161 versions.
5162 * package_meta.cc (packagemeta::logAllVersions): Implement.
5163 (packagemeta::trustLabel): Ditto.
5164
5165 2002-11-25 Robert Collins <rbtcollins@hotmail.com>
5166
5167 * AntiVirus.cc: Change 'd' to 'D' to fix command line conflict.
5168
5169 2002-11-25 Robert Collins <rbtcollins@hotmail.com>
5170
5171 * AntiVirus.cc: New file.
5172 * AntiVirus.h: Ditto.
5173 * LogFile.cc: Include AntiVirus.h for class definition.
5174 (LogFile::exit): Trigger AntiVirus::AtExit().
5175 * MakeFile.am(setup_SOURCES): Add AntiVirus files.
5176 * autoload.c: Declare Service Control Manager related API's.
5177 * main.cc: Include AntiVirus.h for class definition.
5178 (main): Add the AntiVirus page in.
5179 * res.rc: Define IDD_VIRUS.
5180 * resource.h: Define IDD_VIRUS related control ID's.
5181 * splash.h: Override OnNext.
5182 * splash.cc: Only show AntiVirus page when one has been detected.
5183 * source.cc: Ditto.
5184
5185 2002-11-25 Robert Collins <rbtcollins@hotmail.com>
5186
5187 * package_version.cc (DependencyProcessor): Create convenience class.
5188 (select): Extract version selection method.
5189 (processOneDependency): Check for a satisfactory trusted version
5190 first.
5191
5192 2002-11-10 Robert Collins <rbtcollins@hotmail.com>
5193
5194 * main.cc (main): Use the factory for LogFile.
5195 * String++.cc: Update to use sstream.
5196 (String::String): Use a ostringstream for libC++ 3.2.
5197 * LogFile.h (LogFile): Make createLogFile static.
5198
5199 2002-11-10 Robert Collins <rbtcollins@hotmail.com>
5200
5201 * main.cc (main): Oops, pass LogSingleton a reference, not a pointer.
5202
5203 2002-11-04 Max Bowsher <maxb@ukf.net>
5204
5205 * Exception.h (Exception::what): Add throw() specification,
5206 to agree with libstdc++-v3.
5207 * Exception.cc (Exception::what): Ditto.
5208 * IniDBBuilderPackage.h: Add 'std::' where needed.
5209 * PickCategoryLine.h: Ditto.
5210 * category.h: Ditto.
5211 * package_db.h: Ditto.
5212 * package_meta.h: Ditto.
5213 * package_source.h: Ditto.
5214 * package_version.h: Ditto.
5215 * site.h: Ditto.
5216 * win32.h: Define NOMINMAX before including <windows.h>.
5217 * package_meta.cc: Add 'using namespace std;'.
5218 (packagemeta::set_requirements): Remove default parameter values
5219 from definition (gcc3 likes them only in declaration).
5220 * package_version.cc: Add 'using namespace std;'.
5221 (packageversion::set_requirements): Remove default parameter
5222 values from definition (gcc3 likes them only in declaration).
5223
5224 2002-11-10 Robert Collins <rbtcollins@hotmail.com>
5225
5226 * compress_bz.cc: Don't include bzlib.h directly, the compress_bz.h
5227 header includes it.
5228
5229 2002-11-04 Max Bowsher <maxb@ukf.net>
5230
5231 * compress_bz.h: #undef small before including bzlib.h - if we are
5232 going to hide the fact that we are _WIN32 from bzlib, then we need
5233 to #undef small for it as well (bad windows.h clash).
5234
5235 2002-11-10 Robert Collins <rbtcollins@hotmail.com>
5236
5237 * localdir.cc: Update the extern LogFile to be a pointer.
5238 (save_local_dir): Change . to -> for the above.
5239 * main.cc (theFile): Change from an instance to a pointer.
5240 (main): Change . to -> for the above.
5241
5242 2002-11-10 Robert Collins <rbtcollins@hotmail.com>
5243
5244 * LogFile.cc: use 'std::' where needed throughout.
5245 (LogFile::createLogFile): Implement a factory for LogFile.
5246 (LogFile::LogFile): Update for use with the factory, and to
5247 handle the latest g++ library changes.
5248 (LogFile::operator()): Ditto.
5249 (LogFile::endEntry()): Ditto.
5250 * LogFile.h: Ditto.
5251 * LogSingleton.cc: Ditto.
5252 * LogSingleton.h: Ditto.
5253
5254 2002-11-04 Max Bowsher <maxb@ukf.net>
5255
5256 * String++.h: Add 'std::' where needed.
5257
5258 2002-11-04 Max Bowsher <maxb@ukf.net>
5259
5260 * IniDBBuilderPackage.cc: Add 'using namespace std;'.
5261 * IniParseFindVisitor.cc: Ditto.
5262 * LogFile.cc: Ditto.
5263 * LogSingleton.cc: Ditto.
5264 * PickView.cc: Ditto.
5265 * String++.cc: Ditto.
5266 * choose.cc: Ditto.
5267 * download.cc: Ditto.
5268 * find.cc: Ditto.
5269 * install.cc: Ditto.
5270 * io_stream.cc: Ditto.
5271 * io_stream_file.cc: Ditto.
5272 * package_db.cc: Ditto.
5273 * root.cc: Ditto.
5274 * site.cc: Ditto.
5275
5276 2002-11-04 Max Bowsher <maxb@ukf.net>
5277
5278 * LogSingleton.h: Add 'std::' where needed.
5279
5280 2002-11-04 Max Bowsher <maxb@ukf.net>
5281
5282 * archive_tar_file.cc: Include <algorithm>.
5283 Change min(a,b) to std::min(a,b)
5284 * compress_bz.cc: Ditto.
5285 * compress_gz.cc: Ditto.
5286
5287 2002-11-04 Max Bowsher <maxb@ukf.net>
5288
5289 * res.rc: Change a #-comment (invalid) to a //-comment.
5290
5291 2002-11-04 Max Bowsher <maxb@ukf.net>
5292
5293 * Makefile.am (%.o: %.rc): Make windres use $(CC) not hardcoded gcc.
5294 (inilint_LDADD): Remove -lstd++.
5295 (setup_LDADD): Ditto.
5296
5297 2002-09-22 Max Bowsher <maxb@ukf.net>
5298
5299 * IniDBBuilderPackage.cc: Update DEBUG code to current class
5300 layout.
5301
5302 2002-09-21 Robert Collins <rbtcollins@hotmail.com>
5303
5304 * choose.h: Add OnUnattended method.
5305 * desktop.cc (DesktopSetupPage::OnInit): Allow fine grained
5306 control via command line options.
5307 (DesktopSetupPage::OnUnattended): Implement.
5308 (DesktopSetupPage::OnMessageApp): Implement.
5309 * desktop.h (DesktopSetupPage::OnUnattended): declare.
5310 (DesktopSetupPage::OnMessageApp): Ditto.
5311 * download.cc (do_download_thread): Support unattended mode.
5312 * install.cc (do_install_thread): Ditto.
5313 * localdir.h: Ditto.
5314 * main.cc (main): Ditto.
5315 * net.cc (NetPage::OnUnattended): Ditto.
5316 * net.h (NetPage::OnUnattended): Declare.
5317 * proppage.cc (PropertyPage::DialogProc): Support unattended mode.
5318 * proppage.h (PropertyPage::OnUnattended): Declare.
5319 * root.cc (RootPage::OnInit): Support unattended mode.
5320 (RootPage::OnUnattended): Implement.
5321 * root.h (RootPage::OnUnattended): Declare.
5322 * site.cc (register_saved_site): Extract Method from get_saved_sites.
5323 (get_saved_sites): Remove common code for adding a site.
5324 (SitePage::OnInit): Support unattended mode.
5325 (SitePage::OnUnattended): Implement.
5326 * site.h (SitePage::OnUnattended): Declare.
5327 * source.cc (SourcePage::OnActivate): Support unattended mode.
5328 (SourcePage::OnUnattended): Implement.
5329 * source.h (SourcePage::OnUnattended): Declare.
5330 * splash.h (SplashPage::OnUnattended): Declare.
5331 * state.cc (unattended_mode): Declare.
5332 * state.h (unattended_mode): Declare.
5333 * threebar.h (ThreeBarProgressPage::OnUnattended): New method.
5334
5335 2002-09-21 Robert Collins <rbtcollins@hotmail.com>
5336
5337 * res.rc: Commit Harry Johnston's dialog caption patch. From July.
5338
5339 2002-07-15 Robert Collins <rbtcollins@hotmail.com>
5340
5341 * package_version.cc (packageversion::sources): Implement this.
5342 * download.cc (do_download_thread): Support multiple files per package.
5343
5344 2002-07-15 Robert Collins <rbtcollins@hotmail.com>
5345
5346 * package_version.h (packageversion::sources): Support multiple files in
5347 a single package version.
5348 * package_version.cc (_packageversion::accessible): Ditto.
5349 (packageversion::source): Ditto.
5350
5351 2002-07-15 Robert Collins <rbtcollins@hotmail.com>
5352
5353 * iniparse.y: Implement support for multiple source files for a source
5354 package.
5355 * IniDBBuilder.h (IniDBBuilder::buildSourceFile): Ditto.
5356 * IniDBBuilderPackage.h (IniDBBuilder::buildSourceFile): Ditto.
5357 * IniDBBuilder.cc (IniDBBuilder::buildSourceFile): Ditto.
5358 * IniDBBuilderPackage.cc (IniDBBuilder::buildSourceFile): Implement a
5359 stub as preparation.
5360
5361 2002-07-13 Robert Collins <rbtcollins@hotmail.com>
5362
5363 * PickPackageLine.cc (PickPackageLine::click): Set requirements for
5364 packages under all circumstances - slightly higher overheader, simpler
5365 code.
5366 * download.cc (do_download_thread): Correctly download source
5367 packages.
5368 * package_meta.cc (checkForInstalled): Remove.
5369 (checkForUpgradeable): Ditto.
5370 (checkForSatisfiable): Ditto.
5371 (processOneDependency): Ditto.
5372 (packagemeta::set_requirements): Move guts to packageversion.
5373 * package_version.cc (checkForInstalled): Copied from package_meta.cc.
5374 (checkForUpgradeable): Ditto.
5375 (checkForSatisfiable): Ditto.
5376 (processOneDependency): Ditto.
5377 (packageversion::set_requirements): Ditto.
5378 * package_version.h (packageversion::set_requirements): Declare.
5379
5380 2002-07-13 Robert Collins <rbtcollins@hotmail.com>
5381
5382 * IniDBBuilder.cc (IniDBBuilder::buildBeginBuildDepends): Implement.
5383 (IniDBBuilder::buildBeginBinary): Implement.
5384 * IniDBBuilder.h (IniDBBuilder::buildBeginBuildDepends): Declare.
5385 (IniDBBuilder::buildBeginBinary): Ditto.
5386 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildBeginBuildDepends):
5387 Implement.
5388 (IniDBBuilderPackage::buildBeginBinary): Ditto.
5389 * IniDBBuilderPackage.h (IniDBBuilderPackage::buildBeginBuildDepends):
5390 Declare.
5391 (IniDBBuilderPackage::buildBeginBinary): Ditto.
5392 * inilex.l: Recognise Build-Depends-Indep, [,], >, < and remove
5393 T_UNKNOWN.
5394 * iniparse.y: Full support for parsing a debian Sources file in-line in
5395 setup.ini.
5396 * package_version.cc (packageversion::binaries): Implement.
5397 * package_version.h (packageversion::binaries): Declare list of what
5398 packages are created from a given source package.
5399 (_packageversion::binaries): Ditto.
5400
5401 2002-07-10 Robert Collins <rbtcollins@hotmail.com>
5402
5403 * iniparse.y: Add basis for support for parsing a debian Sources file.
5404 * inilex.l: Ditto.
5405
5406 2002-07-09 Robert Collins <rbtcollins@hotmail.com>
5407
5408 Change custom container code for packagedb::packages to STL containers
5409 throughout.
5410 * IniDBBuilderPackage.cc: Ditto.
5411 * PickView.cc: Ditto.
5412 * choose.cc: Ditto.
5413 * desktop.cc: Ditto.
5414 * download.cc: Ditto.
5415 * install.cc: Ditto.
5416 * package_db.cc: Ditto.
5417 * package_db.h: Ditto.
5418 * Makefile.am: Remove list.h references.
5419 * list.h: Remove.
5420
5421 2002-07-08 Max Bowsher <maxb@ukf.net>
5422
5423 * PickView.cc (PickView::PickView): Set font of package list header to
5424 the same as used in the rest of the package list.
5425
5426 2002-07-08 Robert Collins <rbtcollins@hotmail.com>
5427
5428 * install.cc (NoReplaceOnReboot): New command line option to prevent
5429 replacing in use files.
5430 (install_one_source): Check the option and use it.
5431 * README: Update TODO lists.
5432
5433 2002-07-08 Robert Collins <rbtcollins@hotmail.com>
5434
5435 * PickCategoryLine.cc: Change bucket to use STL container syntax
5436 throughout.
5437 (PickCategoryLine::paint): Use new Category type syntax.
5438 * PickCategoryLine.h: Use STL vectors rather than custom containers
5439 throughout.
5440 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageCategory):
5441 Use new add_category syntax.
5442 * PickView.cc (PickView::insert_pkg): Use new Category type syntax.
5443 (PickView::insert_category): Ditto.
5444 (PickView::init_headers): Ditto.
5445 * category.cc: Trim obsolete code.
5446 * category.h: Replace interconnecting class with a typedef to
5447 facilitate leveraging STL maps.
5448 * choose.cc (fill_missing_category): Use updated pkg.add_category
5449 syntax.
5450 (default_trust): Use new Category type syntax.
5451 (set_view_mode): Ditto.
5452 (create_listview): Ditto.
5453 * package_db.cc (categories): Ditto.
5454 * package_db.h: Update headers list to include needed headers.
5455 (packagedb::categories): Replace custom list with STL map.
5456 * package_meta.cc: Use new Category type syntax throughout.
5457 (packagemeta::add_category): Implement new syntax.
5458 * package_meta.h: Remove commented out source.
5459 (packagemeta::add_category): Update syntax to decouple interface from
5460 packagedb.
5461
5462 2002-07-06 Christopher Faylor <cgf@redhat.com>
5463
5464 * site.cc (do_download_site_info_thread): Correct spelling error.
5465
5466 2002-07-06 Robert Collins <rbtcollins@hotmail.com>
5467
5468 * PickCategoryLine.h: Include required header list.h.
5469 * PickPackageLine.cc (PickPackageLine::paint): Adjust to use STL
5470 containers for listing of packages per category and vice verca.
5471 * PickView.cc (PickView::insert_pkg): Ditto.
5472 (PickView::insert_category): Ditto.
5473 * String++.h (String::caseless): STL helper to allow trivial containers
5474 of Strings with case insensitive comparisons.
5475 * category.h: Adjust to use STL containers for listing of packages per
5476 category and vice verca.
5477 * choose.cc (fill_missing_category): Ditto.
5478 (default_trust): Ditto.
5479 (ChooserPage::OnNext): Ditto.
5480 * package_meta.cc (CategoryPackage::~CategoryPackage): Remove.
5481 (packagemeta::packagemeta): Adjust for new category list name.
5482 (packagemeta::~packagemeta): Adjust to use STL containers for listing
5483 of packages per category and vice verca.
5484 (packagemeta::set_action): Ditto.
5485 * package_meta.h (CategoryPackage): Remove.
5486 (packagemeta): Adjust to use STL containers for listing of packages per
5487 category and vice verca.
5488
5489 2002-07-05 Robert Collins <rbtcollins@hotmail.com>
5490
5491 * io_stream.cc: Use STL containers rather than custom ones.
5492 (io_stream::registerProvider): Ditto.
5493 (findProvider): Ditto.
5494
5495 2002-07-05 Robert Collins <rbtcollins@hotmail.com>
5496
5497 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource):
5498 Use STL collections for download site collections.
5499 (IniDBBuilderPackage::add_correct_version): Ditto.
5500 (IniDBBuilderPackage::process_src): Ditto.
5501 * PickPackageLine.cc (PickPackageLine::click): Use the packageversion
5502 accessible() call to abstract package availability.
5503 * choose.cc (scanAVersion): Use STL collections for download site
5504 collections.
5505 * download.cc (check_for_cached): Ditto.
5506 (download_one): Ditto.
5507 * package_meta.cc (packagemeta::set_action): Use the packageversion
5508 accessible() call to abstract package availability.
5509 * package_source.h: Use STL containers rather than custom containers.
5510 (site): Create a == operator to allow STL container use.
5511 (packagesource::sites): Use STL containers rather than custom
5512 containers.
5513 * package_version.cc (_packageversion::accessible): Use STL containers
5514 for download site containers.
5515
5516 2002-07-05 Robert Collins <rbtcollins@hotmail.com>
5517
5518 * LogFile.cc: Use STL containers rather than custom containers.
5519 (filedef): Create == and < operators for STL use.
5520 (files): Convert to an STL set.
5521 (LogFile::setFile): Use STL operations on files.
5522 (LogFile::exit): Ditto.
5523
5524 2002-07-05 Robert Collins <rbtcollins@hotmail.com>
5525
5526 * ini.cc (do_remote_ini): Use STL collection for site collection.
5527 * site.cc: Include site.h first to ensure it's parsable standalone.
5528 Use STL algorithms.
5529 (site_list): Convert to an STL container.
5530 (all_site_list): Ditto.
5531 (site_list_type::site_list_type): Implement copy constructor.
5532 (site_list_type::operator=): Implement assignment operator.
5533 (site_list_type::operator ==): Implement.
5534 (site_list_type::operator <): Ditto.
5535 (save_dialog): Use STL collection calls for site collection.
5536 (save_site_url): Ditto.
5537 (get_site_list): Ditto.
5538 (get_saved_sites): Ditto.
5539 (do_download_site_info_thread): Ditto.
5540 (SitePage::OnNext): Ditto.
5541 (SitePage::PopulateListBox): Ditto.
5542 (SitePage::OnMessageCmd): Ditto.
5543 * site.h: Use STL vectors instead of custom code.
5544 (site_list_type::site_list_type): Declare.
5545 (site_list_type::operator=): Ditto.
5546 (site_list_type::operator ==): Ditto.
5547 (site_list_type::operator !=): Ditto.
5548 (site_list_type::operator <): Ditto.
5549 (site_list_type::operator <=): Ditto.
5550 (site_list_type::operator >): Ditto.
5551 (site_list_type::operator >=): Ditto.
5552 (site_list): Convert to an STL container.
5553 (all_site_list): Ditto.
5554
5555 2002-07-05 Robert Collins <rbtcollins@hotmail.com>
5556
5557 * choose.cc (default_trust): Check package accessibility before
5558 triggering an install. (Suggested by Pavel).
5559
5560 2002-07-03 Pavel Tsekov <ptsekov@gmx.net>
5561
5562 * compress_gz.cc (compress_gz::construct): Always initialize key members
5563 to ensure the destructor does the right thing.
5564
5565 2002-07-03 Pavel Tsekov <ptsekov@gmx.net>
5566
5567 * filemanip.cc (parse_filename): Do not try to parse empty
5568 strings (filenames).
5569 * package_db.cc (packagedb::packagedb): For each line check if sscanf()
5570 extracted good package name and filename.
5571
5572 2002-07-03 Robert Collins <rbtcollins@hotmail.com>
5573
5574 * package_meta.cc (packagemeta::set_requirements): Automatically select
5575 version of dependent packages that satisfies the requirements.
5576 Use processOneDependency to trigger the install of those packages.
5577 (checkForInstalled): Check that the package remains installed.
5578 (processOneDependency): Helper function for dependent packages.
5579 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackage): Add more
5580 debug information.
5581 Clear out all current state on new packages.
5582 (IniDBBuilderPackage::add_correct_version): Copy the dependency list
5583 across.
5584
5585 2002-07-02 Robert Collins <rbtcollins@hotmail.com>
5586
5587 * Makefile.am (inilint_SOURCES): Add PackageSpecification sources.
5588 nb: inilint is still incomplete, as the packageversion code is not
5589 ready for database-less linking.
5590 * site.cc (get_site_list): When the same site is reentered by the user
5591 replace the old one. (Suggested by John Marshall).
5592
5593 2002-07-02 Robert Collins <rbtcollins@hotmail.com>
5594
5595 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource):
5596 Clear out package selections when generating implicit source packages.
5597 * PackageSpecification.cc (PackageSpecification::satisfies): Implement.
5598 (PackageSpecification::_operators::satisfies): Implement.
5599 * PackageSpecification.h (PackageSpecification::_operators::satisfies):
5600 Worker function for testing versions.
5601
5602 2002-07-01 Robert Collins <rbtcollins@hotmail.com>
5603
5604 * IniDBBuilder.cc (IniDBBuilder::buildPackageRequirement): Remove.
5605 * IniDBBuilder.h (IniDBBuilder::buildPackageRequirement): Ditto.
5606 * IniDBBuilderPackage.cc: Use the STL algorithms.
5607 Change cpv to cbpv throughout. Adjust -> to ., and use the new accessor
5608 functions for the same variable throughout.
5609 (IniDBBuilderPackage::IniDBBuilderPackage): Initialise new members.
5610 (IniDBBuilderPackage::buildPackage): Use new cygpackage syntax,
5611 and set an empty source package.
5612 (IniDBBuilderPackage::buildPackageInstall): Use the new source member
5613 to record an install package.
5614 (IniDBBuilderPackage::buildPackageSource): Move source package logic
5615 out from process_src, as it now occurs at separate times.
5616 (IniDBBuilderPackage::buildPackageRequirement): Remove.
5617 (IniDBBuilderPackage::buildSourceName): Use renamed package
5618 specifiation accessor for clarity.
5619 (IniDBBuilderPackage::buildSourceNameVersion): Ditto.
5620 (IniDBBuilderPackage::add_correct_version): Use STL iterators rather
5621 than custom code.
5622 Remove source package references.
5623 (IniDBBuilderPackage::process_src): Remove source package code as it's
5624 now handled separately.
5625 Set Path information before merging versions, to prevent dangling
5626 pointers.
5627 * IniDBBuilderPackage.h (IniDBBuilderPackage::buildPackageRequirement):
5628 Remove.
5629 (IniDBBuilderPackage::cpv): Remove.
5630 (IniDBBuilderPackage::cbpv): New generic binary working variable.
5631 (IniDBBuilderPackage::cspv): Ditto, but for source packages.
5632 (IniDBBuilderPackage::csp): Source package variable for disjoint
5633 source packages.
5634 * Makefile.am (AM_CFLAGS): Remove -Winline to allow stl set code
5635 to compile. If it compiles cleanly in gcc 3.1, then reinstate.
5636 * PickPackageLine.cc: Adjust packageversion accessors to the new
5637 reference calls. (i.e. -> to .) throughout.
5638 (PickPackageLine::paint): Use accessible() for clarity.
5639 Use new split out source package logic.
5640 (PickPackageLine::click): Ditto.
5641 * PickView.cc (PickView::init_headers): Adjust packageversion accessors
5642 to the new reference calls. (i.e. -> to .) throughout.
5643 Use new split out source package logic.
5644 * choose.cc: Don't depend on a specific package type.
5645 Adjust packageversion accessors to the new reference calls. (i.e. -> to
5646 .) throughout.
5647 (set_existence): Use accessible () for clarity.
5648 (default_trust): Simplify a little.
5649 (scanAVersion): Factored out code from scan_downloaded_files for
5650 clarity.
5651 (scan_downloaded_files): Factor out inner loop for clarity.
5652 (ChooserPage::OnNext): Don't dump the dependency list,
5653 it's parsing is robust now!.
5654 * cygpackage.cc (createInstance): Use a factory method to create new
5655 objects.
5656 (cygpackage::cygpackage): Make this private for use by the factory.
5657 (cygpackage::setCanonicalVersion): Renamed from set_canonical_version.
5658 Remove key usage as it's obsolete.
5659 * cygpackage.h (cygpackage): Inherit from _packageversion, not
5660 packageversion.
5661 (cygpackage::createInstance): New factory.
5662 (cygpackage::cygpackage): Make private.
5663 * desktop.cc (make_passwd_group): Use new packageversion reference.
5664 * download.cc (do_download_thread): Use changeRequested() for clarity.
5665 Use new packageversion reference calls.
5666 * iniparse.y (REQUIRES): Reuse the packageList code and dump the one-off
5667 requires code.
5668 * install.cc: Adjust -> to ., and use the new accessor functions for
5669 packageversion throughout.
5670 * package_db.cc: Adjust -> to ., and use the new accessor functions for
5671 packageversion throughout.
5672 (packagedb::packagedb): Use the new cygpackage factory.
5673 (packagedb::flush): Leverage String to remove buffer overflow chance in
5674 sprintf.
5675 (packagedb::findBinary): Find a binary meta package that has a version
5676 matching a given specification.
5677 (packagedb::findSource): Ditto, but for source.
5678 * package_db.h (packagedb::findBinary): Declare.
5679 (packagedb::findSource): Ditto.
5680 * package_meta.cc: Adjust packageversion accessors to the new
5681 reference calls. (i.e. -> to .) throughout.
5682 Include the package_meta header first to ensure it parses standalone.
5683 Use the STL algorithms.
5684 (packagemeta::packagemeta): Create a copy constructor to allowing
5685 cloning binary package metadata to source package metadata.
5686 (packagemeta::~packagemeta): Use the STL coleltion code rather than
5687 custom collection code.
5688 (packagemeta::add_version): Ditto.
5689 (packagemeta::set_installed): Ditto.
5690 (packagemeta::SDesc): Ditto.
5691 (hasSDesc): Helper function for find_if.
5692 (checkForInstalled): Ditto.
5693 (checkForUpgradeable): Ditto.
5694 (checkForSatisfiable): Ditto.
5695 (packagemeta::action_caption): Update for split out source packages.
5696 (packagemeta::set_action): Ditto.
5697 (packagemeta::set_requirements): Support multi-valued dependency
5698 lists - a|b & c|d - with versioned package specifications.
5699 (packagemeta::accessible): Helper member to improve abstraction.
5700 (packagemeta::sourceAccessible): Ditto.
5701 * package_meta.h: Adjust packageversion accessors to the new
5702 reference calls. (i.e. "->" to "." and"*" to "" ) throughout.
5703 (packagemeta::packagemeta): Declare copy constructor.
5704 Remove self initialising members.
5705 (packagemeta::set_action): Update parameters for new packageversion.
5706 (packagemeta::trustp): Ditto.
5707 (packagemeta::versions): Becomes an STL set.
5708 * package_source.h (packagesource::Cached): Const correctness change.
5709 * package_version.cc: Rewrite the packageversion interface to remove
5710 the cygpackage nonvirtual members, and provide a copy by value,
5711 pointer semantics reference counting wrapper class to ease use and
5712 comparison of packageversions.
5713 Change existing packageversion class to _packageversion throughout.
5714 (_defaultversion): A trivial concrete class to prevent specialcasing
5715 the default constructor for packageversion;
5716 (packageversion::packageversion): Implement.
5717 (packageversion::~packageversion): Ditto.
5718 (packageversion::operator=): Ditto.
5719 (packageversion::operator !): Ditto.
5720 (packageversion::operator bool): Ditto.
5721 (packageversion::operator ==): Ditto.
5722 (packageversion::operator !=): Ditto.
5723 (packageversion::operator <): Ditto.
5724 (packageversion::Name): Ditto.
5725 (packageversion::Canonical_version): Ditto.
5726 (packageversion::setCanonicalVersion): Ditto.
5727 (packageversion::getfirstfile): Ditto.
5728 (packageversion::getnextfile): Ditto.
5729 (packageversion::SDesc): Ditto.
5730 (packageversion::set_sdesc): Ditto.
5731 (packageversion::LDesc): Ditto.
5732 (packageversion::set_ldesc): Ditto.
5733 (packageversion::sourcePackage): Ditto.
5734 (packageversion::sourcePackageSpecification): Ditto.
5735 (packageversion::setSourcePackageSpecification): Ditto.
5736 (packageversion::depends): Ditto.
5737 (packageversion::predepends): Ditto.
5738 (packageversion::recommends): Ditto.
5739 (packageversion::suggests): Ditto.
5740 (packageversion::replaces): Ditto.
5741 (packageversion::conflicts): Ditto.
5742 (packageversion::provides): Ditto.
5743 (packageversion::picked): Ditto.
5744 (packageversion::pick): Ditto.
5745 (packageversion::changeRequested): Ditto.
5746 (packageversion::uninstall): Ditto.
5747 (packageversion::source): Ditto.
5748 (packageversion::accessible): Ditto.
5749 (_packageversion::sourcePackage): Ditto.
5750 (_packageversion::accessible): Ditto.
5751 (_packageversion::changeRequested): Ditto.
5752 * package_version.h: Rewrite the packageversion interface to remove
5753 the cygpackage nonvirtual members, and provide a copy by value,
5754 pointer semantics reference counting wrapper class to ease use and
5755 comparison of packageversions.
5756 Change existing packageversion class to _packageversion throughout.
5757 (Dependency): Remove.
5758 (packageversion): New wrapper class.
5759 (_packageversion): Renamed from packageversion.
5760 (_packageversion::setCanonicalVersion): New method.
5761 (_packageversion::sourcePackage): Ditto.
5762 (_packageversion::sourcePackageSpecification): Ditto.
5763 (_packageversion::setSourcePackageSpecification): Ditto.
5764 (_packageversion::changeRequested): Ditto.
5765 (_packageversion::bin): Rename to source.
5766 (_packageversion::src): Remove.
5767 (_packageversion::accessible): New method.
5768 (_packageversion::references): Allow reference counting.
5769 (_packageversion::sourceVersion): Cached the best-match source
5770 package version.
5771
5772 2002-06-27 Robert Collins <rbtcollins@hotmail.com>
5773
5774 * compress_bz.h (compress_bz::position): Track how much has been read.
5775 * compress_bz.cc (compress_bz::compress_bz): And initialise it.
5776 (compress_bz::read): Track amount read by the client.
5777 (compress_bz::tell): And report it when asked.
5778
5779 2002-06-27 Robert Collins <rbtcollins@hotmail.com>
5780
5781 * Makefile.am (snapshot): Automate snapshot creation some more.
5782
5783 2002-06-27 Robert Collins <rbtcollins@hotmail.com>
5784
5785 * msg.cc (msg): Use vsnprintf to avoid buffer overflows.
5786 (mbox): Ditto.
5787 * ini.cc (fprintf): Ditto.
5788 * log.cc (log): Ditto.
5789 * package_db.cc (packagedb::sourcePackages): Split out source packages
5790 from binary packages.
5791 * package_db.h: Ditto.
5792
5793 2002-06-27 Robert Collins <rbtcollins@hotmail.com>
5794
5795 * PackageSpecification.h: New file. Abstracts the ability to refer
5796 to another package, by name, or name and version.
5797 * PackageSpecification.cc: Ditto.
5798 * IniDBBuilder.cc (IniDBBuilder::buildPackageInstall): Simplify.
5799 (IniDBBuilder::buildPackageSource): Ditto.
5800 (IniDBBuilder::buildBeginDepends): New method for versioned
5801 dependencies.
5802 (IniDBBuilder::buildBeginPreDepends): Likewise, for dependencies to be
5803 satisfied before pre-install.
5804 (IniDBBuilder::buildPriority): New method, for getting the package
5805 Priority.
5806 (IniDBBuilder::buildInstalledSize): How much disk space does it need?
5807 (IniDBBuilder::buildMaintainer): Who maintains the package?
5808 (IniDBBuilder::buildArchitecture): What platform is it for?
5809 (IniDBBuilder::buildInstallSize): How big is the binary download?
5810 (IniDBBuilder::buildInstallMD5): Whats the MD5 on the binary?
5811 (IniDBBuilder::buildSourceMD5): Whats the MD5 on the source package?
5812 (IniDBBuilder::buildBeginRecommends): What other packages are
5813 recommended with this one?
5814 (IniDBBuilder::buildBeginSuggests): And suggested?
5815 (IniDBBuilder::buildBeginReplaces): What packages does this replace?
5816 (IniDBBuilder::buildBeginConflicts): And collide with?
5817 (IniDBBuilder::buildBeginProvides): What virtual packages (or obsolete
5818 package names) does this provide?
5819 (IniDBBuilder::buildDescription): Grab a multi line description one
5820 line at a time.
5821 (IniDBBuilder::buildSourceName): What source package should be used to
5822 install the source for this binary package?
5823 (IniDBBuilder::buildSourceNameVersion): Is a specific version needed?
5824 (IniDBBuilder::buildPackageListAndNode): Add another AND clause to a
5825 list of package specifications.
5826 (IniDBBuilder::buildPackageListOrNode): Add another OR clause.
5827 (IniDBBuilder::buildPackageListOperator): Add a versioning operator
5828 to the current specification.
5829 (IniDBBuilder::buildPackageListOperatorVersion): What version does the
5830 operator act on?
5831 * IniDBBuilder.h: Declare all the IniDBBuilder.cc changes.
5832 * IniDBBuilderPackage.cc: As for IniDBBuilder.cc.
5833 (IniDBBuilderPackage::IniDBBuilderPackage): Iniitialize new members.
5834 (IniDBBuilderPackage::process_src): Streamline and split out
5835 functionality.
5836 (IniDBBuilderPackage::setSourceSize): From process_src.
5837 * IniDBBuilderPackage.h: Declare the IniDBBuilderPackage.cc changes.
5838 (IniDBBuilderPackage::currentSpec): Track the in-progress specifiation.
5839 (IniDBBuilderPackage::currentOrList): Track the current Or list.
5840 (IniDBBuilderPackage::currentAndList): Track the current And list.
5841 * IniParseFeedback.cc (IniParseFeedback::progress): Provide completion
5842 progress on parsing.
5843 (IniParseFeedback::iniName): Tell what ini filename we are currently
5844 processing.
5845 * IniParseFeedback.h: Declare IniParseFeedback.cc changes.
5846 * IniParseFindVisitor.cc (IniParseFindVisitor::IniParseFindVisitor):
5847 Make the feedback object non-const to allow mutating methods which are
5848 needed when the object has state.
5849 (IniParseFindVisitor::visitFile): Tell the caller the name of each
5850 .ini found.
5851 Initialise the parser with the feedback object to allow it to tell of
5852 progress.
5853 * IniParseFindVisitor.h: Declare IniParseFindVisitor.cc changes.
5854 * Makefile.am (inilinst_SOURCES): Add more requisite classes.
5855 (setup_SOURCES): Add the new PackageSpecification sources.
5856 * ScanFindVisitor.cc (ScanFindVisitor::visitFile): Use the new
5857 builder syntax to setup binary package details.
5858 * choose.cc: Use the LogSingleton calls throughout.
5859 * configure.in: Create the INILINT substitution correctly for recent
5860 autotool configurations.
5861 * cygpackage.cc (cygpackage::getfirstfile): Return an empty String
5862 rather than a string built from an int. Thanks to Pavel Tsekov for
5863 identifying the bug.
5864 (cygpackage::getnextfile): Ditto.
5865 * download.cc: Use LogSIngletion calls throughout.
5866 (validateCachedPackage): A refactoring of the
5867 check_for_cached code to eliminate duplciation.
5868 (check_for_cached): Use validateCachedPackage to check packages.
5869 * ini.cc (GuiParseFeedback): Provide gui feedback on ini name and
5870 parsing progress.
5871 (do_remote_ini): Ditto.
5872 * ini.h (ini_init): Pass a IniParseFeedback to the parser, to allow
5873 progress reporting.
5874 * inilex.l: Identify new symbols - operators, and multi line plain text.
5875 Releases files.
5876 * inilintmain.cc (show_help): Provide basic infomation on inilint.
5877 * iniparse.y: Adjust for the new builder syntax, and process debian
5878 Release files.
5879 * io_stream_file.cc: Always include mkdir.h.
5880 * list.h: Factor index location into a private routine.
5881 (list::findindex): Implement this.
5882 * mkdir.cc (mkdir_p): Make the use of WIN32 code conditional on mingw
5883 builds. NB: This breaks cygwin build functionality still.
5884 * package_meta.cc: Use the LogSingleton calls throughout.
5885 (packagemeta::set_requirements): Adjust for object changes in
5886 dependencies.
5887 * package_meta.h (packagemeta::packagemeta): Initialise new members.
5888 (packagemeta::architecture): What platform does this package run on?
5889 This may need to move in the future to a per packagefile object.
5890 (packagemeta::priority): What priority does this package have?
5891 * package_source.h (packagesource::packagesource): Initialise new
5892 members.
5893 (packagesource::installedSize): How much space does the package need?
5894 (packagesource::setInstalledSize): Tell the amount.
5895 (packagesource::_installedSize): And store it.
5896 * package_version.cc (packageversion::sourcePackage): return the
5897 source package.
5898 (packageversion::setSourcePackage): And set it.
5899 * package_version.h: Declare the package_version.cc changes.
5900 (packageversion::depends): New package specification AND list.
5901 (packageversion::predepends): Ditto.
5902 (packageversion::recommends): Ditto.
5903 (packageversion::suggests): Ditto.
5904 (packageversion::replaces): Ditto.
5905 (packageversion::conflicts): Ditto.
5906 (packageversion::provides): Ditto.
5907 (packageversion::sourcePackage): What source package is needed?
5908 * threebar.cc (ThreeBarProgressPage::SetText4): Set the label beside
5909 the bottom bar.
5910 * threebar.h: Declare the threebar.cc change.
5911
5912 2002-06-27 John Marshall <johnm@falch.net>
5913
5914 * res.rc (SETUPINI_MISSING): Make trailing spaces visible.
5915 * site.cc (SitePage::OnMessageCmd): Ditto
5916
5917 2002-06-15 Robert Collins <rbtcollins@hotmail.com>
5918
5919 * nio-ie5.cc (NetIO_IE5::NetIO_IE): Allow cached data.
5920
5921 2002-06-15 Robert Collins <rbtcollins@hotmail.com>
5922
5923 * package_meta.cc (packagemeta::set_action): When installing packages
5924 with no binaries, choose the source package.
5925
5926 2002-06-10 Robert Collins <rbtcollins@hotmail.com>
5927
5928 * IniParseFindVisitor (IniParseFindVisitor::visitFile): Apply Max
5929 Bowshers fix for the crash with a root level setup.ini.
5930 * README: Update todos.
5931
5932 2002-05-26 Ralf Habacker <ralf.habacker@freenet.de>
5933
5934 * archive_tar.cc (archive_tar::next_file_name()): fixed broken
5935 GNU long name extension support.
5936
5937 2002-05-27 Robert Collins <rbtcollins@hotmail.com>
5938
5939 * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Don't
5940 unescape 0 length strings.
5941
5942 2002-05-20 Robert Collins <rbtcollins@hotmail.com>
5943
5944 * package_meta.cc (packagemeta::set_action): Don't allow reinstall
5945 when local with no cached file, and install the default source if the
5946 default version has no binary.
5947
5948 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
5949
5950 * IniDBBuilderPackage.cc (IniDBBuilderPackage::IniDBBuilderPackage): New
5951 method.
5952 (IniDBBuilderPackage::buildVersion): Provide a warning when a newer
5953 setup version created the ini file.
5954 * IniDBBuilderPackage.h (IniDBBuilderPackage::IniDBBuilderPackage): New
5955 method.
5956 * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Use the new
5957 feedback strategy.
5958 * IniParseFindVisitor.h (IniParseFindVisitor::IniParseFindVisitor):
5959 Require a feedback strategy.
5960 * Makefile.am (setup_SOURCES): Add IniParseFeedback sources.
5961 * Makefile.in: Regenerate.
5962
5963 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
5964
5965 * io_stream_file.cc (io_stream_file::remove): Use the SetFileAttributes
5966 trick to delete read only files.
5967 * io_stream_cygfile.cc (io_stream_cygfile::remove): Use file:// to
5968 remove files.
5969 * Makefile.am (release): Tweak to be more helpful.
5970 * Makefile.in: Regenerate.
5971
5972 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
5973
5974 * Makefile.am (release): Tweak to be more helpful.
5975 * Makefile.in: Regenerate.
5976
5977 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
5978
5979 * Makefile.am (release): Tweak to be more helpful.
5980 * Makefile.in: Regenerate.
5981
5982 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
5983
5984 * choose.cc (scan_downloaded_files): When a non-installed version
5985 has neither bin nor src cached files for local installs,
5986 remove the version from availability.
5987
5988 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
5989
5990 * ini.cc (do_remote_ini): Save uncompressed ini's correctly.
5991
5992 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
5993
5994 * rsync: New support library, contains librsync. This is not (yet)
5995 rsync interoperable.
5996 * configure.in: --with-rsync to enable rsync support. (Not complete).
5997 * Makefile.am: Enable building with rsync.
5998 * Makefile.in: Regenerate.
5999 * configure: Ditto.
6000 * IniDBBuilder.cc (IniDBBuilder::buildPackageInstall): Pass the md5 as
6001 an array.
6002 (IniDBBuilder::buildPackageSource): Ditto.
6003 * IniDBBuilder.h: Ditto.
6004 * IniDBBuilderPackage.cc: Ditto.
6005 * IniDBBuilderPackage.h: Ditto.
6006 * FindVisitor.cc: New file.
6007 * FindVisitor.h: New file, interface for visiting a file system
6008 aggregate.
6009 * IniParseFindVisitor.cc: New file.
6010 * IniParseFindVisitor.h: New file, concrete FindVisitor that parses
6011 found setup.ini's.
6012 * README: Update TODO's.
6013 * String++.cc (String::String): New constructor for <string> inter-
6014 operability.
6015 (String::substr): New method.
6016 * String++.h: Ditto.
6017 * choose.cc (scan2): Remove.
6018 (scan_downloaded_files): Simplify.
6019 * dialog.h: Include parsing pre-requirements.
6020 * download.cc (check_for_cached): Fullname was used incorrectly - fix.
6021 * filemanip.cc (parse_filename): -src packages where incorrectly parsed.
6022 * find.cc: Rewrite. Now uses a Visitor pattern and is re-entrant.
6023 * find.h: Ditto.
6024 * fromcwd.cc: Remove unneeded includes.
6025 (is_test_version): Remove.
6026 (found_file): Remove.
6027 (SetupFindVisitor): Trivial visitor to detect setup.ini's.
6028 (found_ini): Remove.
6029 (do_fromcwd): Remove commented code that has be replaced elsewhere.
6030 * ini.cc (local_ini): Remove.
6031 (findBuilder): Remove.
6032 (find_routine): Remove.
6033 (do_local_ini): Use new IniParseFindVisitor.
6034 * iniparse.y: Typecase MD5 arrays, as we know they are allocated as
6035 unsigned char.
6036 * postinstall.cc: Remove non-core includes.
6037 (run_script_in_postinstall): Remove.
6038 (RunFindVisitor): Trivial Visitor, runs each found script.
6039 (do_postinstall): Use new find syntax.
6040
6041 2002-05-14 Christopher Faylor <cgf@redhat.com>
6042
6043 * ini.cc (find_routine): Don't clear buffer it it's NULL.
6044
6045 2002-05-14 Christopher Faylor <cgf@redhat.com>
6046
6047 * filemanip.h (trail): Declare.
6048 * filemanip.cc (trail): New function.
6049 (find_tar_ext): Use trail() instead of strstr().
6050 * fromcwd.cc (check_ini): Ditto.
6051 * ini.cc (find_routine): Ditto. Don't tack local_dir to path since it
6052 should now be fully qualified. Set ini_filename. Reset error_buf and
6053 error_count for any subsequent ini file parsing.
6054 (ini_filename): New static variable for parse error reporting.
6055 (yyerror): Use full path of setup.ini in error message. Subtract one
6056 from line number if at bol.
6057 * find.cc (found_part): Eliminate.
6058 (find_sub): Call for_each with full path found rather than just file
6059 component.
6060 (find): Don't calculate found_part.
6061 * inilex.l (ini_init): Flush input buffer and reset line number.
6062 (yybol): New function. Exports YY_AT_BOL.
6063 * iniparse.y: Increase stack depth to allow more tokens to be processed.
6064 (yyparse): Remove newline from error condition to allow subsequent
6065 per-line error processing to proceed normally.
6066
6067 2002-05-14 Christopher Faylor <cgf@redhat.com>
6068
6069 * find.cc (find_sub): Be more defensive in preserving trailing parts of
6070 components when doing recursive directory searches or calling user
6071 supplied for_each().
6072 * ini.cc (find_routine): Don't assume that any path name with
6073 "setup.ini" in it is actually a setup.ini file. Only honor trailing
6074 components. Copy path argument to temporary storage when unescaping
6075 to prevent nuking of argument.
6076
6077 2002-05-12 Robert Collins <rbtcollins@hotmail.com>
6078
6079 * CONTRIBUTORS: New file.
6080
6081 2002-04-02 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
6082
6083 * choose.cc: Run indent.
6084 (nextbutton): Remove static variable.
6085 (default_trust): Remove use of nextbutton.
6086 (set_view_mode): Ditto.
6087 (create_listview): Add IDC_CHOOSE_PREV and IDC_CHOOSE_NEXT to ta[] so
6088 rbset() sets the prev/next/curr radio buttons properly.
6089 (dialog_cmd): Delete function.
6090 (dialog_proc): Delete function. Move WM_INITDIALOG functionality to
6091 ChooserPage::OnInit.
6092 (do_choose): Delete function. Move pre-DialogBox() code to
6093 ChooserPage::OnInit(), post-DialogBox() code to ChooserPage::OnNext.
6094 (WM_APP_START_CHOOSE): Remove define.
6095 (WM_APP_CHOOSE_IS_FINISHED): Remove define.
6096 (do_choose_thread): Delete function.
6097 (ChooserPage::OnActivate): Delete method.
6098 (ChooserPage::OnMessageApp): Delete method.
6099 (ChooserPage::OnInit): New method.
6100 (ChooserPage::OnNext): New method.
6101 (ChooserPage::OnBack): New method.
6102 (ChooserPage::OnMessageCmd): New method.
6103 * choose.h: Run indent.
6104 (ChooserPage::OnMessageApp): Delete declaration.
6105 (ChooserPage::OnActivate): Ditto.
6106 (ChooserPage::OnMessageCmd): New declaration.
6107 (ChooserPage::OnInit): Ditto.
6108 (ChooserPage::OnNext): Ditto.
6109 (ChooserPage::OnBack): Ditto.
6110 * desktop.cc (DesktopSetupPage::OnBack): Replace use of IDD_CHOOSER
6111 with IDD_CHOOSE.
6112 * fromcwd.cc (do_fromcwd): Replace use of IDD_CHOOSER with IDD_CHOOSE.
6113 * ini.cc (do_ini_thread): Replace use of IDD_CHOOSER with IDD_CHOOSE.
6114 * res.rc (IDD_CHOOSE): Remove dialog template.
6115 (IDD_CHOOSER): Alter dialog template to fit wizard size and format.
6116
6117 2002-05-12 Robert Collins <rbtcollins@hotmail.com>
6118
6119 * LogFile.cc (endLog): Work around an apparent libg++-3 bug causing
6120 corrupt log file entries.
6121 * geturl.cc: Convert to the new LogSingleton logging.
6122
6123 2002-05-12 Robert Collins <rbtcollins@hotmail.com>
6124
6125 * ini.cc (do_remote_ini): Use setup.bz2 if it exists in preference to
6126 setup.ini.
6127
6128 2002-05-12 Robert Collins <rbtcollins@hotmail.com>
6129
6130 * geturl.h: Declare getUrlToStream.
6131 * geturl.cc (getUrlToStream): New function.
6132 (get_url_to_membuf): Refactor to use getUrlToStream.
6133
6134 2002-05-11 Robert Collins <rbtcollins@hotmail.com>
6135
6136 * Makefile.am: Add a release target to automate some of the routine
6137 work.
6138 * Makefile.in: Regenerate.
6139
6140 2002-05-11 Robert Collins <rbtcollins@hotmail.com>
6141
6142 * choose.cc (scan_downloaded_files): On local installs remove all
6143 mirror sites if no cached copy of a package is found.
6144
6145 2002-05-10 Robert Collins <rbtcollins@hotmail.com>
6146
6147 * Makefile.in: Regenerate.
6148 * iniparse.y: Use left recursion, not right in the lines rule to
6149 avoid stack overflows.
6150 * README: Update TODO's.
6151 * io_stream_file.cc: Native builds need to include sys/stat.h
6152
6153 2002-05-06 John Marshall <jmarshall@acm.org>
6154
6155 * site.cc (SitePage::OnMessageCmd): recalculate navigation
6156 button activation when "Add" is pressed.
6157 (SitePage::CheckControlsAndDisableAccordingly): tweak comment.
6158
6159 2002-05-07 Robert Collins <rbtcollins@hotmail.com>
6160
6161 * Makefile.am (inlint_SOURCES): Add conditional objects to inilint
6162 depending on platform.
6163 Add file:// support.
6164 * configure.in: Set conditional MINGWTARGET if compiling against mingw
6165 libraries.
6166 * Makefile.in: Regenerate.
6167 * configure: Ditto.
6168 * io_stream_file.cc: Only use win32 calls when building for mingw.
6169
6170 2002-05-05 Robert Collins <rbtcollins@hotmail.com>
6171
6172 * Makefile.am (noinst_PROGRAMS): Make inilint configurable.
6173 * configure.in: Ditto.
6174 Fix incorrect header checking syntax.
6175 * aclocal.m4: Regenerate.
6176 * configure: Regenerate.
6177 * Makefile.in: Regenerate.
6178 * io_stream.cc: Remove platform specific and provider specific code.
6179 (io_stream::registerProvider): New method, registers a Url provider with
6180 the io_stream code.
6181 Make all methods consistently throw invalid_argument exceptions when
6182 a provider that is requested is not present.
6183 (findProvider): New private function, finds a provider.
6184 * io_stream.h: Declare io_stream::registerProvider.
6185 * io_stream_cygfile.cc: Create a Provider class to register with
6186 io_stream.cc.
6187 * io_stream_file.cc: Ditto.
6188 * archive.cc: Remove unneeded includes.
6189 * archive_tar.cc: Remove unneeded includes.
6190 * archive_tar.h: Add required include.
6191 * archive_tar_file.cc: Remove unneded includes.
6192 * choose.cc: Remove unneeded includes:
6193
6194 2002-05-04 Robert Collins <rbtcollins@hotmail.com>
6195
6196 * io_stream.cc: Use the new log interface thruout.
6197
6198 2002-05-04 Robert Collins <rbtcollins@hotmail.com>
6199
6200 * log.cc (log): Reimplement via LogSingleton.
6201 (log_save): Remove.
6202 (exit_setup): Remove.
6203 * log.h (log_save): Remove.
6204 (exit_setup): Remove.
6205 * LogSingleton.cc: New file.
6206 * LogSingleton.h: New file.
6207 * LogFile.cc: New file.
6208 * LogFile.h: New file.
6209 * Makefile.am (inilint_SOURCES): Add the new log interface.
6210 (setup_SOURCES): Add the new log interface and the concrete File
6211 implementation.
6212 * Makefile.in: Regenerate.
6213 * archive.cc: Use the new log interface thruout.
6214 * archive_tar.cc: Ditto.
6215 * main.cc: Ditto.
6216 * dialog.cc (fatal): Use the new log interface.
6217 * ini.cc (do_ini_thread): Use the log interface to exit.
6218 * isntall.cc (do_install_thread): Ditto.
6219 * netio.cc (auth_cmd): Ditto.
6220 * msg.cc (fatal): Ditto.
6221 * localdir.cc (save_local_dir): Save to different files depending on
6222 the mode, and if a root dir exists.
6223
6224 2002-05-04 Robert Collins <rbtcollins@hotmail.com>
6225
6226 * IniDBBuilder.cc: New file.
6227 * IniDBBuilder.h: New file.
6228 * IniDBBuilderPackage.cc: New file.
6229 * IniDBBuilderPackage.h: New file.
6230 * PackageTrust.h: New file.
6231 * IniState.h: Remove, wasn't thought out well enough.
6232 * Makefile.am (inilint_SOURCES): Add more requirements.
6233 (setup_SOURCES): Add new Builder base and concrete classes.
6234 * Makefile.in: Regenerate.
6235 * String++.cc (String::String): Implement int contructor.
6236 * String++.h (String): Declare int constructor.
6237 * archive_tar.cc (archive_tar::next_file_name): Return String() when
6238 no filename exists.
6239 * archive_tar.h (archive_tar_file): Remove get_next_filename method,
6240 it's not needed.
6241 * ini.cc: Replace IniState wuth IniDBBuilderPacakge.
6242 (find_routine): Use new IniDBBuilder to configure the parser.
6243 (do_local_ini): Ditto.
6244 (do_remote_ini): Ditto.
6245 * ini.h: Use IniDBBuilder to initialise parsing.
6246 * inilex.l (MD5): Parse the MD5 string correctly, we had the nibbles
6247 swapped.
6248 (ini_init): Use an IniDBBuilder rather than static variables.
6249 * iniparse.y: Hand off all the object creation to a builder, rather
6250 than hardcoding the behaviour. This allows run-time configured
6251 behaviour.
6252 * io_stream_cygfile.h (io_stream_cygfile): Remove get_next_filename
6253 method, it's not needed.
6254 * io_stream_file.h (io_stream_file): Ditto.
6255 * mount.cc (cygpath): Return String() for missing mounts.
6256 * package_meta.cc (packagemeta::SDesc): Return String() for blank
6257 descriptions.
6258 * package_meta.h (trusts): Remove - replaced by PackageTrust.h.
6259 (packagemeta::packagemeta): Fix incorrect syntax in String constructor
6260 usage.
6261 * cygpackage.cc (cygpackage::cygpackage): Fix incorrect syntax in
6262 String constructor usage.
6263 * site.h (site_list_type): Ditto.
6264
6265 2002-05-03 Robert Collins <rbtcollins@hotmail.com>
6266
6267 * String++.h: Declare a << operator that accepts String objects.
6268 * String++.cc: We need iostream for..
6269 (operator <<): this. Provide a << operator that accepts String objects.
6270 * ini.cc (yyerror): Remove the "C" classifier - it's not needed.
6271 Change from vargs to a String parameter.
6272 * inilintmail.cc: Remove the gui related headers.
6273 (yyerror): Implement this for parsing.
6274 * iniparse.y: Use the new yyerror syntax.
6275
6276 2002-05-03 Robert Collins <rbtcollins@hotmail.com>
6277
6278 * Makefile.am: Add IniState.h.
6279 * Makefile.in: Regenerate.
6280 * IniState.h: New file.
6281 * choose.cc: Don't include ini.h - it's not needed.
6282 * configure: Regenerate.
6283 * desktop.cc: Don't include ini.h - it's not needed.
6284 * download.cc: Ditto.
6285 * fromcwd.cc: Ditto.
6286 * ini.cc: Use IniState.h to track each parsing calling.
6287 (find_routine): Ditto.
6288 (do_remote_ini): Ditto.
6289 (do_ini_thread): Ditto.
6290 * ini.h (ini_init): Adjust parameters to include state object.
6291 * inilex.l: Declare parser state variable.
6292 (ini_init): Adjust parameters to include state object.
6293 * iniparse.y: Remove obsolete setup_timestamp and setup_version
6294 declarations.
6295 (setup_header): Use new state variable to track time and version.
6296 (add_correct_version): Ditto.
6297 * install.cc: Don't include ini.h - it's not needed.
6298
6299 2002-05-03 Robert Collins <rbtcollins@hotmail.com>
6300
6301 * nio-files.cc (NetIO): Use io_stream syntax for get_file_size.
6302 * io_stream_file.cc: Don't include filemanip.h.
6303 (io_stream_file::get_size): Implement here to remove filemanip
6304 dependency.
6305 * io_stream_cygfile.cc: Don't include filemanip.h.
6306 (io_stream_cygfile::get_size): Implement here to remove filemanip
6307 dependency.
6308 Implement a stat based version for when win32 is not available.
6309 * filemanip.h (get_file_size): Return size_t - it's more appropriate.
6310 * filemanip.cc: Don't include win32.h - be platform independent.
6311 Include strings.h and io_stream.h as part of that.
6312 (get_file_size): Leverage io_streams and remove win32 implementation.
6313 * download.cc (check_for_cached): Use io_stream syntax for
6314 get_file_size.
6315 (download_one): Ditto.
6316
6317 2002-05-02 Robert Collins <rbtcollins@hotmail.com>
6318
6319 * configure.in: Correct a typo in last change.
6320 * configure: Regenerate.
6321 * Makefile.in: Regenerate.
6322
6323 2002-05-02 Robert Collins <rbtcollins@hotmail.com>
6324
6325 * configure.in: Check for string.h and string.
6326 * configure: Regenerate.
6327 * Makefile.in: Regenerate.
6328
6329 2002-05-01 Robert Collins <rbtcollins@hotmail.com>
6330
6331 * res.rc (IDD_SPLASH): Remove white box.
6332
6333 2002-05-01 Robert Collins <rbtcollins@hotmail.com>
6334
6335 Oops! forgot to list these in the last checkin.
6336 * inilintmain.cc: New file.
6337 * md5.h: New file - imported md5 source, BSD style licence.
6338 * md5.cc: New file - imported md5 source, BSD style licence.
6339 * Exception.cc: New file.
6340 * Exception.h: New file.
6341 * MD5++.cc: New file.
6342 * MD5++.h: New file.
6343
6344 2002-05-01 Robert Collins <rbtcollins@hotmail.com>
6345
6346 * Makefile.am (AM_CFLAGS): Remove -mwindows, it's a linker flag.
6347 Remove -fno-rtti, we need it for exceptions.
6348 (AM_CXXFLAGS): Ditto.
6349 (WARNONLY_CFLAGS): Ditto.
6350 (EXTRA_PROGRAMS): Add with initial linter sources - not functional yet.
6351 (setup_LDFLAGS): Add and set to -mwindows.
6352 (setup_SOURCES): Add new sources.
6353 * Makefile.in: Regenerate.
6354 * README: Update TODO.
6355 * choose.cc (scan_downloaded_files): Use ini information if it's
6356 available.
6357 * configure: Regenerate.
6358 * download.cc (check_for_cached): Make reusable from elsewhere.
6359 Throw exceptions on errors (as opposed to failures).
6360 Check MD5 sum when it's known.
6361 (download_one): Never force a download.
6362 Handle corrupt package exceptions.
6363 * ini.cc (find_routine): Reverse escape the URL to correctly identify
6364 the site URL.
6365 * inilex.l (MD5): Provide a parsing rule (note: lowercase is required).
6366 * iniparse.y: Allow calculation of MD5 sums, and allow src only
6367 packages.
6368 (process_src): New helper function.
6369 * isntall.cc (install_one_source): Check MD5 sums when possible.
6370 Throw exceptions on errors.
6371 (do_install_thread): Handle exceptions for installation calls.
6372 * package_source.h: Store MD5 information.
6373 * propsheet.cc (PropSheet::Create): Add a useful comment.
6374 * res.rc (IDS_INSTALL_ERROR): Define.
6375 (IDS_CORRUPT_PACKAGE): Define.
6376 * resource.h (IDS_INSTALL_ERROR): Define.
6377 (IDS_CORRUPT_PACKAGE): Define.
6378 * rfc1738.cc (rfc1738_unescape_part): Implement.
6379 * rfc1738.h (rfc1738_unescape_part): Declare.
6380
6381 2002-04-29 Robert Collins <rbtcollins@hotmail.com>
6382
6383 * Makefile.am: Remove dependecy rules that automake emits.
6384 Correct badly copied dependency info for manually compiled files.
6385 (setup_SOURCES): Add all used headers.
6386 (EXTRA_DIST): Include non compilate but required sources.
6387 (setup_LDADD): Remove mingw32, it is autodetected.
6388 * Makefile.in: Regenerate.
6389 * String++.h: sys/types is a system header.
6390 * choose.cc (do_choose_thread): Make into a Win32 thread routine.
6391 Use ExitThread.
6392 (ChooserPage::OnMessageApp): Use Win32 threads. (_beginthread is not
6393 portable).
6394 * configure: Regenerate.
6395 * configure.in: Check for mingw32/cygwin specific headers and libraries.
6396 * cygpackage.h: Include the win32.h header to get correct macro
6397 definitions in all situations.
6398 * download.cc (do_download_reflector): Make into a Win32 thread routine.
6399 Use ExitThread.
6400 (do_download): Use Win32 threads.
6401 * ini.cc: Ditto.
6402 * install.cc: Ditto.
6403 * (WinMain): Adjust to build valid command line using application
6404 under both mingw32 and cygwin.
6405 * mount.cc (set)cygdrive_flags): Create new system flags if the
6406 user requests system and the value does not exist.
6407 * nio-http.cc: Define a _strnicmp for cygwin.
6408 * package_db.cc: Include <errno.h> if it exists.
6409 * site.cc (do_download_site_info_thread): Make into a Win32 thread
6410 routine.
6411 Use ExitThread.
6412 (do_download_site-Info): Use Win32 threads.
6413 * state.cc: Explicity declare variables to avoid header conflicts
6414 caused by '#define extern" on cygwin.
6415 * win32.h: Include <alloca.h> if it exists.
6416 (_MAX_PATH): Define as MAX_PATH when not defined by windows.h.
6417 (_access): Define as access if not defined by windows.h.
6418
6419 2002-04-27 Robert Collins <rbtcollins@hotmail.com>
6420
6421 * compress_gz.cc (compress_gz::error): EOF is not an error condition.
6422
6423 2002-04-27 Robert Collins <rbtcollins@hotmail.com>
6424
6425 * Makefile.am: Add libgetopt++ to the subdirs list.
6426 Search the libgetopt++ header directory.
6427 Link against libgetopt++.la.
6428 (setup_SOURCES): Remove GetOption.cc and getopt.c and Option.cc.
6429 (setup_LDADD): Explicitly include res.o.
6430 * Makefile.in: Regenerate.
6431 * aclocal.m4: Regenerate.
6432 * bootstrap.sh: Call libtoolize.
6433 * configure: Regenerate.
6434 * configure.in: Add libtool support and configure libgetopt++.
6435 * desktop.cc (NoShortcutsOption): Turn into a BoolOption.
6436 (DesktopSetupPage::OnInit): Use the simpler syntax.
6437 * desktop.h: Remove dependency on Option.h, and remove NoShortcustOption
6438 declaration.
6439 * main.cc: Include getopt++/GetOption.h.
6440 (main): Use simpler syntax.
6441 * cdefs.h: Remove.
6442 * getopt.h: Remove.
6443 * getopt.c: Remove.
6444 * GetOption.h: Remove.
6445 * GetOption.cc: Remove.
6446 * Option.h: Remove.
6447 * Option.cc: Remove.
6448
6449 2002-04-26 Robert Collins <rbtcollins@hotmail.com>
6450
6451 * Makefile.am: Add zlib and bz2lib to SUBDIRS.
6452
6453 2002-04-26 Robert Collins <rbtcollins@hotmail.com>
6454
6455 * aclocal.m4: New file, cached macros.
6456 * bootstrap.sh: New file, calls required autotools in appropriate
6457 order.
6458 * Makefile.am: New file, input Makefile for automake.
6459 * Makefile,in: Now a generated file - regenerate.
6460 * configure: Regenerate.
6461 * configure.in: Add automake support.
6462 * inilex.l: Change VERSION to PACKAGEVERSION to avoid a collision with
6463 automake's VERSION define.
6464 * iniparse.y: Ditto.
6465
6466 2002-04-26 Robert Collins <rbtcollins@hotmail.com>
6467
6468 * cdefs.h: New file, imported to allow getopt.c to build without
6469 cygwin headers.
6470 * getopt.h: New file, imported to allow building without cygwin headers.
6471 * getopt.c: Ditto.
6472 * bz2lib: New directory, contains copy of bz2lib.
6473 * cfgaux: New directory, contains autotool helper scripts.
6474 * Makefile,in: Adjust library and target definitions for building
6475 outside the sourceware tree.
6476 * compress_bz.h: Use new bz2lib header location.
6477 * mount.cc: Import key defines and enums to be independent of cygwin
6478 headers.
6479 * configure.in: Update to autoconf 2.53, and to be sourceware
6480 independent.
6481 * configure: Regenerate.
6482
6483 2002-04-12 Robert Collins <rbtcollins@hotmail.com>
6484
6485 * mklink2.cc (make_link_2): Tweak to work with current w32api
6486 headers.
6487
6488 2002-04-10 Pavel Tsekov <ptsekov@gmx.net>
6489
6490 * version.cc (canonicalize_version): Fix a call delete[]
6491 to delete the allocated address.
6492
6493 2002-03-29 Robert Collins <rbtcollins@hotmail.com>
6494
6495 * PickView.cc (PickView::set_headers): Set last_col correctly. Thanks
6496 to Ton van Overbeek for locating the bug area.
6497
6498 2003-03-27 Robert Collins <rbtcollins@hotmail.com>
6499
6500 * PickView.cc (PickView::insert_pkg): Be more generic with
6501 object use.
6502 (PickView::insert_category): Ditto.
6503 (PickView::~PickView): Create.
6504 * PickView.h (PickView::~PickView): Declare.
6505
6506 2003-03-27 Robert Collins <rbtcollins@hotmail.com>
6507
6508 * Makefile.in (OBJS): Add new commandline objects.
6509 * desktop.cc (NoShortCutsOption): New option code.
6510 (DesktopSetupPage::OnInit): Check whether to skip shortcuts.
6511 * desktop.h (NoShortCutsOption): New concrete command line option class.
6512 * main.cc (WinMain): Process command line options.
6513 * GetOption.h: New file, singleton command line class.
6514 * GetOption.cc: New file, implementation of the above.
6515 * Option.h : New file, abstract option for GetOption.
6516 * Option.cc: New file, implement constructor and destructor.
6517
6518 2002-03-26 Pavel Tsekov <ptsekov@gmx.net>
6519
6520 * mkdir.cc (mkdir_p): Stop processing if the path is exhausted.
6521
6522 2002-03-26 Ton van Overbeek <tvoverbe@cistron.nl>
6523
6524 * PickPackageLine.cc (PickPackageline::paint): Adjust clipping rectangle
6525 to textheight, so large fonts work.
6526
6527 2003-03-26 Robert Collins <rbtcollins@hotmail.com>
6528
6529 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Don't translate
6530 symlinks.
6531
6532 2003-03-26 Robert Collins <rbtcollins@hotmail.com>
6533
6534 * io_stream_cygfile.cc (cwd): New static for cwd storage.
6535 (io_stream_cygfile::normalise): New method.
6536 (io_stream_cygfile::io_stream_cygfile): Use it.
6537 (io_stream_cygfile::exists): Ditto.
6538 (io_stream_cygfile::remove): Ditto.
6539 (io_stream_cygfile::mklink): And again.
6540 (cygmkdir_p): Yes, again.
6541 (io_stream_cygfile::move): And once more.
6542 * io_stream_cygfile.h (io_stream_cygfile::normalise): Declare.
6543 (io_stream_cygfile::cwd): Ditto.
6544
6545 2003-03-26 Robert Collins <rbtcollins@hotmail.com>
6546
6547 * package_meta.cc (package_meta::~package_meta): Remove duplicate.
6548 (CategoryPackage::~CategoryPackage): Ditto. (Thanks to Ton van
6549 Overbeek for the report).
6550 * mklink2.cc: Moved from mklink2.c to avoid 'not a prototype error'.
6551 Make g++ compatible.
6552 * mklink2.c: Remove.
6553 * site.cc (site_list_type::init): Delete the correct memory addres.
6554 Thanks to Pavel Tsekov for tracking this down.
6555
6556 2002-03-20 Robert Collins <rbtcollins@hotmail.com>
6557
6558 * win32.h: Only define alloca if it's not already.
6559
6560 2002-03-20 Robert Collins <rbtcollins@hotmail.com>
6561
6562 * package_meta.h (packamgemeta::trustp): Make 'test' choice leave
6563 installed packages alone.
6564 * README: Update with latest requests.
6565 * Various: MTC fixes from setup200202 branch.
6566
6567 2002-03-19 Christopher Faylor <cgf@redhat.com>
6568
6569 * Makefile.in (setup_version.c): Add back magic which allows detection
6570 of setup.exe version number.
6571
6572 2002-03-17 Robert Collins <rbtcollins@hotmail.com>
6573
6574 * PickPackageLine.cc (PickPackageLine::paint): Fix incorrect clip region
6575 calculation on win9x systems.
6576
6577 2002-03-16 Robert Collins <rbtcollins@hotmail.com>
6578
6579 * install.cc (install_one_source): Write the correct length of a string
6580 to the lst file (Thanks to Pavel Tsekov for reporting the bug).
6581
6582 2002-03-15 Robert Collins <rbtcollins@hotmail.com>
6583
6584 * choose.cc (list_click): Always refresh the entire chooser, as our
6585 package state change mechanism is broken with the new improved list
6586 classes.
6587
6588 2002-03-15 Robert Collins <rbtcollins@hotmail.com>
6589
6590 * desktop.cc (make_passwd_group): Check for .lnk suffix on /etc/passwd
6591 and /etc/group.
6592
6593 2002-03-15 Robert Collins <rbtcollins@hotmail.com>
6594
6595 * PickPackageLine.cc (PickPackageLine::DrawCheck): New method factored
6596 out from paint().
6597 (PickPackageLine::paint): Use DrawCheck to draw the src tick box, and
6598 the new bin tickbox.
6599 (PickPackageLine::click): Handle the new bin tickbox.
6600 * PickPackageLine.h (PickPackageLine::DrawCheck): Declare this.
6601 * PickView.cc (pkg_headers): Add a Bin? column.
6602 (cat_headers): Ditto.
6603 (PickView::set_headers): Ditto.
6604 (PickView::init_headers): Ditto.
6605 * PickView.h (PickView): Ditto.
6606 * choose.cc (list_click): Use the new name for src_col to set the clip
6607 rectangle.
6608
6609 2002-02-24 Michael A Chase <mchase@ix.netcom.com>
6610
6611 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Fix up Robert's
6612 fixup.
6613
6614 2002-02-24 Michael A Chase <mchase@ix.netcom.com>
6615
6616 * desktop.cc (make_link): Add "file://" prefix to io_stream::mkpath_p()
6617 call.
6618 (make_passwd_group): Ditto.
6619 * localdir.cc (save_local_dir): Ditto.
6620 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Wrap long lines.
6621 Add "cygfile://" prefix to io_stream::open() calls.
6622
6623 2002-02-24 Robert Collins <rbtcollins@hotmail.com>
6624
6625 * log.cc (log_save): Fix creating /var/log.
6626 * packate_meta.cc (standard_dirs): Remove duplicate '/''s.
6627
6628 2002-02-24 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
6629
6630 * res.rc (STRINGTABLE): Add IDS_CYGWIN_SETUP and
6631 IDS_CYGWIN_SETUP_WITH_PROGRESS strings.
6632 * resource.h: Add IDS_CYGWIN_SETUP and
6633 IDS_CYGWIN_SETUP_WITH_PROGRESS IDs.
6634
6635 * splash.cc (OnInit): Qualify SetWindowText() call with global scope
6636 operator (::SetWindowText()).
6637
6638 * threebar.cc: Run indent.
6639 (cistring.h): Add include.
6640 (SetText1, SetText2, SetText3): Qualify SetWindowText() call with
6641 global scope operator.
6642 (SetBar2): Add logic for writing percent complete into window title.
6643
6644 * window.h: Run indent.
6645 (SetWindowText): New function.
6646 (String): Add forward declaration.
6647 * window.cc: Run indent.
6648 (String++.h): Add include.
6649 (SetWindowText): New function.
6650
6651 2002-02-24 Robert Collins <rbtcollins@hotmail.com>
6652
6653 * README: Update TODO list.
6654 * install.cc (install_one): Fix src package location.
6655 (do_install_thread): Fix creating directories.
6656
6657 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
6658
6659 * choose.cc: Include cygpackage.h for scan2 use.
6660 (set_existence): Ignore setup.ini mirrors when installing from cwd.
6661 (scan2): Process any valid file.
6662 Add cache entries when a file matching a setup.ini listed version is
6663 found.
6664 * filemanip.cc (parse_filename): Remove pkgtar - not used anywhere else.
6665 * filemanip.h (filemanip::pkgtar): Remove.
6666 * package_meta.cc (CategoryPackage::~CategoryPackage): New method.
6667 (packagemeta::~packagemeta): Move from package_meta.h
6668 Remove and delete all version and category information.
6669 * package_meta.h (CategoryPackage): Create a destructor.
6670 (packagemeta::~packagemeta): Move to .cc file.
6671
6672 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
6673
6674 * install.cc (install_one_source): Make NULL cached package names cause
6675 errors.
6676
6677 2002-02-18 Michael A Chase <mchase@ix.netcom.com>
6678
6679 * desktop.cc (make_passwd_group): Don't create passwd-grp.bat
6680 unnecessarily.
6681
6682 2002-02-18 Michael A Chase <mchase@ix.netcom.com>
6683
6684 * log.cc (log_save): Put "\n" at end of log lines instead of "'".
6685
6686 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
6687
6688 * mount.cc (create_mount): Avoid a const char*->char* warning.
6689 (read_mounts): Ditto.
6690
6691 2002-02-05 Jason Tishler <jason@tishler.net>
6692
6693 * download.cc (do_download_thread): Fix off-by-one error.
6694
6695 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
6696
6697 * configure.in (CXXFLAGS): Substitute at configure time, not runtime.
6698 * configure (CXXFLAGS): Regenerate.
6699 * Makefile.in (iniparse.o): Build via default rules - no errors now.
6700 * README: TODO list updates.
6701
6702 2002-02-19 Michael A Chase <mchase@ix.netcom.com>
6703
6704 * String++.cc (String::concat):: Remove.
6705 (String::vconcat):: Ditto.
6706 * String++.h (String::concat):: Remove.
6707 (String::vconcat):: Ditto.
6708 * archive_tar.cc: Don't include concat.h.
6709 * archive_tar_file.cc: Don't include concat.h.
6710 * compress_bz.cc (compress_bz::peek): Don't log unneeded messages.
6711 (compress_bz::seek): Ditto.
6712 (compress_bz::~compress_bz): Ditto.
6713 * compress_gz.cc (compress_gz::peek): Ditto.
6714 (compress_gz::error): Ditto.
6715 (compress_gz::~compress_gz): Ditto.
6716 * concat.cc (vconcat): Remove.
6717 (concat): Ditto.
6718 * concat.h (vconcat): Remove.
6719 (concat): Ditto.
6720 * desktop.cc (desktop_icon): Use new cygpath.
6721 (make_etc_profile): Ditto.
6722 (uexists): Ditto.
6723 (make_passwd_group): Ditto.
6724 (save_icon): Ditto.
6725 (check_desktop): Remove concat use.
6726 (check_start_menu): Ditto.
6727 * download.cc (download_one): Use new mkpath_p correctly.
6728 Use LOG_PLAIN.
6729 * fromcwd.cc: Don't include concat.h.
6730 * geturl.cc (get_url_to_membuf): Use String log() call.
6731 (get_url_to_file): Ditto.
6732 * install.cc: Don't include concat.h.
6733 (uninstall_one): Use LOG_PLAIN.
6734 (replace_one): Ditto.
6735 (install_one_source): Ditto.
6736 (install_one): More char to String conversion.
6737 (do_install_thread): Use new cygpath.
6738 Use new create_mount.
6739 * io_stream.cc (io_stream::move): Use new log().
6740 * io_stream_cygfile (io_stream_cygfile::io_stream_cygfile): Use new
6741 cygpath.
6742 (io_stream_cygfile::exists): Ditto.
6743 (io_stream_cygfile::remove): Ditto.
6744 (io_stream_cygfile::mklink): Ditto.
6745 (io_stream_cygfile::write): Ditto.
6746 (cygmkdir_p): Ditto.
6747 (io_stream_cygfile::move): Ditto.
6748 * io_stream_file.cc: Don't include log.h.
6749 (io_stream_file::write): Don't log unneeded messages.
6750 * localdir.cc: Don't include concat.h.
6751 (LocalDirPage::OnNext): Use LOG_PLAIN.
6752 * log.cc: Don't include log.h.
6753 (exit_setup): Use new cygpath.
6754 * log.h (log_level): Add new level LOG_PLAIN.
6755 * main.cc (WinMain): Use new log().
6756 * mount.cc (SLASH_P): New macro from concat.h.
6757 (cygpath): Make String version globally visible.
6758 Remove varargs version.
6759 * mount,h: Ditto.
6760 * msg.cc (mbox): Use LOG_PLAIN.
6761 * net.cc (NetPage::OnNext): Ditto.
6762 * nio-ftp.cc (ftp_line): Use new log().
6763 * nio-http.cc: Don't include log.h.
6764 (retry_get): Use alternative url variable.
6765 * package_db.cc: Don't include concat.h.
6766 (packagedb::flush): Don't use concat.
6767 * package_meta.cc: Don't include concat.h.
6768 (packagemeta::uninstall): Use new cygpath.
6769 * postinstall.cc (do_postinstall): Ditto.
6770 * root.cc (RootPage::OnNext): Use LOG_PLAIN.
6771 * script.cc: Don't include concat.h.
6772 (init_run_script): Use new cygpath.
6773 (run_script): More char * to String conversion.
6774 (try_run_script): Ditto.
6775 * site.cc: Don't include concat.h.
6776 (SitePage::OnNext): Use LOG_PLAIN.
6777 (SitePage::OnMessageCmd): Use new log().
6778 * source.cc (SourcePage::OnDeactivate): Use LOG_PLAIN.
6779
6780 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
6781
6782 * Makefile.in (OBJS): Add new object.
6783 * PickCategoryLine.cc (PickCategoryLine::paint): Print a "+" before the
6784 name.
6785 * PickCategoryLine.h (PickCategoryLine::bucket): Use the String class.
6786 * PickLine.h (Pickline::key): Change to a String to help plug leaks.
6787 (PickLine::Pickline): Accept a String for the key.
6788 * PickPackageLine.cc (PickPackageLine::paint): Convert all char use to
6789 Strings.
6790 * PickPackageLine.h (PickPackageLine::PickPackageLine): The key is
6791 automatically initialised now.
6792 * PickView.cc (PickView::note_width): Convert all char * use to Strings.
6793 (PickView::init_header): Move category length checking out of the inner
6794 loop for efficiency.
6795 Convert all char use to Strings.
6796 * PickView.h: Include the String++ header.
6797 (PickView::note_width): Update the prototype.
6798 * String++.cc: New file, implements a reference counting string class.
6799 * String++.h: New file, declares a reference counting string class.
6800 * archive.cc: Include String++ instead of concat.
6801 (archive::extract_file): Convert char * usage to Strings.
6802 * archive.h: Inlude the String++ header.
6803 (archive::extract_file): Update prototype.
6804 (archive::next_file_name): Convert to a String.
6805 (archive::linktarget): Ditto.
6806 * archive_tar.cc (archive_tar::next_file_name): Convert to String usage.
6807 (archive_tar::linktarget): Ditto.
6808 * arhive_tar.h: Update the copyright.
6809 Explicitly include the relevant headers.
6810 (tar_map_result_type): Convert to String usage.
6811 (archive_tar::next_file_name): Update prototype.
6812 (archive_tar::linktarget): Ditto.
6813 * category.cc (Category::Category): Update initialisers.
6814 Convert to String usage.
6815 (Categorycmp): Update to String usage.
6816 * category.h: Include the String++ header.
6817 (Category::Category): Update to String usage.
6818 (Category::name): Ditto.
6819 (Category::key): Ditto.
6820 * choose.cc: Remove concat.h, it's not needed.
6821 (scan2): Update to String usage.
6822 (do_choose): Ditto.
6823 * cygpackage.cc: Update includes for use of String class.
6824 (cygpackage::cygpackage): Update for String usage.
6825 (cygpackage::set_canonical_version): Ditto.
6826 (cygpackage::destroy): Ditto.
6827 (cygpackage::getfirstfile): Ditto.
6828 (cygpackage::getnextfile): Ditto.
6829 (cygpackage::Name): Ditto.
6830 (cygpackage::Vendor_version): Ditto.
6831 (cygpackage::Package_version): Ditto.
6832 (cygpackage::Canonical_version): Ditto.
6833 (cygpackage::set_sdesc): Ditto.
6834 (cygpackage::set_ldesc): Ditto.
6835 * cygpackage.h: Include String++.h for parsing this file.
6836 (cygpackage::cygpackage): Update for String usage.
6837 (cygpackage::set_canonical_version): Ditto.
6838 (cygpackage::destroy): Ditto.
6839 (cygpackage::getfirstfile): Ditto.
6840 (cygpackage::getnextfile): Ditto.
6841 (cygpackage::Name): Ditto.
6842 (cygpackage::Vendor_version): Ditto.
6843 (cygpackage::Package_version): Ditto.
6844 (cygpackage::Canonical_version): Ditto.
6845 (cygpackage::set_sdesc): Ditto.
6846 (cygpackage::set_ldesc): Ditto.
6847 (cygpackage::name): Ditto.
6848 (cygpackage::vendor): Ditto.
6849 (cygpackage::packagev): Ditto.
6850 (cygpackage::canonical): Ditto.
6851 (cygpackage::fn): Ditto.
6852 (cygpackage::sdesc): Ditto.
6853 (cygpackage::ldesc): Ditto.
6854 * desktop.cc: Update includes for use of String class.
6855 (batname): Update for String usage.
6856 (iconname): Ditto.
6857 (make_link): Ditto.
6858 (start)menu): Ditto.
6859 (desktop_icon): Ditto.
6860 (make_cygwin_bat): Ditto.
6861 (make_etc_profile): Ditto.
6862 (uexists): Ditto.
6863 (make_passwd_group): Ditto.
6864 (save_icon): Ditto.
6865 (check_desktop): Ditto.
6866 (check_startmenu): Ditto.
6867 * dialog.cc (eget): Update for String usage.
6868 (egetString): New function.
6869 (eset): New variant for Strings.
6870 * dialog.h: Include String++.h for parsing this file.
6871 (egetString): New function.
6872 (eset): New variant for Strings.
6873 * diskfull.cc (diskfull): Update for String usage.
6874 * diskfull.h: Include String++.h for parsing this file.
6875 (diskfull): Update for String usage.
6876 * download.cc: Update includes for use of String class.
6877 (check_for_cached): Update for String usage.
6878 (download_one): Ditto.
6879 * filemanip.cc (get_file_size): Ditto.
6880 (base): Ditto.
6881 (parse_filename): Ditto.
6882 (backslash): Ditto.
6883 * filemanip.h: Include String++.h for parsing this file.
6884 (fileparse): Update for String usage.
6885 (base): Ditto.
6886 (parse_filename): Ditto.
6887 Don't consider '_' to be a separator.
6888 (backslash): Ditto.
6889 * find.cc: Update includes for use of String class.
6890 (find_sub): Make more flexible.
6891 (find): Update for String usage.
6892 * find.h (find): Use Strings.
6893 * fromcwd.cc (found_file): Update for String usage.
6894 * geturl.cc: Ditto.
6895 (init_dialog): Ditto.
6896 (get_url_to_membuf): Ditto.
6897 (get_url_to_string): Ditto.
6898 (get_url_to_file): Ditto.
6899 * geturl.h: Ditto.
6900 (get_url_to_membuf): Ditto.
6901 (get_url_to_string): Ditto.
6902 (get_url_to_file): Ditto.
6903 * hash.h: Ditto.
6904 (add_subdirs): Ditto.
6905 * ini.cc: Update includes for String usage.
6906 (find_routine): Update for String usage.
6907 (do_remote_ini): Ditto.
6908 (do_ini_thread): Ditto.
6909 * ini.h (ini_init): Ditto.
6910 * inilex.l: Update includes for String usage.
6911 (ini_init): Update for String usage.
6912 * iniparse.y: Ditto.
6913 (add_correct_version): Ditto.
6914 * install.cc: Update includes for String usage.
6915 (install_one_source): Update for String usage.
6916 (uninstall_one): Ditto.
6917 (replace_one): Ditto.
6918 (install_one_source): Ditto.
6919 (do_install_thread): Ditto.
6920 * io_stream.cc: Update includes for String usage.
6921 (io_stream::open): Update for String usage.
6922 (io_stream::mkpath_p): Ditto.
6923 (io_stream::remove): Ditto.
6924 (io_stream::mklink): Ditto.
6925 (io_stream::move_copy): Ditto.
6926 (io_stream::move): Ditto.
6927 (io_stream::exists): Ditto.
6928 * io_stream.h: Update includes to allow correct parsing.
6929 (io_stream::open): Update for String usage.
6930 (io_stream::mkpath_p): Ditto.
6931 (io_stream::remove): Ditto.
6932 (io_stream::mklink): Ditto.
6933 (io_stream::move_copy): Ditto.
6934 (io_stream::move): Ditto.
6935 (io_stream::exists): Ditto.
6936 * io_stream_cygfile.cc: Update includes for String usage.
6937 (get_root_dir_now): Update for String usage.
6938 (io_stream_cygfile::io_stream_cygfile): Ditto.
6939 (io_stream_cygfile::~io_stream_cygfile): Ditto.
6940 (io_stream_cygfile::exists): Ditto.
6941 (io_stream_cygfile::remove): Ditto.
6942 (io_stream_cygfile::mklink): Ditto.
6943 (cygmkdir_p): Ditto.
6944 (io_stream_cygfile::set_mtime): Ditto.
6945 (io_stream_cygfile::move): Ditto.
6946 (io_stream_cygfile::get_size): Ditto.
6947 * io_stream_cygfile.h: Update includes for String usage.
6948 (io_stream_cygfile::io_stream_cygfile): Update for String usage.
6949 (io_stream_cygfile::~io_stream_cygfile): Ditto.
6950 (io_stream_cygfile::exists): Ditto.
6951 (io_stream_cygfile::remove): Ditto.
6952 (io_stream_cygfile::mklink): Ditto.
6953 (cygmkdir_p): Ditto.
6954 (io_stream_cygfile::set_mtime): Ditto.
6955 (io_stream_cygfile::move): Ditto.
6956 (io_stream_cygfile::get_size): Ditto.
6957 (io_stream_cygfile::fname): Ditto.
6958 (io_stream_cygfile::lmode): Ditto.
6959 * io_stream_file.cc: Update includes for String usage.
6960 (io_stream_file::io_stream_file): Update for String usage.
6961 (io_stream_file::~io_stream_file): Ditto.
6962 (io_stream_file::exists): Ditto.
6963 (io_stream_file::remove): Ditto.
6964 (io_stream_file::mklink): Ditto.
6965 (io_stream_file::set_mtime): Ditto.
6966 (io_stream_file::move): Ditto.
6967 (io_stream_file::get_size): Ditto.
6968 * io_stream_file.h: Update includes for String usage.
6969 * io_stream_file.cc: Update includes for String usage.
6970 (io_stream_file::io_stream_file): Update for String usage.
6971 (io_stream_file::~io_stream_file): Ditto.
6972 (io_stream_file::exists): Ditto.
6973 (io_stream_file::remove): Ditto.
6974 (io_stream_file::mklink): Ditto.
6975 (io_stream_file::set_mtime): Ditto.
6976 (io_stream_file::move): Ditto.
6977 (io_stream_file::get_size): Ditto.
6978 (io_stream_file::fname): Ditto.
6979 (io_stream_file::lmode): Ditto.
6980 * localdir.cc: Update includes for String usage.
6981 (save_local_dir): Update for String usage.
6982 (check_if_enable_next): Ditto.
6983 (load_dialog): Ditto.
6984 (browse_cb): Ditto.
6985 (LocalDirPage::OnInit): Ditto.
6986 (LocalDirPage::OnNext): Ditto.
6987 * log.cc: Update includes for String usage.
6988 (struct LogEnt): Update for String usage.
6989 (log): Ditto.
6990 (log_save): Ditto.
6991 (exit_setup): Ditto.
6992 * log.h: Update includes for String usage.
6993 (log_level): Update for String usage.
6994 (log): Ditto.
6995 (log_save): Ditto.
6996 * main.cc (WinMain): Update for String usage.
6997 * mklink2.c (make_link_2): Update for String usage.
6998 * mklink2.h (make_link_2): Update for String usage.
6999 * mount.cc: Update includes for String usage.
7000 (mount_table): Update for String usage.
7001 (find2): Ditto.
7002 (create_mount): Ditto.
7003 (remove1): Ditto.
7004 (remove_mount): Ditto.
7005 (read_mounts): Ditto.
7006 (set_root_dir): Ditto.
7007 (get_root_dir): Ditto.
7008 (path_prefix_p): Ditto.
7009 (cygpath): Ditto.
7010 * mount.h: Update includes for String usage.
7011 (create_mount): Update for String usage.
7012 (remove_mount): Ditto.
7013 (cygpath): Ditto.
7014 (set_root_dir): Ditto.
7015 (get_root_dir): Ditto.
7016 * msg.cc (mbox): Ditto.
7017 * net.cc (NetPage::OnNext): Ditto.
7018 * package_db.cc (packagedb::flush): Ditto.
7019 (packagedb::packages): Ditto.
7020 (packagedb::categories): Ditto.
7021 * package_db.h: Update includes for String usage.
7022 (packagedb::packages): Update for String usage.
7023 (packagedb::categories): Ditto.
7024 * package_meta.cc: Update includes for String usage.
7025 (hash::add_subdirs): Update for String usage.
7026 (packagemeta::uninstall): Ditto.
7027 (packagemeta::SDesc): Ditto.
7028 (packagemeta::action_caption): Ditto.
7029 * package_meta.h: Update includes for String usage.
7030 (packagemeta::packagemeta): Update for String usage.
7031 (packagemeta::~packagemeta): Ditto.
7032 (packagemeta::uninstall): Ditto.
7033 (packagemeta::SDesc): Ditto.
7034 (packagemeta::action_caption): Ditto.
7035 (package_source.cc site::site): Ditto.
7036 (packagesource::set_canonical): Ditto.
7037 (packagesource::set_cached): Ditto.
7038 * package_source.h: Update includes for String usage.
7039 (site::site): Update for String usage.
7040 (packagesource::set_canonical): Ditto.
7041 (packagesource::set_cached): Ditto.
7042 (packagesource::packagesource): Ditto.
7043 (packagesource::sites): Ditto.
7044 (packagesource::cached): Ditto.
7045 * package_version.h: Update includes for String usage.
7046 (Dependency): Update for String usage.
7047 (packageversion): Ditto.
7048 * postinstall.cc: Update includes for String usage.
7049 (do_postinstall): Update for String usage.
7050 * res.rc (IDD_LOCAL_DIR): Fix typo again!
7051 * rfc1738.cc (rfc1738_escape_part): Update for String usage.
7052 * rfc1738.h: Update includes for String usage.
7053 (rfc1738_escape_part): Update for String usage.
7054 * root.cc: Update includes for String usage.
7055 (check_if_enable_next): Update for String usage.
7056 (save_dialog): Ditto.
7057 (browse_cb): Ditto.
7058 (directory_is_absolute): Ditto.
7059 (directory_is_rootdir): Ditto.
7060 (directory_has_spaces): Ditto.
7061 (RootPage::OnInit): Ditto.
7062 (RootPage::OnNext): Ditto.
7063 * script.cc: Update includes for String usage.
7064 (init_run_script): Update for String usage.
7065 (run): Ditto.
7066 (run_script): Ditto.
7067 (try_run_script): Ditto.
7068 * script.h: Update includes for String usage.
7069 (run_script): Update for String usage.
7070 (try_run_script): Ditto.
7071 * site.cc site_list): Ditto.
7072 (all_site_list): Ditto.
7073 (other_url): Eliminate.
7074 (site_list_type::init): Update for String usage.
7075 (site_list_type::site_list_type): Ditto.
7076 (get_site_list): Ditto.
7077 (get_saved_sites): Ditto.
7078 (do_download_site_info_thread): Ditto.
7079 (SitePage::OnNext): Ditto.
7080 (SitePage::OnActivate): Ditto.
7081 (SitePage::PopulateListBox): Ditto.
7082 (SitePage::OnMessageCmd): Handle empty url's.
7083 * site.h: Update includes for String usage.
7084 (site_list_type::site_list_type): Update for String usage.
7085 (site_list_type::init): Ditto.
7086 (site_list_type::~site_list_type): Ditto.
7087 (site_list_type::url): Ditto.
7088 (site_list_type::displayed_url): Ditto.
7089 (site_list_type::key): Ditto.
7090 * source.cc (SourcePage::OnDeactivate): Ditto.
7091 * state.h: Update includes for String usage.
7092 (local_dir): Update for String usage.
7093 (trust_level): Remove.
7094 * version.cc: Update includes for String usage.
7095 (canonicalize_version): Update for String usage.
7096 * version.h: Update includes for String usage.
7097 (canonicalize_version): Update for String usage.
7098
7099 2002-02-15 Christopher Faylor <cgf@redhat.com>
7100
7101 * filemanip.c (parse_filename): Revert previous change.
7102
7103 2002-02-14 Christopher Faylor <cgf@redhat.com>
7104
7105 * filemanip.c (parse_filename): Don't treat '_' as a version number
7106 introducer.
7107
7108 2002-01-29 Christopher Faylor <cgf@redhat.com>
7109
7110 * configure: Regenerate.
7111
7112 2002-01-27 Robert Collins <rbtcollins@hotmail.com>
7113
7114 * res.rc (IDD_LOCAL_DIR): Fix typo reported by Rene
7115 <Hoeck@extern.lrz-muenchen.de>
7116
7117 2002-01-27 Robert Collins <rbtcollins@hotmail.com>
7118
7119 * README: Update Todo's.
7120 * list.h: Run indent.
7121 (list): New methods checksize and insert to reduce code duplication.
7122 (list::registerbykey): Use them.
7123 (list::registerbyobject): Ditto.
7124 (list::removebyindex): Copy each object individually - safe for non
7125 trivial objects.
7126 (list::checksize): Implement.
7127 (list::insert): Implement.
7128
7129 2002-01-27 Robert Collins <rbtcollins@hotmail.com>
7130
7131 * Makefile.in: Remove the dlmalloc object by default.
7132 * install.cc (do_install_thread): Remove the mallinfo call for 'working
7133 around' the crashing issue.
7134 * package_db.h: Include <string.h> - it's needed to parse this.
7135 * package_source.cc (site::site): Move here from the header file.
7136 * package_source.h (site): Stop the constructor being inlinable.
7137
7138 2002-01-26 Robert Collins <rbtcollins@hotmail.com>
7139
7140 * filemanip.cc (find_tar_ext): Add a descriptive comment.
7141
7142 2002-01-25 Michael A Chase <mchase@ix.netcom.com>
7143
7144 * filemanip.cc (find_tar_ext): Clean up tests for .tar.gz and .tar.
7145 * fromcwd.cc (do_fromcwd): Expand FIXME comment in source file check.
7146 * install.cc (install_one_source): Add space between words in log()
7147 call.
7148
7149 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
7150
7151 * log.cc (exit_setup): When saving to the download dir, explicity
7152 specify the path.
7153
7154 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
7155
7156 * archive.cc (extract_file): Separate out the prefix and the URL
7157 scheme.
7158 * archive.h (archive::extract_file): Ditto.
7159 * install.cc (install_one_source): Ditto. Use the new
7160 archive::extract_file syntax.
7161 (replace_one): Use the new syntax.
7162 (io_stream.cc): Add some log info for links.
7163
7164 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
7165
7166 * PickCategoryLine.cc (PickCategoryLine::actiontext): Remove.
7167 (PickCategoryLine::paint): Use the new action method.
7168 (PickCategoryLine::click): Set the action for all children.
7169 (PickCategoryLine::set_action): New method.
7170 * PickCategoryLine.h (PickCategoryLine::-actions): Remove.
7171 (PickCategoryLine::current_default): Use packagemeta _actions class.
7172 * PickLine.h (PickLine::set_action): New abstract method that requires
7173 including package_meta.h.
7174 * PickPackageLine.cc (PickPackageLine::set_action): New method.
7175 * PickPackageLine.h (PickPackageLine::set_action): Declare this.
7176 * list.h (getbykey): A const correctness fix.
7177 * package_meta.cc: Run indent.
7178 (packagemeta::Default_action): New const.
7179 (packagemeta::Install_action): Ditto.
7180 (packagemeta::Reinstall_action): Ditto.
7181 (packagemeta::Uninstall_action): Ditto.
7182 (packagemeta::_actions::caption): New method.
7183 (packagemeta::_actions::operator++): Ditto.
7184 (packagemeta::set_action): New overload.
7185 * package_meta.h (packagemeta::_actions): New class.
7186 (packagemeta::set_action): Declare this.
7187
7188 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
7189
7190 * Makefile.in (OBJS): Remove supp.o - it appears accidental.
7191 * choose.cc: Don't define alloca anymore, it's done in win32.h
7192
7193 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
7194
7195 * PickPackageLine.cc: New file.
7196 * PickPackageLine.h: New file.
7197 * PickLine.cc: New file.
7198 * PickLine.h: New file.
7199 * PickCategoryLine.cc: New file.
7200 * PickCategoryLine.h: New file.
7201 * PickView.cc: New file.
7202 * PickView.h: New file.
7203 * Makefile.in: Add new objects to setup.exe.
7204 Backout -fno-exceptions option.
7205 * choose.cc: Include PickView.h.
7206 Remove view related defines and static variables.
7207 (_pkg_headers): Moved to PickView.cc.
7208 (_cat_headers): Ditto.
7209 (view::views::Unknown): Ditto.
7210 (view::views::PackageFull):
7211 (view::views::Package):
7212 (view::views::Category):
7213 (pkgtrustp): Moved to package_meta.cc.
7214 (add_required): Moved to package_meta.cc.
7215 (pick_category_line::empty): Moved to PickCategoryLine.cc
7216 (paint): Adjust for moved static variables.
7217 (view::scroll): Moved to PickView.cc.
7218 (list_vscroll): Adjust for moved static variables.
7219 (list_hscroll): Ditto.
7220 (list_click): Ditto.
7221 (note_width): Moved to PickView.cc.
7222 (view::view): Ditto.
7223 (view::set_view_mode): Ditto.
7224 (view::mode_caption): Ditto.
7225 (view::views::caption): Ditto.
7226 (view::set_headers): Ditto.
7227 (DoInsertItem): Ditto.
7228 (view::init_headers): Ditto.
7229 (view::insert_pkg): Ditto.
7230 (view::insert_category): Ditto.
7231 (view::clear_view): Ditto.
7232 (view::views::operator++): Ditto.
7233 (view::click): Ditto.
7234 (default_trust): Adjust for moved statics.
7235 (pick_pkg_line::paint): Moved to PickPackageLine.cc.
7236 (pick_pkg_line::click): Ditto.
7237 (pick_category_line::actiontext): Moved to PickCategoryLine.cc
7238 (pick_category_line::paint): Ditto.
7239 (pick_category_line::click): Ditto.
7240 (set_view_mode): Adjust for moved statics.
7241 (create_listview): Ditto.
7242 * choose.h: Remove Category and packagemeta forward defines -
7243 not needed.
7244 Don't include unneeded headers list and package_meta.
7245 (_header): Move to PickView.h.
7246 (pick_line): Move to PickLine.h.
7247 (pick_pkg_line): Move to PickPackageLine.h.
7248 (pick_category_line): Move to PickCategoryLine.h.
7249 (view): Move to PickView.h.
7250 * ini.h (trusts): Move to package_meta.h.
7251 * package_meta.h (trusts): New enum.
7252 (packagemeta::set_requirements): New helper method.
7253 (packagemeta::trustp): Ditto.
7254
7255 2002-01-21 Christopher Faylor <cgf@redhat.com>
7256
7257 * choose.h (view): Move forward declaration of views into public area
7258 or g++ v3 will complain.
7259
7260 2002-01-21 Christopher Faylor <cgf@redhat.com>
7261
7262 * Makefile.in (CXXFLAGS): Add -fno-exceptions.
7263 * win32.h (alloca): Define as __builtin_alloca.
7264 * io_stream_memory.cc: Add include file.
7265
7266 2002-01-21 Robert Collins <rbtcollins@hotmail.com>
7267
7268 * archive_tar.cc (archive_tar::~archive_tar): Mark the stream as
7269 destroyed.
7270 * archive_tar_file.cc (archive_tar_file::~archive_tar_file): Ditto.
7271 * compress.cc (compress::~compress): Be less verbose.
7272 * compress_bz.cc (compress_bz::~compress_bz): Ditto.
7273 Mark the stream as destroyed.
7274 * compress_gz.cc (compress_gz::~compress_gz): Mark the stream as
7275 destroyed.
7276 * io_stream.cc (io_stream::~io_stream): Only warn when the stream is not
7277 marked as destroyed.
7278 * io_stream_cygfile.cc (io_stream_cygfile::~io_stream_cygfile): Mark the
7279 stream as destroyed.
7280 * io_stream_file.cc (io_stream_file::~io_stream_file): Ditto.
7281 * io_stream_memory.cc (io_stream_memory::~io_stream_memory): Ditto.
7282
7283 2002-01-21 Robert Collins <rbtcollins@hotmail.com>
7284
7285 * Makefile.in (CFLAGS): Allow customisable malloc debug flags.
7286 (OBJS): Link in malloc objects.
7287 * category.cc (category): Use new char, not strdup.
7288 * choose.cc (pick_pkg_line::paint): Allow for the regionsize to shrink.
7289 (do_choose): Use new char, not malloc.
7290 * concat.cc (vconcat): Ditto.
7291 * cygpackage.cc (cygpackage): Use new char, not strdup.
7292 (set_canonical_version): Ditto.
7293 (cygpackage::destroy): Use delete[], not free.
7294 * desktop.cc (uexists): Ditto.
7295 * dialog.cc (egest): Use new char, not strdup.
7296 * dlmalloc.c: New file - Doug Lea's malloc 2.7.0
7297 * hash.cc (hash::hash): Use delete instead of free.
7298 (hash::add): Use new char, not strdup.
7299 * ini.cc (do_remote_ini): Use delete[] not free.
7300 * inilex.l: Use new char, not strdup.
7301 (ini_init): Ditto.
7302 * iniparse.y: Ditto.
7303 Use a local package_db rather than a static one.
7304 * install.cc (struct mallinfo): Workaround an apparent dlmalloc bug.
7305 (do_install_thread): Call mallinfo to force a consistency check. Appears
7306 to fix a 'inuse' error in -DDEBUG builds.
7307 Use delete[] for strings.
7308 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): Use new
7309 char, not strdup.
7310 (io_stream_cygfile::~io_stream_cygfile): Use delete[], not free.
7311 (io_stream_cygfile::remove): Use new char, not strdup.
7312 * io_stream_file.cc (io_stream_file::io_stream_file): Use new char, not
7313 strdup.
7314 (io_stream_file::io_stream_file): Use delete[], not free.
7315 (io_stream_file::remove): Use new char, not strdup.
7316 * io_stream_memory.cc (memblock::~memblock): Use delete[], not free.
7317 * io_stream_memory.h (memblock): Use new char, not malloc.
7318 * localdir.cc (LocalDirPage::OnInit): Use new char, not strdup.
7319 * main.cc (WinMain): Use new char, not strdup.
7320 * mount.cc (find2): Use new char, not malloc.
7321 (read_mounts): Ditto.
7322 (cygpath): Use new char, not strdup.
7323 * netio.cc (NetIO::~NetIO): Use delete[], not free.
7324 (NetIO::set_url): Use new char, not strdup.
7325 (NetIO::get_ftp_auth): Use delete[], not free.
7326 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Ditto.
7327 Use new char instead of strdup.
7328 * nio-http.cc (base64_encode): Use new char, not malloc.
7329 * package_meta.cc (hash::add_subdirs): Use new char instead of strdup.
7330 * package_source.h (~ packagesource): Use delete[] instead of delete.
7331 * port.h (strdup): Deprecate the use of strdup.
7332 * rfc1738.cc (rfc1738_do_escape): Use new char, not calloc.
7333 * script.cc (init_run_script): Us delete[], not free.
7334 (run_script): Ditto.
7335 * simpsock.cc (SimpleSocket::fill): Use new char, not malloc.
7336 (SimpleSocket::invalidate): Use delete[], not free.
7337 * site.cc (site_list_type::init): Use new char instead of strdup.
7338 * site.h (~site_list_type): Use delete[], not free.
7339
7340 2002-01-20 Robert Collins <rbtcollins@hotmail.com>
7341
7342 * Makefile.in (OBJS): Add win32.o - win32 support functions.
7343 * README: Update todos.
7344 * archive.cc (extract_file): Support a suffix for appending to extracted
7345 files.
7346 * archive.h: Ditto.
7347 * choose.cc (set_view_mode): Use the new view::views class.
7348 (view::views::Unknown): New static for defaulting view::views variables.
7349 (view::views::PackageFull): New static for the current view.
7350 (view::views::Package): Ditto.
7351 (view::views::Category): Ditto.
7352 (topbucket::paint): Remove.
7353 (topbucket::empty): Rename to pick_category_line::empty.
7354 (topbucket::~topbucket): Remove.
7355 (paint): Use the new view::views class.
7356 Don't paint 'all' as a category when showing package categoies.
7357 (pick_category_line::actiontext): New method.
7358 (pick_category_line::paint): Make showing the category optional, and
7359 show the 'category action'.
7360 (pick_category_line::click): Make showing the category optional, and
7361 differentiate between the name being clicked, and the action
7362 description.
7363 (view::view): Use the new view::views class.
7364 (view::set_view_mode): Ditto.
7365 (view::mode_caption): Ditto.
7366 (view::views::caption): New method.
7367 (view::set_headers): Use the new view::views class.
7368 (view::clear_view): Ditto.
7369 (viewsplusplus): Replaced by
7370 (view::views::operator++): New operator.
7371 (set_view_mode): Use the new view::views class.
7372 (create_listview): Ditto.
7373 (dialog_cmd): Ditto.
7374 * choose.h (actions): Remove.
7375 (views): Remove.
7376 (pick_line): Add a new convenience constructor.
7377 (top_bucket): Remove.
7378 (pick_category_line): Reparent under pick_line, and adsorb top_bucket.
7379 (view::views): New class.
7380 * ini.h: Don't include choose.h
7381 (is_download_action): Remove.
7382 (is_upgrade_action): Remove.
7383 (is_uninstall_action): Remove.
7384 (is_full_action): Remove.
7385 * install.cc (num_replacements): New static.
7386 (rebootneeded): Ditto.
7387 (replace_one): Handle upgrades separate from removal or new installs.
7388 (install_one_source): Handle in use files.
7389 (install_one): Don't repeat upgrades.
7390 (do_install_thread): Initialize new statics.
7391 Order actions as uninstall, replace, install.
7392 Warn about rebooting if needed.
7393 * res.rc (IDS_REBOOT_REQUIRED): New string.
7394 * resource.h (IDS_REBOOT_REQUIRED): Give value.
7395 * win32.h: Declare class Win32, and update copyright and intent message.
7396 * win32.cc: New file.
7397
7398 2002-01-15 Corinna Vinschen <corinna@vinschen.de>
7399
7400 * io_stream.cc (io_stream::gets): Eliminate trailing new line chars.
7401 * package_meta.cc (packagemeta::uninstall): Check for additional
7402 Windows shortcut. Unset R/O file attribute before trying to delete
7403 file.
7404
7405 2002-01-09 Robert Collins <rbtcollins@hotmail.com>
7406
7407 * choose.cc (pkgtrustp): Fall back to installed if a package is not
7408 present in the current trust level. For prev, fall back via curr.
7409 (set_existence): Allow sources with no sites, but cached files to be
7410 kept.
7411 (pick_category_line::paint): Start drawing clickable categories.
7412 * fromcwd.cc (found_file): Reinstate local file scanning.
7413
7414 2002-01-07 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
7415
7416 * fromcwd.cc: Run indent.
7417 (do_fromcwd): Reverse sense of comment. Set next_dialog
7418 to IDD_CHOOSER instead of IDD_CHOOSE.
7419 * ini.cc (find_routine): Remove "/" from "/setup.ini".
7420
7421 2001-01-07 Robert Collins <rbtcollins@hotmail.com>
7422
7423 * category.cc (Categorycmp): Add a const safe version.
7424 * category.h (Categorycmp): Add a const safe version.
7425 (Category): Add operator ==.
7426 * choose.cc (fill_missing_category): Add every package to "All".
7427 (pick_category_line::paint): Add support for hidden labels, and a tree
7428 depth.
7429 (pick_category_line::click): Ditto.
7430 (view::view): Pass in a top level category to use.
7431 (view::insert_pkg): Special case - skip category "All".
7432 (view::insert_category): Ditto.
7433 (view::clear_view): Set the contents label state.
7434 (create_listview): Pass in a top level category to view().
7435 * choose.h (topbucket): Make bucket available to derived classes.
7436 (pick_category_line): Add support for hidden labels, and a tree depth.
7437 Remove our second copy of bucket.
7438 (view): Pass in a top level category to the constructor.
7439 Use pick_category_line to allow three level display.
7440
7441 2001-01-06 Robert Collins <rbtcollins@hotmail.com>
7442
7443 * cygpackage.h (cygpackage): Make set_[s|l]desc virtual.
7444 * iniparse.y (add_correct_version): Copy descriptions across.
7445 * package_meta.cc (SDesc): Iterate through versions, return the first
7446 with a description.
7447 * package_version.h (packageversion): Add new virtuals set_[l|s]desc.
7448
7449 2001-01-04 Robert Collins <rbtcollins@hotmail.com>
7450
7451 * script.cc (run_script): Change cygpath:// to cygfile://.
7452 * install.cc (do_install_thread): Fix off-by-one errors.
7453
7454 2001-01-04 Robert Collins <rbtcollins@hotmail.com>
7455
7456 * package_db.cc (packagedb::flush): Fix an off-by-one error.
7457
7458 2002-01-04 Jan Nieuwenhuizen <janneke@gnu.org>
7459
7460 * Makefile.in (realclean): more clean.
7461 (OBJS): Add script.o.
7462 * postinstall.cc (run_script_in_etc_postinstall): New function.
7463 (do_postinstall): Split off new funtion init_run_script ().
7464 (init_run_script):
7465 (run):
7466 (run_script): Move to script.cc. Replace some deprecated remove
7467 and move calls.
7468 * script.h:
7469 * script.cc: New file.
7470 * Forward port cygwin-20010707.jcn3.patch.
7471 * package_meta.cc (uninstall): Run pre- and postremove scripts.
7472 * install.cc: Typo fix.
7473 (do_install): Run script initialisation.
7474
7475 2001-01-04 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
7476
7477 * cistring.cc: Run d2u.
7478 * cistring.h: Run d2u.
7479
7480 * desktop.cc (etc_profile): Remove "test -f ./.bashrc && . ./.bashrc"
7481 from the generated /etc/profile. Bash will source this file
7482 automatically, and having this here merely results in .bashrc being
7483 executed twice. Run d2u.
7484 * desktop.h: Run d2u.
7485
7486 * propsheet.cc: Run d2u.
7487 (PropSheetProc): New function. Add minimize box here instead of in
7488 PropertyPage::DialogProc.
7489 (PropSheet::Create): Change to use creation callback PropSheetProc.
7490 (DLGTEMPLATEEX): Add 'hidden' Windows struct definition.
7491
7492 * propsheet.h: Run indent, d2u.
7493 * proppage.h: Run indent, d2u.
7494
7495 * proppage.cc: Run d2u.
7496 (PropertyPage::DialogProc): Remove minimize-box-adding
7497 functionality. Remove commented-out "PropSheet_SetWizButtons" calls.
7498 Add support for calling virtual OnMessageCmd. Add setting of fonts in
7499 WM_INITDIALOG handler.
7500 (resource.h): New include for resource IDs.
7501
7502 * res.rc: Resize and rearrange property page dialog templates
7503 to bring them in line with "Microsoft's Backward Compatible Wizard 97"
7504 specification. Run d2u.
7505 (IDD_SITE): Add an edit control and an "Add" button in order to
7506 combine the IDD_SITE and IDD_OTHER_URL functionality onto one page.
7507 (IDD_OTHER_URL): Remove dialog template.
7508 (IDD_DLSTATUS): Remove dialog template.
7509
7510 * site.cc: Run d2u.
7511 (SitePage::OnBack): Remove NEXT() macro invocation.
7512 (SitePage::OnActivate): New member function.
7513 (load_dialog): Remove. Functionality subsumed into
7514 SitePage::OnActivate.
7515 (save_dialog): Change to support both list and user URLs. Remove
7516 OTHER_IDX and mirror_idx logic.
7517 (SitePage::PopulateListBox): New member function.
7518 (SitePage::CheckControlsAndDisableAccordingly): New member function.
7519 (SitePage::OnMessageCmd): New override.
7520 (check_if_enable_next): Remove.
7521 (dialog_cmd): Remove.
7522 (do_download_site_info_thread): Remove calls to NEXT() macro.
7523 (SitePage::Create): Call the single-param PropertyPage::Create
7524 overload.
7525 (other_url): New static taken from other.cc.
7526 (SitePage::OnNext): Remove mirror_idx logic.
7527 (SitePage::OnInit): Remove "Other URL" entry from list box. Remove
7528 list box populating code, now handled in SitePage::PopulateListBox.
7529 (mirror_idx, NO_IDX, OTHER_IDX): Remove.
7530 (save_site_url): Fix potential buffer overflow problem. Switched to
7531 TCHAR in grossly premature preparation for multilingual support.
7532 * site.h: Run d2u.
7533 (SitePage::OnActivate): New member function.
7534 (SitePage::CheckControlsAndDisableAccordingly) New member.
7535 (SitePage::OnMessageCmd): New override.
7536 (do_download_site_info_thread): Add MessageBox call on failure to
7537 download site list.
7538
7539 * splash.cc: Run d2u.
7540 (SplashPage::OnInit): Set the font for the title.
7541 * splash.h: Run d2u.
7542
7543 * threebar.cc: Run d2u.
7544 * threebar.h: Run d2u.
7545
7546 * window.h: Run d2u.
7547 (Window::IsButtonChecked): New member function declaration.
7548 (Window::OnMessageCmd): New member function.
7549 (Window::SetDlgItemFont): New member function declaration.
7550 (Window::MAXFONTS, Window::Fonts, Window::FontCounter): New data
7551 members.
7552 * window.cc: Run d2u.
7553 (Window::IsButtonChecked): New member function definition.
7554 (Window::SetDlgItemFont): New member function definition.
7555 (Window::Window): Add initialization for FontCounter.
7556 (Window::~Window): Delete any fonts we created.
7557
7558 * geturl.cc: Run d2u.
7559 (progress): Remove the "3" field width from the "%3d"
7560 percent-complete format indicator. Causes line to not start at
7561 beginning of text box, and does little to help with "jumping", since
7562 the "bytes downloaded so far" field is variable-width anyway. Change
7563 kb/s format field to "%03.1" to 0-pad the kb/s number in the event of
7564 painfully slow connections, or temporary slowdowns in faster
7565 connections should such more-instantaneous functionality become
7566 available.
7567
7568 * net.h: Run d2u.
7569 (NetPage::OnMessageCmd): New member function declaration.
7570 (NetPage::CheckIfEnableNext): New member function declaration.
7571 * net.cc: Run d2u.
7572 (NetPage::OnMessageCmd): New member function definition.
7573 (dialog_cmd): Remove, subsumed into NetPage::OnMessageCmd.
7574 (check_if_enable_next): Remove.
7575 (NetPage::CheckIfEnableNext): New member function, subsumes
7576 check_if_enable_next.
7577 (propsheet.h): Add include.
7578 (NetPage::Init): Add call to CheckIfEnableNext.
7579 (load_dialog): Remove call to check_if_enable_next.
7580 (NetPage::Create): Call single-template-ID-parameter overload of
7581 PropertyPage::Create instead of three-parameter one.
7582
7583 * Makefile.in (OBJS): Remove other.o.
7584 * other.cc: Remove file.
7585
7586 2002-01-01 Robert Collins <rbtcollins@hotmail.com>
7587
7588 * README: Update TODO's.
7589 * choose.cc (set_existence): Delete non installed packages with no
7590 mirrors.
7591 (fill_missing_category): Fix an off-by-one error.
7592 (default_trust): Ditto. Also delete any unused categories.
7593 (view::init_headers): Fix an off-by-one error.
7594 (set_view_mode): Ditto.
7595 (set_view_mode): Ditto.
7596 (create_listview): Ditto.
7597 (dialog_cmd): Ditto.
7598 (do_choose): Ditto.
7599 * io_stream.cc: Indent.
7600 * io_stream.h: Ditto.
7601 * package_db.cc: Ditto.
7602 * package_meta.h: Const correctness for SDesc ();
7603 * proppage.cc: Run d2u and indent.
7604 * propsheet.cc: Run d2u and indent.
7605 * window.cc: Run d2u and indent.
7606 * window.h: Run d2u and indent.
7607
7608 2001-12-28 Christopher Faylor <cgf@redhat.com>
7609
7610 * Makefile.in (iniparse.o): Accommodate newer bisons.
7611
7612 2001-12-23 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
7613
7614 * window.h (Window): New file, new class.
7615 * window.cc (Window): New file, new class.
7616
7617 * threebar.h (ThreeBarProgressPage): New file, new class.
7618 * threebar.cc (ThreeBarProgressPage): New file, new class.
7619
7620 * splash.h (SplashPage): New file, new class.
7621 * splash.cc (SplashPage): Replace file with implementation of new
7622 class.
7623
7624 * source.h (SourcePage): New file, new class.
7625 * source.cc: Run indent.
7626 (SourcePage): Add class implementation to this file.
7627 (do_source): Remove, functionality subsumed by SourcePage::Create()
7628 and SourcePage::OnDeactivate().
7629 (dialog_proc): Remove, functionality subsumed by
7630 SourcePage::OnActivate().
7631
7632 * site.h: Run indent.
7633 (SitePage): Add class declaration.
7634 * site.cc: Run indent.
7635 (SitePage): Add class implementation.
7636 (do_download_site_info_thread): New function.
7637 (context): New var. Context info for do_download_site_info_thread().
7638 (do_download_site_info): New function.
7639 (SitePage::Create, SitePage::OnInit SitePage::OnNext)
7640 (SitePage::OnBack): SitePage class implementation..
7641 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL handlers, now handled
7642 by SitePage members.
7643 (dialog_proc): Remove, now handled by SitePage::OnInit and base class
7644 functionality.
7645 (do_site): Remove, now handled by do_download_site_info_thread() and
7646 SitePage::OnNext functionality.
7647 (get_site_list): Remove dismiss_url_status_dialog() call.
7648
7649 * root.h (RootPage): New file, new class.
7650 * root.cc: Run indent.
7651 (dialog_cmd): Pass parent HWND parameter to note(), yesno().
7652 (dialog_proc): Remove.
7653 (do_root): Remove
7654 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL clauses from switch.
7655 (RootPage::OnInit): New member function. Move get_root_dir() logic to
7656 here from do_root().
7657 (RootPage::Create): New member function.
7658 (RootPage::OnNext): New member function. Move IDOK logic from
7659 dialog_cmd() to here.
7660 (RootPage::OnBack): New member function.
7661
7662 * propsheet.h (PropSheet): New file, new class.
7663 * propsheet.cc (PropSheet): New file, new class.
7664
7665 * proppage.h (PropertyPage): New file, new class.
7666 * proppage.cc (PropertyPage): New file, new class.
7667
7668 * postinstall.cc (do_postinstall): Add owner parameter.
7669
7670 * other.cc (do_other): Add owner parameter.
7671
7672 * nio-file.cc (NetIO::Purl): Pass NULL parent param to note().
7673 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Pass NULL parent param to
7674 get_ftp_auth().
7675 * nio-http.cc (retry_get): Pass NULL parent param to get_auth(),
7676 get_proxy_auth(),
7677 and get_ftp_auth().
7678 * nio-ie5.cc (NetIO::_url): Pass NULL parent param to note(),
7679 get_auth(), get_proxy_auth().
7680
7681 * netio.h (get_auth, get_proxy_auth, get_ftp_auth): Add owner param.
7682 * netio.cc (auth_common, NetIO::get_auth, NetIO::get_proxy_auth,
7683 NetIO::get_ftp_auth)
7684 (auth_common): Add owner param. Pass owner param to DialogBox.
7685 (NetIO::get_auth, NetIO::get_proxy_auth, NetIO::get_ftp_auth): Pass
7686 owner param to auth_common().
7687
7688 * net.h (NetPage): New file, new class.
7689 * net.cc: Run indent.
7690 (net.h, threebar.h): Add includes.
7691 (Progress): Add extern.
7692 (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, now handled by
7693 property sheet logic. Saved temporarily for reference.
7694 (NetPage::Create, NetPage::OnInit, NetPage::OnDeactivate,
7695 NetPage::OnNext, NetPage::OnBack):
7696 New implementation of NetPage class members.
7697 (do_net): Remove.
7698 (dialog_proc): Remove.
7699
7700 * msg.h (fatal, note, yesno): Add owner param.
7701 * msg.c (fatal, note, yesno, mbox): Add owner param.
7702 (mbox): Remove MB_TOPMOST from MessageBox call. Unnecessary and wrong
7703 now that we have a parent.
7704
7705 * main.cc: Run indent.
7706 (commctrl.h, proppage.h, propsheet.h, splash.h, source.h)
7707 (localdir.h, net.h, site.h, choose.h, threebar.h, desktop.h): Include
7708 headers.
7709 (root_dialog_proc): extern into this file.
7710 (Progress): Progress dialog defined here, used in several other files.
7711 (WinMain): Instantiate and create Splash, Source, Root, LocalDir, Net,
7712 Site, Chooser, Desktop pages and MainWindow sheet. Call
7713 InitCommonControls() to make sure Windows is set up for our use of
7714 property sheets. Add pages to sheet.
7715 Call MainWindow.Create() to "DoModal". Remove main loop, that logic is
7716 now handled by the PropSheet class.
7717 (root.h): Add include.
7718
7719 * log.cc (log_save): Pass NULL parent to fatal().
7720 (exit_setup): Pass NULL parent to note().
7721
7722 * localdir.h (LocalDirPage): New file, new class.
7723 * localdir.cc: Run indent.
7724 (localdir.h): New include.
7725 (threebar.h): New include.
7726 (Progress): extern into this file.
7727 (LocalDirPage::Create, LocalDirPage::OnInit, LocalDirPage::OnActivate)
7728 (LocalDirPage::OnNext, LocalDirPage::OnBack): Implementation of
7729 LocalDirPage.
7730 (LocalDirPage::OnNext): Move log() call from do_local_dir() to here.
7731 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL handlers.
7732 (do_local_dir): Remove.
7733 (dialog_proc): Remove.
7734 (cwd): Remove, not used by anything.
7735
7736 * install.cc: Run indent.
7737 (process.h, threebar.h): New includes.
7738 (Progress): extern into this file.
7739 (ins_dialog, ins_action, ins_pkgname, ins_filename, ins_pprogress)
7740 (ins_iprogress, ins_diskfull, init_event): Remove, now handled by
7741 ThreeBarProgressPage.
7742 (dialog_cmd, dialog_proc, dialog): Removed, handled in
7743 ThreeBarProgressPage.
7744 (init_dialog): Remove all mention of the above ins_* handles. Now
7745 handled in ThreeBarProgressPage. Altered SetWindowText()s to call
7746 ThreeBarProgressPage instance Progress directly.
7747 (progress): Alter bar update logic to call ThreeBarProgressPage
7748 instance Progress directly.
7749 (uninstall_one): Alter SetWindowText()s to call ThreeBarProgressPage
7750 instance Progress directly.
7751 (install_one_source): Alter SetWindowText()s to call
7752 ThreeBarProgressPage
7753 instance Progress directly. Pass NULL parent to note().
7754 (do_install_thread): Rename from do_install(), added owner param.
7755 Alter SetWindowText()s to call ThreeBarProgressPage instance Progress
7756 directly.
7757 Remove dismiss_url_status_dialog() call, no longer necessary. Remove
7758 ShowWindow(<hide>) call, also unnecessary now. Pass owner handle to
7759 fatal().
7760 (do_install_reflector): New function.
7761 (do_install): New function.
7762
7763 * ini.cc (process.h, threebar.h): New includes.
7764 (Progress): externed into this file.
7765 (find_routine): Pass NULL parent to note().
7766 (do_local_ini): Add owner param.
7767 (do_remote_ini): Add owner param. Pass owner to get_url_to_membuf()
7768 and note(). Remove call to dismiss_url_status_dialog().
7769 (do_ini_thread): Rename from do_ini(). Add owner param. Pass owner to
7770 do_local_ini(), do_remote_ini(), yesno(), and note(). Set next_dialog
7771 to IDD_CHOOSER on exit.
7772 (do_ini_thread_reflector): New function.
7773 (context): New var. Context for do_ini_thread.
7774 (do_ini): New function.
7775
7776 * geturl.h (get_url_to_membuf, get_url_to_string, get_url_to_file): Add
7777 owner param.
7778 * geturl.cc (gw_dialog, gw_url, gw_rate, gw_progress, gw_pprogress,
7779 gw_iprogress)
7780 (gw_progress_text, gw_pprogress_text, gw_iprogress_text, init_event):
7781 Removed.
7782 (threebar.h): New include.
7783 (Progress): externed into this file.
7784 (dialog_cmd, dialog_proc, dialog): Removed, handled by
7785 ThreeBarProgressPage now.
7786 (init_dialog): Remove "if (gw_dialog == 0)" clause. Alter
7787 SetWindowText()s
7788 and bar setting SendMessage()s to call ThreeBarProgressPage instance
7789 Progress directly. Remove "one bar only" logic, this is now handled
7790 explicitly in the ThreeBarProgressPage class.
7791 (progress): Altered bar and text update logic to call
7792 ThreeBarProgressPage instance Progress directly. Changed kbps
7793 calculation to floating point and now print out a single decimal
7794 place.
7795 (get_url_to_membuf): Add owner param. Pass it to init_dialog.
7796 (get_url_to_string): Add owner param. Pass it to get_url_to_membuf.
7797 (get_url_to_file): Add owner param. Pass it to init_dialog. Alter bar
7798 update logic to call ThreeBarProgressPage instance Progress directly.
7799 (dismiss_url_status_dialog): Remove.
7800
7801 * fromcwd.cc (do_fromcwd): Add owner param. Initialize found_ini to
7802 false, was true.
7803
7804 * download.cc: Run indent.
7805 (process.h, threebar.h): New includes.
7806 (Progress): externed into this file.
7807 (download_one): Add owner param. Pass it to get_url_to_file().
7808 (do_download_thread): Renamed from do_download. Add owner param. When
7809 calculating total_download_bytes, take binpicked and srcpicked into
7810 account. Remove call to dismiss_url_status_dialog(), no longer needed.
7811 Pass owner handle to download_one() and yesno().
7812 (do_download_reflector, do_download): New functions.
7813 (context): New var. Context for do_download_thread().
7814
7815 * dialog.h (D(x)): Add owner param.
7816
7817 * desktop.h (DesktopSetupPage): New file, new class.
7818 * desktop.cc: Run indent.
7819 (desktop.h): Add include.
7820 (dialog_proc, do_desktop): Remove, now handled in
7821 DesktopSetupPage::OnInit().
7822 (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, handled in
7823 DesktopSetupPage::OnFinish(), DesktopSetupPage::OnBack(), and PropSheet
7824 resp.
7825 (DesktopSetupPage::Create, DesktopSetupPage::OnInit)
7826 (DesktopSetupPage::OnBack, DesktopSetupPage::OnFinish): Implementation
7827 of DesktopSetupPage.
7828
7829 * cistring.h: New file, new class.
7830 * cistring.cc: New file, new class.
7831
7832 * choose.h: Run indent.
7833 (Chooser): New class declaration.
7834 * choose.cc: Run indent.
7835 (do_choose): Add owner param. Pass it to DialogBox() and
7836 fatal().
7837 (Chooser): New class implementation.
7838
7839 * res.rc (IDS_VERSION_INFO): New string.
7840 (IDD_SOURCE, IDD_LOCAL_DIR, IDD_ROOT, IDD_SITE, IDD_OTHER_URL)
7841 (IDD_DLSTATUS, IDD_INSTATUS, IDD_SPLASH, IDD_CHOOSE, IDD_DESKTOP):
7842 Change WS_POPUP to WS_CHILD. Numerous positioning/size changes
7843 throughout.
7844 (IDD_CHOOSE): Give template the WS_EX_CONTROLPARENT style to enable
7845 TAB control navigation etc. Give the controls a reasonable tab order.
7846 Grouped radio buttons. Something's still not right, can't tab away
7847 from back/next/cancel group reliably.
7848 * resource.h (IDD_CHOOSER): New dialog ID.
7849
7850 * Makefile.in (OBJS): Add cistring.o, proppage.o, propsheet.o,
7851 threebar.o, and window.o.
7852
7853 2001-12-21 Robert Collins <rbtcollins@hotmail.com>
7854
7855 * choose.cc (listview_proc): Update the scrollbar when the headers are
7856 dragged.
7857 (pick_pkg_line::paint): Clip columns to prevent overlap.
7858
7859 2001-12-20 Robert Collins <rbtcollins@hotmail.com>
7860
7861 * Makefile.in: Add libcomctl32.a for setup.exe.
7862 * archive.h (archive): Prevent non-child direct creation of the class.
7863 * archive_tar.h (archive_tar): Prevent inaccurate synthetic copy and
7864 assignment.
7865 * choose.cc: Include commctrl for the choose header.
7866 (NEW_COL_SIZE_SLOP): Define without magic numbers.
7867 (pkgtrustp): Convert to function.
7868 (set_action): Remove.
7869 (add_required, fill_missing_category,default_trust): Use list syntax for
7870 package list.
7871 Use new set_action.
7872 (choose_caption): Remove.
7873 (topbucket::paint): New method.
7874 (topbucket::empty): Ditto.
7875 (topbucket::click): Ditto.
7876 (topbucket::~topbucket): Ditto.
7877 (paint): Remove i,ii and p as they are obsolete.
7878 Remove header drawing code.
7879 Use new chooser method to paint the chooser.
7880 Use new chooser itemcount method.
7881 (scroll_common): Rename to view::scroll.
7882 Scroll the header window separately.
7883 (list_vscroll, list_hscroll, list_click): Update for new chooser
7884 methods.
7885 (listview_proc): Look for header messages.
7886 (note_width): Accept stringless calls.
7887 (pick_line::set_line): Remove.
7888 (pick_line::paint): Remove.
7889 (pick_pkg_line::paint): Paint this one line, using the header column
7890 widths.
7891 (pick_category_line::paint): Paint this category, and anything in the
7892 bucket.
7893 (pick_line::click): Remove.
7894 (pick_pkg_line::click): Handle a click.
7895 (pick_category_line::click): Handle a click.
7896 (_view): Rename all to view.
7897 (view::view): Initialise the control contents.
7898 (view::set_headers): Work with the header control.
7899 (view::init_headers): Use list syntax for package list.
7900 Rearrange the width logic a little.
7901 (view::insert_pkg): Update to use the hierarchy.
7902 (view::insert_category): Ditto.
7903 (view::insert_at, view::insert_under): Remove.
7904 (view::clear_view): Update to use the hierarchy.
7905 (view::click): Update to use the hierarchy.
7906 (set_view_mode): Use list syntax for package list.
7907 Update for new chooser methods.
7908 (DoInsertItem): New helper function. (Needs a home somewhere).
7909 (create_listview): Remove choose control code and use the constructor
7910 instead.
7911 (dialog_cmd,scan2,do_choose): Use list syntax for package list.
7912 * choose.h: Include newly required headers list and package_meta.
7913 (_voew): Rename to view.
7914 (pick_line): Convert to an ABC.
7915 (pick_pkg_line): New class.
7916 (pick_catgory_line): New class.
7917 (topbucket): New class.
7918 (view::scroll): New method created from listview_scroll function.
7919 * desktop.cc (make_passwd_group): Use list syntax for package list.
7920 * download.cc (do_download): Use list syntax for package list.
7921 * fromcwd.cc (found_file): Use list syntax for package list.
7922 * iniparse.y (pacakges): Use list syntax for package list.
7923 * install.cc (uninstall_one): Use list syntax for package list.
7924 (do_install): Use list syntax for package list.
7925 * io_stream.h (io_stream): Prevent non-child direct creation of the
7926 class.
7927 Prevent inaccurate synthetic copy and assignment.
7928 * list.h: Include required header stdlib.
7929 Work on const correctness.
7930 * package_db.cc (packagedb::getpackagebyname): Remove.
7931 (packagedb::packagedb): Remove custom list code, and make db a local.
7932 (packagedb::getfirstpackage): Remove.
7933 (packagedb::getnextpackage): Remove.
7934 (packagedb::addpackage): Remove.
7935 (flush): Remove custom list code.
7936 (packagedb::registerpackage): Remove.
7937 (packagedb::packages): New static member.
7938 (packagedb::task): New static member.
7939 * package_db.h (PackageDBActions): New enum.
7940 (packagedb): Remove getfirstpackage, getnextpackage, getpackagebyname,
7941 addpackage, registerpackage, packages, packagecount, curr_package, db.
7942 Add packages, task.
7943 * pacakge_meta.cc: Include package_db.h.
7944 (packagemeta::action_caption): New method.
7945 (packagemeta::set_action): New method.
7946 * package_meta.h (CategoryPackage): Initialise key.
7947 (packagemeta): Initialise key.
7948 Add set_action and action_caption methods.
7949 Prevent inaccurate synthetic copy and assignment.
7950 * resource.h (IDC_CHOOSE_LISTHEADER): New ID.
7951 * source.cc: Include package_db for db manipulation.
7952 (save_dialog): Set the db task.
7953 * win32.h: Tell the w32 include headers what IE version to
7954 expect/require.
7955
7956 2001-12-06 Robert Collins <rbtcollins@hotmail.com>
7957
7958 * README: Wishlist updates.
7959
7960 2001-12-04 Robert Collins <rbtcollins@hotmail.com>
7961
7962 * package_db.cc (getnextpackage): Don't overrun the array.
7963
7964 2001-12-04 Robert Collins <rbtcollins@hotmail.com>
7965
7966 * Makefile.in (OBJS): Add setup_version.o.
7967 (version.c): Rename to setup_version.
7968 * choose.cc (set_action): Prevent NULL pointer dereference.
7969 (package_sort): Remove.
7970 * fromcwd.cc (canonicalize_version): Moved to version.cc.
7971 (check_ini): New function for use with find to see if there is a cached
7972 setup.ini.
7973 (do_fromcwd): Check for a cached setup.ini from any mirror site.
7974 * ini.cc (find_routine): New function, for finding cached setup.ini's.
7975 (do_local_ini): New function, drives parsing of local ini's.
7976 (do_remote_ini): New function, drives parsing and caching of remote
7977 ini's.
7978 (do_ini): Move guts to do_remote_ini and do_local_ini.
7979 * list.h (removebyindex): New method.
7980 * other.cc (save_dialog): Use new site_list and all_site_list to add the
7981 new site to the site picklist.
7982 (dialog_cmd): Only save the dialog when exiting the dialog.
7983 * res.rc (IDD_SITE): Make IDC_URL_LIST a multiple-selection control.
7984 * site.cc (site_list_type): Move to site.h
7985 (site_list): New global, sites chosen by the user.
7986 (all_site_list): New global, all potential sites.
7987 (site_list_type::init): New method, parses a mirror.lst URL string into
7988 a site_list_type object.
7989 (site_list_type::site_list_type): New method.
7990 (check_if_enable_next): Examine the control, not a local variable.
7991 (load_dialog): Select all the user chosen sites by default.
7992 (save_dialog): Adjust for multiple selection semantics.
7993 (save_site_url): Save all user chosen sites.
7994 (dialog_cmd): Don't save the dialog when the listbox recieves a message
7995 - thats not needed.
7996 Remove obsolete other_url reference.
7997 (dialog_proc): Use all_site_list instead of site_list.
7998 (site_sort): Remove.
7999 (get_site_list): Remove malloc use - use list template instead.
8000 Move site_list_type initialisation to site_list_type::init().
8001 (get_initial_list_idx): Renamed to ...
8002 (get_saved_sites): this. Also read in multiple sites to the site_list.
8003 (do_site): Use all_site_list not site_list.
8004 Log all chosen sites.
8005 * site.h: New file, defines site related class, functions and variables.
8006 * state.h: Add comment about use of state.h
8007 (mirror_site): Remove.
8008 (other_url): Remove.
8009 (MIRROR_SITE): Remove.
8010 * version.cc: New file, for version-handling and related functions.
8011
8012 2001-12-02 Robert Collins <rbtcollins@hotmail.com>
8013
8014 * Makefile.in: Add filemanip.o to setup.
8015 * archive.cc (archive::extract_file): Use new io_stream method 'copy'.
8016 * archive_tar.h (archive_tar_file): Implement get_size virtual.
8017 (archive_tar): Ditto.
8018 * choose.cc (set_action): Use [] operator instead of getnth - its more
8019 readable.
8020 (paint): Ditto.
8021 (_view::init_headers): Ditto.
8022 (_view::insert_pkg): Ditto.
8023 (set_view_mode): Ditto.
8024 (scan2): Ditto.
8025 (do_choose): Ditto.
8026 (base): Moved to filemanip.cc.
8027 (find_tar_ext): Ditto.
8028 (parse_filename): Ditto.
8029 (_Info::_Info): Remove.
8030 * compress_bz.h (compress_bz): Implement get_size virtual.
8031 * compress_gz.h (compress_gz): Implement get_size virtual.
8032 * cygpackage.cc (cygpackage::destroy): Use array delete for char *
8033 objects.
8034 * download.cc (get_file_size): Move to filemanip.cc.
8035 (check_for_cached): Use [] operator instead of getnth - its more
8036 readable.
8037 (download_one): Ditto.
8038 * filemanip.cc: New file.
8039 * geturl.cc (init_dialog): Make url a pointer to const as it is not
8040 modified.
8041 (get_url_to_membuf): New function - contains get_url_to_string worker
8042 code.
8043 (get_url_to_string): Becomes a trivial wrapper to get_url_to_membuf.
8044 * geturl.h: Declare new prototype.
8045 * ini.cc (do_ini): Use get_url_to_membuf and pass ini_init an io_stream.
8046 Tidy up the error code a little.
8047 * ini.h: Remove __cplusplus protection for ini_init.
8048 (_Info): Remove.
8049 * inilex.l: Remove old globals.
8050 (ini_init): Use an io_stream for getting the characters.
8051 (ini_getchar): Ditto.
8052 * iniparse.y: Declare yylex as a C++ function.
8053 (add_correct_version): Use [] operator instead of getnth - its more
8054 readable.
8055 * io_stream.cc (io_stream::move_copy): Use the copy method.
8056 (io_stream::copy): New method to simply copy from one stream to another.
8057 * io_stream.h (io_stream): New static method copy, and virtual method
8058 get_size.
8059 * io_stream_cygfile.cc (io_stream_cygfile::get_size): Implement this.
8060 * io_stream_cygfile.h (io_stream_cygfile::get_size): Declare this.
8061 * io_stream_file.cc (io_stream_file::get_size): Implement this.
8062 * io_stream_file.h (io_stream_file::get_size): Declare this.
8063 * io_stream_memory.h: Include errno as it's neded to parse the header.
8064 (io_stream_memory::get_size): Implement this.
8065 (io_stream_memory::st_size): Delete this.
8066 * list.h: Change getnth into the [] operator.
8067 * netio.cc (NetIO::NetIO): Change prototype to reflect Purl not being
8068 modified.
8069 (NetIO::set_url): Ditto.
8070 (NetIO::open): Ditto.
8071 * netio.h: As for netio.cc.
8072 * nio-file.cc (NetIO_File::NetIO_File): Change prototype to reflect
8073 Purl not being modified.
8074 * nio-file.h: Ditto.
8075 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Ditto.
8076 * nio-ftp.h (NetIO_FTP::NetIO_FTP): Ditto.
8077 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Ditto.
8078 * nio-http.h (NetIO_HTTP::NetIO_HTTP): Ditto.
8079 * nio-i5.cc (NetIO_IE5::NetIO_IE5): Ditto.
8080 * nio-i5.h (NetIO_IE5::NetIO_IE5): Ditto.
8081 * package_meta.cc (packagemeta::~packagemeta): Bugfix: use array delete.
8082 * package_source.cc (packagesource::set_canonical): Ditto.
8083 (packagesource::set_cached): Ditto.
8084 * package_source.h (site::~site): Ditto.
8085 * site.cc: Change site_list_type to a class, and search and replace
8086 sort_key to key globally.
8087
8088 2001-12-01 Robert Collins <rbtcollins@hotmail.com>
8089
8090 * package_source.cc (packagesource::set_canonical): Filename was out by
8091 one.
8092
8093 2001-11-30 Robert Collins <rbtcollins@hotmail.com>
8094
8095 * Makefile.in (OBJS): Remove category_list - it's not needed.
8096 * README: More wishlist updates.
8097 * category.cc (Category::Category): Initialise new members.
8098 (Categorycmp): New function.
8099 * category.h (Category): New member key for template use.
8100 * category_list.cc: Remove.
8101 * category_list.h: Remove.
8102 (Categorycmp): New function prototype.
8103 * choose.cc: Remove category_list - not needed.
8104 (set_action): Only show the 'source' option when the source is actually
8105 available.
8106 (add_required): Fix recursion limiter to 5.
8107 (fill_missing_category): Use list access.
8108 (default_trust): Ditto.
8109 (pick_line::paint): Ditto.
8110 (_view::init_headers): Ditto.
8111 (_view::insert_pkg): Ditto.
8112 (_view::insert_category): Ditto.
8113 (_view::click): Ditto.
8114 (set_view_mode): Ditto.
8115 (do_choose): Ditto.
8116 * cygpackage.h: Remove category_list - not needed.
8117 * geturl.cc (get_url_to_string): Fix null byte insertion.
8118 * inipatse.y: Remove category_list - not needed.
8119 (categories): Use list access.
8120 * package_db.cc: Ditto.
8121 * package_db.h: Remove category_list - not needed.
8122 (packagedb): Use the list template for categories.
8123 * package_meta.cc (add_category): Ditto.
8124 * package_meta.h (CategoryPackage): Link to the category as well.
8125 (packagemeta): Use a list of CategoryPackages instead of Categories
8126 for more memory efficient cross-referencing.
8127
8128 2001-11-30 Robert Collins <rbtcollins@hotmail.com>
8129
8130 * package_db.cc (packagedb::flush): Write a canonical version for all
8131 packages irrespective of the media they were installed from.
8132
8133 2001-11-29 Robert Collins <rbtcollins@hotmail.com>
8134
8135 * Makefile.in (OBJS): Add package_source and rfc1738.
8136 * README: Wishlist update.
8137 * category_list.cc (register_category): Use references.
8138 * category_list.h (CategoryList): Ditto.
8139 * choose.cc (isinstalled): Remove.
8140 (pkgtrustp): New macro.
8141 (set_action): Use packagemeta.
8142 (add_required): Ditto.
8143 (choose_caption): Example package to choose caption, rather than state
8144 flags.
8145 (check_existence): Remove.
8146 (set_existence): Remove old code.
8147 (fill_missing_category): Use packagemeta.
8148 (keep_or_skip): Remove.
8149 (default_trust): Use packagemeta and set trust values directly.
8150 (pick_line::set_line): Use packagemeta.
8151 (_view::insert_pkg): Ditto.
8152 (_view::insert_category): Ditto.
8153 (_view::click): Ditto.
8154 (set_view_mode): Ditto. Also remove "exclude" code.
8155 (create_listview): Use packagemeta.
8156 (dialog_cmd): Ditto.
8157 (getpkgbyname): Remove
8158 (scan2): Use packagemeta. Temporarily comment out the holefinding code.
8159 (read_installed_db): Remove.
8160 (package_sort): Use packagemeta.
8161 (do_choose): Use packagemeta. Don't sort the packages - the db does
8162 that.
8163 * choose.h: Use packagemeta.
8164 * cygpackage.cc (cygpackage::cygpackage): Initialise all variables.
8165 (cygpackage::cygpackage): Ditto.
8166 (cygpackage::set_canonical_version): Copy the passed string.
8167 (cygpackage::~cygpackage): Move cleanup code to destroy().
8168 (cygpackage::destroy): New function.
8169 (cygpackage::getfirstfile): Use a separate buffer.
8170 (cygpackage::getnextfile): Ditto.
8171 (cygpackage::Canonical_version): New function.
8172 (cygpackage::set_sdesc): Ditto.
8173 (cygpackage::set_ldesc): Ditto.
8174 * cygpackage.h (cygpackage::Canonical_version): New method.
8175 (cygpackage::set_sdesc): New method.
8176 (cygpackage::set_ldesc): New method.
8177 (cygpackage::SDesc): New method.
8178 (cygpackage::LDesc): New method.
8179 (cygpackage::set_canonical_version): New method.
8180 * desktop.cc: Include packagedb headers.
8181 (make_password_group): Use packagemeta.
8182 * download.cc: Include packagedb headers.
8183 (check_for_cached): New method to find any cached file and fill out the
8184 database info.
8185 (download_one): Take a packagesource, support multiple mirrors.
8186 (do_download): Use packagemeta.
8187 * from cwd.cc: Include packagedb headers.
8188 (found_file): Use packagemeta.
8189 * ini.cc (do_ini): Beginning of multiple-mirror support.
8190 * ini.h (CategoryPackage): Remove.
8191 (Dependency): Remove.
8192 (Package): Remove.
8193 (new_package,getpkgbyname,getpackagecategorybyname,add_category):
8194 Remove.
8195 * inilex.l: Support multiple mirrors.
8196 * iniparse.y: Include packagedb headers.
8197 (parser): Use packagemeta.
8198 (new_package): Remove.
8199 (add_correct_version): New function.
8200 (new_requirement): Remove.
8201 (add_category): Remove.
8202 * install.cc (uninstall_one): Use packagemeta.
8203 (install_one_source): New function.
8204 (install_one): Use packagemeta.
8205 (do_install): Use packagemeta.
8206 * io_stream.cc (io_stream::move): Bugfix on move/copy case.
8207 * io_stream_cygfile.cc (io-stream_cygfile::set_mtime): Do not reopen the
8208 file after setting the mtime, it makes no sense, and results in 0 length
8209 files.
8210 * io_stream_file.cc (io-stream_file::set_mtime): Ditto.
8211 * list.h: New file, template class for a form of list.
8212 * package_db.cc (packagedb::registerpackage): New function.
8213 * package_db.h (packagedb::npackages ()): New method.
8214 * package_meta.cc (packagemeta::add_version): Use list template.
8215 (packagemeta::set_installed): Ditto.
8216 (packagemeta::add_category): New method.
8217 * package_meta.h: Include necessary headers to parse the class.
8218 (CategoryPackage): New class.
8219 (packagemeta): Initialise all members.
8220 (packagemeta::SDesc): New method.
8221 (packagemeta::Categories): New method.
8222 (packagemeta::add_category): Ditto.
8223 (packagemeta::versions): Change to be a list instance.
8224 * package_source.cc (packagesource::set_canonical): New method.
8225 (packagesource::set_cached): New method.
8226 * package_source.h: Include necessary headers to parse the class.
8227 (site): New class.
8228 (packagesource::packagesource): Initialize all members.
8229 (packagesource): Make this class non-abstract.
8230 * package_version.cc (packageversion::packageversion): New method.
8231 * package_version.h (Dependency): New class.
8232 (packageversion::Canonical_vesion): New method.
8233 (packageversion::SDesc): New method.
8234 (packageversion::LDesc): New method.
8235 (packageversion::new_requirement): Ditto.
8236 (packageversion::srcpicked, binpicked): What to install.
8237 (packageversion::src, bin): Installation source data.
8238 * rfc1738.cc: New file. Escapes special characters in URL's.
8239 * rfc1738.h: Ditto.
8240
8241 2001-11-26 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
8242
8243 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Stop header parsing when
8244 SimpleSocket::gets() returns a zero-length string, so that we
8245 don't end up eating the entire stream thinking it's all header info.
8246
8247 2001-11-23 Robert Collins <rbtcollins@hotmail.com>
8248
8249 * install.cc (badrename): Remove.
8250 (do_install): Use packagedb flush method to write
8251 /etc/setup/installed.db.
8252 * io_stream.cc (io_stream::move_copy): New method.
8253 (io_stream::move): New method.
8254 * io_stream.h (io_stream): New methods move and move_copy.
8255 * io_stream_cygfile.cc (io_stream_cygfile::move): New method.
8256 * io_stream_cygfile.h (io_stream_cygfile): New method move.
8257 * io_stream_file.cc (io_stream_file::move): New method.
8258 * io_stream_file.h (io_stream_file): New method move.
8259 * package_db.cc (packagedb::flush): New method.
8260 * package_db.h (packagedb): New method flush.
8261
8262 2001-11-23 Robert Collins <rbtcollins@hotmail.com>
8263
8264 * Makefile.in (OBJS): Add package_version.
8265 * ategory.cc (Category::Category): Update constructors.
8266 * category_list.cc (CategoryList::register_category): Insert correctly.
8267 * choose.cc: Include package_version.h, not package.h.
8268 * cygpackage.cc: Ditto.
8269 (cygpackage::uninstall): New method.
8270 * cygpackage.h (cygpackage): Rename genericpackage to packageversion.
8271 New method uninstall.
8272 * hash.cc (add, has, enumerate): Change prototype to be accurate.
8273 * hash.h (hash): Change prototypes to be accurate.
8274 * ini.h (_Info): New parameterless constructor.
8275 (CategoryPackage): New constructor.
8276 (Package): Ditto.
8277 * install.cc: Don't include unneeded headers.
8278 Include package database headers.
8279 (hash::add_subdirs): Remove.
8280 (uninstall_one): Use packagemeta->uninstall to perform the
8281 uninstallation. Don't uninstall source packages.
8282 (do_install): Just can uninstall_one once as we ignore source packages
8283 now. Don't copy the installed.old database accross, instead iterate
8284 through the packagedb packages list and write the installed packages
8285 out.
8286 * package_db.cc: Include package_version.h, not package.h.
8287 (packagedb::packagedb): Never let db be undefined.
8288 Record the installation filename, so we can reconstruct installed.db.
8289 (packagedb::addpackage): Insert packages in alpha sorted order.
8290 (packagedb::categories): Initialise correctly.
8291 * package_meta.cc: Include win32 and mount headers as a workaround to
8292 current io_stream limitations. Include a TODO about that.
8293 (standard_dirs): New, from install.cc.
8294 (hash::add_subdirs): New, from install.cc.
8295 (packagemeta::set_installed): Rename genericpackage to packageversion.
8296 (packagemeta::uninstall): New method.
8297 * package_meta.h: Rename genericpackage to packageversion.
8298 (packagemeta): Update constructor.
8299 (add_version, set_installed): Rename genericpackage to packageversion.
8300 (uninstall): New method.
8301 (installed_from): New member.
8302 * package_source.cc: New file.
8303 * package_source.h: New file.
8304 * package_version.cc: New file.
8305 * package_version.h: New file.
8306 * package.cc: Removed.
8307 * package.h: Removed.
8308
8309 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
8310
8311 * Makefile.in (OBJS): Add category.o and category_list.o.
8312 * category.h: New file.
8313 * category.cc: New file.
8314 * category_list.h: New file.
8315 * category_list.cc: New file.
8316 * choose.cc: Include category headers.
8317 (fill_missing_category): Use package_db to access global categories.
8318 (_view::insert_pkg): Ditto.
8319 (_view::insert_category): Ditto.
8320 (set_view_mode): Ditto.
8321 (getcategorybyname): Remove.
8322 * cygpackage.h: Include category_list.h to parse this correctly.
8323 (cygpackage): New virtual &Categories.
8324 * ini.h (_CategoryPackage): More C to C++ conversion.
8325 (Category): Remove.
8326 (getcategorybyname): Remove.
8327 (register_category): Remove.
8328 * iniparse.y: Include package db and category headers.
8329 (categories): Use package_db to access global categories.
8330 (category): Remove.
8331 (ncategories): Remove.
8332 (register_category): Remove.
8333 * package.h: New virtual &Categories.
8334 * package_db.cc (packagedb::packagedb): Don't read the installed db
8335 twice.
8336 (packagedb::categories): Declare.
8337 * package_db.h (packagedb): New member categories for global categories
8338 list.
8339
8340 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
8341
8342 * choose.h: Don't include ini.h
8343 * ini.h: Allow pure c++ in the header file.
8344
8345 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
8346
8347 * install.cc (do_install): Write a version 2 installed.db file.
8348 * package_db.cc (packagedb::packagedb): Read version 1 and 2
8349 installed.db files.
8350
8351 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
8352
8353 * Makefile.in (OBJS): Add package abstraction objects.
8354 * choose.cc: Include package abstraction headers.
8355 (read_installed_db): Use packagedb class and ignore installed sources.
8356 * cygpackage.cc: New file.
8357 * cygpackage.h: New file.
8358 * filemanip.h (get_file_size): Use unixy types.
8359 * package.h: New file.
8360 * package.cc: New file.
8361 * package_db.cc: New file.
8362 * package_db.h: New file.
8363 * package_meta.cc: New file.
8364 * package_meta.h: New file.
8365
8366 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
8367
8368 * REAME: Updates to wishlist.
8369
8370 2001-11-16 Robert Collins <rbtcollins@hotmail.com>
8371
8372 * README: Updated and added my list of wishlist and todo items.
8373
8374 2001-11-14 Robert Collins <rbtcollins@hotmail.com>
8375
8376 * Makefile.in (OBJS): Include io_stream_memory in setup.exe.
8377 * archive_tar.cc (archive_tar::write): New prototype.
8378 (archive_tar::seek): New method.
8379 * archive.h (archive_tar_file): Update write() and add seek().
8380 (archive_tar): Ditto.
8381 * archive_tar_file.cc (archive_tar_file::write): New prototype.
8382 (archive_tar_file::seek): New method.
8383 * compress_bz.cc (compress_bz::write): New prototype.
8384 (compress_bz::seek): New function.
8385 * compress_bz.h (compress_bz): Update write() and add seek().
8386 * compress_gz.cc (compress_gz::write): New prototype.
8387 (compress_gz::seek): New function.
8388 * compress_gz.h (compress_gz): Update write() and add seek().
8389 * geturl.cc: Include io_stream headers.
8390 (GUBuf): Remove.
8391 (get_url_to_string): Use a io_stream_memory buffer instead of GUBuf.
8392 * io_stream.h (io_stream_seek_t): New enum.
8393 (io_stream): Update write() and add seek().
8394 * io_stream_cygfile.cc (io_stream_cygfile::write): New prototype.
8395 (io_stream_cygfile::seek): New function.
8396 * io_stream_cygfile.h (io_stream_cygfile): Update write() and add
8397 seek().
8398 * io_stream_file.cc (io_stream_file::write): New prototype.
8399 (io_stream_file::seek): New function.
8400 * io_stream_file.h (io_stream_file): Update write() and add seek().
8401
8402 2001-11-13 Brian Keener <bkeener@thesoftwaresource.com>
8403
8404 * localdir.cc: Add headers unistd.h and port.h.
8405 (save_local_dir): Expand search logic to include local directory for
8406 location of file last-cache.
8407 (dialog_cmd): Skip IDD_ROOT when downloading and use Back button.
8408 (do_local_dir): Expand search logic to include local directory for file
8409 last-cache.
8410 * res.rc (IDD_CHOOSE_DIALOG): Add hotkey to View button.
8411 * Source.cc (dialog_cmd): Skip IDD_ROOT if select Download from
8412 Internet.
8413 (do_source): Default to Install from Internet on first entry or
8414 previous selection if backing up from IDD_ROOT or IDD_LOCAL_DIR.
8415
8416 2001-11-13 Robert Collins <rbtcollins@hotmail.com>
8417
8418 * choose.cc (find_tar_ext): Only match at the end of the string.
8419 (getpkgbyname): Prevent NULL pointer dereference.
8420
8421 2001-11-13 Robert Collins <rbtcollins@hotmail.com>
8422
8423 * Makefile.in (CFLAGS): Add warnings and -Werr.
8424 (WARNONLY_FLAGS): For sources that produce (harmless) errors no matter
8425 what.
8426 (OBJS): Add io_stream class' objects.
8427 (autoload.o): Use WARNONLY_FLAGS.
8428 (inilex.o): Ditto.
8429 (iniparse.o): Ditto.
8430 * archive.cc: New file.
8431 * archive.h: New file.
8432 * archive_tar.cc: New file.
8433 * archive_tar.h: New file.
8434 * archive_tar_file.cc: New file.
8435 * autoload.c: Fix compiler warnings (unused, deprecated conversion).
8436 * choose.cc: Use io_stream.h, not mount.h.
8437 Run indent.
8438 (find_tar_ext): Rewritten to use strstr, and to accept .tar as an
8439 extension.
8440 (read_installed_db): Use io_streams.
8441 * choose.h: Run indent.
8442 * compress.cc: New file.
8443 * compress.h: New file.
8444 * compress_bz.cc: New file.
8445 * compress_bz.h: New file.
8446 * compress_gz.cc: New file.
8447 * compress_gz.h: New file.
8448 * concat.cc: Run indent.
8449 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8450 * concat.h: Run indent.
8451 * desktop.cc: Run indent.
8452 Include mklink2.h rather than redefining by hand.
8453 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8454 (etc_profile): Fix compiler warning (deprecated conversion).
8455 (make_link): Fix compiler warning (deprecated conversion).
8456 Tidy up use of args variable - consolidate into argbuf.
8457 (start_menu): Fix compiler warning (deprecated conversion).
8458 (desktop_icon): Fix compiler warning (deprecated conversion).
8459 (make_etc_profile): Fix compiler warning (deprecated conversion).
8460 (uexists): Fix compiler warning (deprecated conversion).
8461 (check_desktop): Fix compiler warning (deprecated conversion).
8462 (check_startmenu): Fix compiler warning (deprecated conversion).
8463 * dialog.cc: Run indent.
8464 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8465 (fatal): Fix compiler warning (deprecated conversion).
8466 * dialog.h: Run indent.
8467 * diskfull.cc: Run indent.
8468 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8469 * download.cc: Run indent.
8470 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8471 (download_one): Fix compiler warning (signed vs unsigned comparison).
8472 * filemanip.h: Run indent.
8473 * find.cc: Run indent.
8474 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8475 (find): Fix compiler warning (deprecated conversion).
8476 * find.h: Run indent.
8477 * fromcwd.cc: Run indent.
8478 * geturl.cc: Run indent.
8479 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8480 (dialog_cmd): Return a value.
8481 (dialog_proc): Remove unused variables.
8482 Return a value.
8483 (get_url_to_file): Fix compiler warning (deprecated conversion).
8484 * geturl.h: Run indent.
8485 * hash.cc: Run indent.
8486 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8487 * hash.h: Run indent.
8488 * ini.cc: Run indent.
8489 Use io_streams.
8490 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8491 (do_ini): Use io_streams for local io.
8492 * ini.h: Run indent.
8493 * inilex.l (ignore_line): Fix compiler warning (is not a prototype).
8494 Fix compiler warning (brackets for truth assignment).
8495 * install.cc: Run indent.
8496 Fix compiler warning (/* in comment).
8497 Use io_streams.
8498 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8499 (dialog_cmd): Return a value.
8500 (dialog_proc): Return a value.
8501 (start_tics): Deleted - was unused.
8502 (badrename): Fix compiler warnings (unused, deprecated conversion).
8503 (standard_dirs): Fix compiler warning (deprecated conversion).
8504 (exists): Remove.
8505 (uninstall_one): Convert to io_streams.
8506 (install_one): Convert to io_streams.
8507 (do_install): Convert to io_streans.
8508 Fix compiler warning (deprecated conversion).
8509 * io_stream.cc: New file.
8510 * io_stream.h: New file.
8511 * io_stream_cygfile.cc: New file.
8512 * io_stream_cygfile.h: New file.
8513 * io_stream_file.cc: New file.
8514 * io_stream_file.h: New file.
8515 * localdir.cc: Run indent.
8516 Use io_streams.
8517 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8518 (get_root_dir_now): Remove.
8519 (save_local_dir): Convert to io_streams.
8520 (dialog_cmd): Return a value.
8521 (do_local_dir): Convert to io_streams.
8522 (log.cc): Run indent.
8523 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8524 (log): Fix compiler warning (deprecated conversion).
8525 (log_save): Fix compiler warning (deprecated conversion).
8526 * log.h: Run indent.
8527 (log): Fix compiler warning (deprecated conversion).
8528 (log_save): Fix compiler warning (deprecated conversion).
8529 * main.cc: Run indent.
8530 Don't include "netio.h".
8531 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8532 (netio_test): Remove.
8533 (sid_auth): Fix compiler warning (partially bracketed initialiser).
8534 (WinMain): Return a value.
8535 * mkdir.cc: Run indent.
8536 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8537 * mklink2.c: Run indent.
8538 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8539 (mkcygsymlink): New function.
8540 * mklink2.h: New file.
8541 * mount.cc: Run indent.
8542 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8543 (create_mount): Remove unused variables.
8544 (cygpath): Fix compiler warning (signed vs unsigned comparison).
8545 * mount.h: Run indent.
8546 * msg.cc: Run indent.
8547 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8548 (msg): Fix compiler warning (deprecated conversion).
8549 (mbox): Fix compiler warning (deprecated conversion).
8550 * msg.h: Run indent.
8551 (msg): Fix compiler warning (deprecated conversion).
8552 * net.cc: Run indent.
8553 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8554 (dialog_cmd): Return a value.
8555 * netio.cc: Run indent.
8556 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8557 (auth_cmd): Return a value.
8558 * netio.h: Run indent.
8559 * nio-file.cc: Run indent.
8560 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8561 (NetIO_File::NetIO_File): Fix compiler warning (deprecated conversion).
8562 * nio-file.h: Run indent.
8563 * nio-ftp.cc: Run indent.
8564 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8565 * nio-ftp.h: Run indent.
8566 * nio-http.cc: Run indent.
8567 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8568 * nio-http.h: Run indent.
8569 * nio-ie5.cc: Run indent.
8570 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8571 * nio-ie5.h: Run indent.
8572 * other.cc: Run indent.
8573 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8574 (dialog_cmd): Return a value.
8575 * port.h: Run indent.
8576 * postinstall.cc: Run indent.
8577 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8578 (cmd): Fix compiler warning (deprecated conversion).
8579 (eun): Fix compiler warning (deprecated conversion).
8580 * root.cc: Run indent.
8581 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8582 * simpsock.cc: Run indent.
8583 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8584 * simpsock.h: Run indent.
8585 * site.cc: Run indent.
8586 Use io_streams.
8587 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8588 (get_root_dir_now): Remove.
8589 (save_site_url): Convert to io_streams.
8590 (dialog_cmd): Return 0.
8591 (get_initial_list_idx): Convert to io_streans.
8592 * source.cc: Run indent.
8593 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8594 (check_if_enable_next): Remove.
8595 (load_dialog): Remove unused variables.
8596 (save_dialog): Ditto.
8597 (dialog_cmd): Return a value.
8598 * splash.cc: Return a value.
8599 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8600 (dialog_cmd): Return a value.
8601 * state.cc: Run indent.
8602 (cvsid): Fix compiler warnings (unused, deprecated conversion).
8603 * state.h: Run indent.
8604 * tar.h: Remove.
8605 * tar.cc: Remove.
8606
8607 2001-11-12 Christopher Faylor <cgf@redhat.com>
8608
8609 * desktop.cc (start_menu): Change start menu name to "Cygwin".
8610 (check_startmenu): Ditto.
8611
8612 2001-11-11 Christopher Faylor <cgf@redhat.com>
8613
8614 * choose.cc (parse_filename): Finish reorganization by correctly
8615 decrementing p in memmove.
8616
8617 2001-11-11 Christopher Faylor <cgf@redhat.com>
8618
8619 * choose.cc (parse_filename): Reorganize code to work around gcc
8620 optimization problem.
8621
8622 2001-11-09 Gareth Pearce <tilps@hotmail.com>
8623
8624 * choose.cc (set_action): Allow skip as an option for installed
8625 packages that have version number not listed in setup.ini.
8626
8627 2001-11-10 Robert Collins <rbtcollins@hotmail.com>
8628
8629 * choose.cc (set_cation): Backout last change.
8630 (choose_caption): Ditto.
8631
8632 2001-11-10 Robert Collins <rbtcollins@hotmail.com>
8633
8634 * ini.h (actions): Remove - transferred to choose.h.
8635 (views): Ditto.
8636 * choose.h: Protect class's from "C" compilers.
8637 (actions): New enum, from ini.h. This may not be the 'right' place
8638 but that place doesn't exist yet.
8639 (_views): New enum, from ini.h.
8640 * choose.cc (set_action): Handle installed packages with a version not
8641 in setup.ini.
8642 (choose_caption): Ditto.
8643 * iniparse.y: Rearrange header order to handle new ini.h.
8644
8645 2001-11-10 Robert Collins <rbtcollins@hotmail.com>
8646
8647 * ini.h (_Info): Fix compiler warnings (signed vs unsigned comparison).
8648 (registry_category): Fix compiler warning (deprecated conversion).
8649 * iniparse.y (registry_category): Ditto.
8650 * choose.cc (cvsid): Fix compiler warnings (unused, deprecated
8651 conversion).
8652 (add_requried): Remove unused variable.
8653 (choose_caption): Handle all enumeration values via a default.
8654 (paint): Fix compiler warnings (unused, deprecated conversion).
8655 (scroll_common): Fix compiler warnings (unused, signed vs unsigned
8656 comparison).
8657 (list_clicK): Fix compiler warnings (signed vs unsigned comparison).
8658 (note_width): Fix compiler warnings (deprecated conversion).
8659 (keep_or_skip): Fix compiler warnings (unused).
8660 (_view::mode_caption): Fix compiler warnings (deprecated conversion).
8661 (set_view_mode): Fix compiler warnings (unused).
8662 (create_listview): Fix compiler warnings (unused, incorrect format,
8663 reaches end of function).
8664 (dialog_proc): Fix compiler warnings (unused).
8665 (read_installed_db): Fix compiler warnings (unused, deprecated
8666 conversion).
8667 * choose.h (_header): Fix compiler warnings (deprecated conversion).
8668 (_view): Ditto.
8669
8670 2001-11-08 Pavel Tsekov <ptsekov@syntrex.com>
8671
8672 * simpsock.h (SimpleSocket::invalidate): Declare new method.
8673 * simpsock.cc (SimpleSocket::invalidate): Implement new method.
8674 (SimpleSocket::SimpleSocket): Initialize buf to zero. Do not allocate
8675 memory for buf in the constructor.
8676 (SimpleSocket::~SimpleSocket): Use SimpleSocket::invalidate().
8677 (SimpleSocket::printf): Use SimpleSocket::write() instead of send().
8678 (SimpleSocket::write): Check object consistency - return -1 on error.
8679 invalidate() the object on socket write error.
8680 (SimpleSocket::fill): Check object consistency - return -1 on error.
8681 invalidate() the object if socket read error is encountered and there
8682 is no more data available in the internal read buffer.
8683 Allocate memory for the internal read buffer.
8684 (SimpleSocket::gets): Return zero (NULL pointer) if error is encountered
8685 during fill() and no more data is available in the internal read buffer.
8686 (SimpleSocket::read): Check object consistency - return -1 on error.
8687 invalidate() the object if socket read error is encountered.
8688 * nio-ftp.cc (NetIO_FTP:NetIO_FTP): Allow 125 as valid response code to
8689 the RETR command (fix for MS IIS ftp server 5 - possibly others too).
8690 (NetIO_FTP::ok): Check if the SimpleSocket object is ok().
8691 (NetIO_FTP::read): Use NetIO_FTP::ok().
8692 * nio-http.cc: Check for valid return value of SimpleSocket::gets().
8693 (NetIO_HTTP::ok): Check if the SimpleSocket object is ok().
8694
8695 2001-11-09 Robert Collins <rbtcollins@hotmail.com>
8696
8697 * simpsock.cc (cvsid): Avoid compiler warnings (not used, deprecated
8698 conversion).
8699 (SimpleSocket::SimpleSocket): Avoid compiler warnings (deprecated
8700 conversion).
8701 (SimpleSocket::printf): Ditto.
8702 (SimpleSocket::write): Ditto.
8703 * simpsock.h (SimpleSocket): Avoid compiler warnings for constructor,
8704 printf and write.
8705 * nio-ftp.cc (cvsid): Avoid compiler warnings (not used, deprecated
8706 conversion).
8707 (NetIO_FTP::NetIO_FTP): Remove unused variable done.
8708 * nio-http.cc (cvsid): Avoid compiler warnings (not used, deprecated
8709 conversion).
8710
8711 2001-11-07 Charles Wilson <cwilson@ece.gatech.edu>
8712
8713 * geturl.cc (get_url_to_string): clean up memory leak
8714 (get_url_to_file): ditto
8715
8716 2001-11-06 Robert Collins <rbtcollins@hotmail.com>
8717
8718 * localdir.cc (dialog_cmd): Go back to IDD_ROOT in every case.
8719 * source.cc (dialog_cmd): Go forward to IDD_ROOT in every case.
8720
8721 2001-11-06 Pavel Tsekov <ptsekov@syntrex.com>
8722
8723 * fromcwd.cc (found_file): Free() memory containing the version and
8724 filepath information for a given package, before replacing the pointers
8725 which reference this memory.
8726
8727 2001-11-06 Robert Collins <rbtcollins@hotmail.com>
8728
8729 * fromcwd: Fix compiler warnings for cvsid.
8730 (canonicalize_version): Fix compilter warnings.
8731 (do_fromcwd): Ditto.
8732 * version.h: Fix compiler warnings for canonicalize_version.
8733
8734 2001-11-03 Robert Collins <rbtcollins@hotmail.com>
8735
8736 * res.rc (IDD_CHOOSE): Move the view caption to the right hand side.
8737
8738 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
8739
8740 * res.rc (IDD_CHOOSE): Tweak for use on a 640x480 screen.
8741
8742 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
8743
8744 * choose.cc (set_action): Correctly allow skip for any uninstalled
8745 package.
8746
8747 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
8748
8749 * choose.cc (default_trust): Change the "Required" forced install
8750 category to "Base".
8751
8752 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
8753
8754 * choose.cc: Ran indent.
8755 (set_action): When the requested trust level is missing and the level
8756 was not user requested, set the action to ACTION_SAME_CURR.
8757
8758 2001-11-01 Christopher Faylor <cgf@redhat.com>
8759
8760 * Makefile.in (mingw_getopt.o): Fix typo in non-verbose compilation.
8761
8762 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
8763
8764 * choose.cc (_view::init_headers): Resync with the paint logic.
8765
8766 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
8767
8768 * choose.cc (add_required): Allow SKIP and SRC_ONLY for currently
8769 installed packages.
8770
8771 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
8772
8773 * choose.cc (default_trust): Autoset currently installed packages per
8774 the user's selection of prev/curr/exp.
8775
8776 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
8777
8778 * splash.cc (dialog_proc): Return TRUE as specified in the WIN32 API.
8779
8780 2001-11-02 Pavel Tsekov <ptsekov@syntrex.com>
8781
8782 * geturl.cc (is_showing): Remove.
8783 (is_local_install): New static variable. Controls whether the
8784 progress dialog and the supporting thread will be created.
8785 (dialog_proc): Return TRUE to WM_INITDIALOG as specified by the WIN32
8786 API.
8787 (init_dialog): Remove usage of SetForegroundWindow and is_showing.
8788 This prevents the progress dialog to gain control over the
8789 application and fixes the "setup.exe going to background" problem.
8790 (progress): Use is_local_install.
8791 (get_url_to_string): Set is_local_install.
8792 (dismiss_url_status_dialog): Use is_local_install.
8793 * install.cc (dialog_proc): Return TRUE as specified in WIN32 API.
8794 (init_dialog): Remove usage of SetForegroundWindow.
8795 This prevents the progress dialog to gain control over the
8796 application and fixes the "setup.exe going to background" problem.
8797
8798 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
8799
8800 * choose.cc (list_click): Change r to row for clarity.
8801 When we shrink the list below 1 page, scroll to the top of the list.
8802 (_view::click): Return the actual change for contractions.
8803 (dialog_proc): Return TRUE to WM_INITDIALOG as specified by the Win32
8804 API.
8805
8806 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
8807
8808 * choose.cc (dialog_cmd): Swap cygwin root selection and local dir
8809 selection order.
8810 * localdir.cc: Ran indent.
8811 (get_root_dir_now): New function.
8812 (save_local_dir): New function.
8813 (dialog_cmd): Use it and swap cygwin root selection and local dir
8814 selection order.
8815 (do_local_dir): If there is a saved local dir, read it in.
8816 * net.cc (dialog_cmd): Swap cygwin root selection and local dir
8817 selection order.
8818 * root.cc (dialog_cmd): Ditto.
8819 * source.cc (dialog_cmd): Ditto.
8820
8821 2001-11-01 Robert Collins <rbtcollins@hotmail.com>
8822
8823 * choose.cc(list_vscroll): Return 0 as required by win32.
8824 (list_hscroll): Ditto.
8825 (list_click): Ditto.
8826
8827 2001-11-01 Robert Collins <rbtcollins@hotmail.com>
8828
8829 * argv.cc: Remove.
8830 * argv.h: Remove.
8831 * main.cc(WinMain): Use __argv to retrieve command line parameters.
8832 * Makefile,in: Remove argv.o.
8833
8834 2001-11-01 Matt Hargett <matt@use.net>
8835
8836 * geturl.cc (progress): Change int to unsigned int to eliminate
8837 lint warnings.
8838 * (get_url_to_string): Check for NULL pointer.
8839 * mount.cc (find2): Use free instead of delete for malloc'd
8840 memory.
8841 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Fix memory leak.
8842
8843 2001-10-31 Robert Collins <rbtcollins@hotmail.com>
8844
8845 * choose.cc(_view::insert_under): Handle linen > nlines and lines[linen]
8846 with neither a package nor a category. The lines[linen] bug was reported
8847 by Matt (matt@usa.net).
8848 (read_installed_db): Bugfix for testing whether a package has a source
8849 tarball. Reported by Matt (matt@usa.net).
8850 * geturl.cc(dialog): Rename gw_dialog to local_gw_dialog to avoid
8851 programmer confusion and lint errors. Reported by Matt (matt@usa.net).
8852
8853 2001-10-31 Robert Collins <rbtcollins@hotmail.com>
8854
8855 * argv.cc: New file, converts arguments for -mwindows
8856 programs. (Simplified derivation from dcrt0.cc.)
8857 * argv.h: New file.
8858 * Makefile,in: Add argv.o and mingw_getopt.o to setup.exe object list.
8859 Add mingw_getopt.o build rule.
8860 * main.cc(WinMain): Initialise argv and argc for use by getopt.
8861
8862 2001-10-27 Christopher Faylor <cgf@redhat.com>
8863
8864 * res.rc: Rearrange info on top line slightly.
8865
8866 2001-10-27 Christopher Faylor <cgf@redhat.com>
8867
8868 * desktop.cc (make_passwd_group): Move file creation earlier in the
8869 process to ensure that passwd-grp.bat reflects desired operation.
8870
8871 2001-27-10 Trevor Forbes <t4bs@hotmail.com>
8872
8873 * postinstall.cc (each): Remove "*.done" file else rename will fail.
8874
8875 2001-10-16 Christopher Faylor <cgf@redhat.com>
8876
8877 * res.rc: Oops. Take 640x480 screen size into account.
8878
8879 2001-10-16 Christopher Faylor <cgf@redhat.com>
8880
8881 * res.rc: Enlarge chooser screen.
8882
8883 2001-10-12 Christopher Faylor <cgf@redhat.com>
8884
8885 * Makefile.in: Accomodate changes to w32api_include macro.
8886
8887 2001-10-12 Christopher Faylor <cgf@redhat.com>
8888
8889 * Makefile.in: Use correct flags for windres.
8890
8891 2001-10-12 Christopher Faylor <cgf@redhat.com>
8892
8893 * Makefile.in (CFLAGS): Remove -nostdinc from CFLAGS.
8894
8895 2001-10-12 Christopher Faylor <cgf@redhat.com>
8896
8897 * choose.cc (pick_line::paint): Reorganize after botched patch.
8898
8899 2001-10-12 Christopher Faylor <cgf@redhat.com>
8900
8901 * choose.cc (pick_line::paint): Add missing declaration.
8902
8903 2001-10-10 Ralf Habacker <Ralf.Habacker@freenet.de>
8904
8905 * choose.cc (pick_line::paint): Add package name to sdesc for display.
8906
8907 Wed Sep 26 21:39:00 Robert Collins rbtcollins@hotmail.com
8908
8909 * choose.cc (_view::insert_pkg): Correctly exit loop.
8910 * iniparse.y (register_category): Always insert new categories.
8911
8912 Fri Sep 21 13:56:32 2001 Christopher Faylor <cgf@cygnus.com>
8913
8914 * inilex.l (yylex): For comments, eat all characters up to, but not
8915 including newline.
8916
8917 Sun Aug 26 12:50:01 2001 John Marshall <jmarshall@acm.org>
8918
8919 * fromcwd.cc (found_file): Use correct package name when adding an
8920 unknown package rather than random stack garbage.
8921
8922 Sun Aug 12 14:25:21 2001 Christopher Faylor <cgf@cygnus.com>
8923
8924 * desktop.cc (make_passwd_group): .bat files need \r\n endings.
8925
8926 Wed Aug 8 13:53:47 2001 Christopher Faylor <cgf@cygnus.com>
8927
8928 * desktop.cc (etc_profile): Leave environment variables untouched.
8929
8930 2001-08-07 Corinna Vinschen <corinna@vinschen.de>
8931
8932 * autoload.c: Add dynamic load statements for NT/W2K
8933 advapi32 functions not available in 9x/ME.
8934 * main.cc (set_default_dacl): New function.
8935 (WinMain): Call `set_default_dacl' if running on NT/W2K.
8936
8937 Sat Aug 4 21:35:53 2001 Christopher Faylor <cgf@cygnus.com>
8938
8939 * ini.h (_CategoryPackage): Change pkg field to pkgname for
8940 consistency.
8941 * choose.cc: Use pkgname field when referencing _CategoryPackage
8942 throughout.
8943 (fill_missing_category): Don't add excluded packages.
8944 (default_trust): Ditto.
8945 (_view::insert_pkg): Ditto.
8946 * iniparse.y (register_category): Use consistent variable name.
8947
8948 2001-07-09 Egor Duda <deo@logos-m.ru>
8949
8950 * choose.cc: Use system foreground color for text output.
8951
8952 Sat Jul 7 00:40:28 2001 Christopher Faylor <cgf@cygnus.com>
8953
8954 * choose.cc (set_action): Use default trust for determining reinstall
8955 and source only.
8956 (default_trust): Set default trust.
8957 (pick_line::paint): Allow source selection when reinstalling or
8958 retrieving.
8959
8960 Fri Jul 6 18:08:49 2001 Christopher Faylor <cgf@cygnus.com>
8961
8962 * choose.cc (isinstalled): Modify to properly accomodate special case
8963 of "download only".
8964 (set_action): Check downloaded components, not installed components if
8965 "download only".
8966 (set_existence): Always include full list of files when "download
8967 only".
8968
8969 Fri Jul 6 00:37:05 2001 Christopher Faylor <cgf@cygnus.com>
8970
8971 * choose.cc (pick_line::paint): Properly display "na" field when no
8972 source exists.
8973
8974 Thu Jul 5 00:34:23 2001 Christopher Faylor <cgf@cygnus.com>
8975
8976 * choose.cc (scan2): Ensure that older versions do not show up in
8977 "Test" slot.
8978
8979 Mon Jul 2 15:47:59 2001 Christopher Faylor <cgf@cygnus.com>
8980
8981 * choose.cc (set_action): Allow "Skip" action if trust != installed.
8982 * res.rc: Fix copyright.
8983
8984 Sat Jun 30 14:05:21 2001 Michael A Chase <mchase@ix.netcom.com>
8985
8986 * res.rc (IDD_LOCAL_DIR): Change caption to match the other dialog
8987 boxes.
8988 (IDD_CHOOSE): Adjust horizontal size so package names are visible.
8989
8990 * choose.cc: Restore some more changes from 2001-06-25, throughout.
8991 (paint): Wrap some excessively long lines.
8992 (pick_line::paint): Ditto. Move the arrow in the "Current" column
8993 right to where it belongs. Move the source checkbox slightly to the
8994 right.
8995 (do_choose): List categories and required packages in setup.log.full.
8996
8997 Sat Jun 30 23:04:59 2001 Christopher Faylor <cgf@cygnus.com>
8998
8999 * choose.cc (scan2): Restore source scanning eliminated by previous
9000 checkin.
9001
9002 Sat Jun 30 15:18:33 2001 Christopher Faylor <cgf@cygnus.com>
9003
9004 * ini.h (struct _Info): Add "derived" element.
9005 * choose.cc (scan2): Try to place unknown tar files into proper slot
9006 when package exists in setup.ini but tar file does not.
9007
9008 Sat Jun 30 13:39:00 2001 Robert Collins <rbtcollins@hotmail.com>
9009
9010 * choose.cc (create_listview): Call set_view_mode with VIEW_CATEGORY.
9011 (do_choose): Log the first category name.
9012
9013 Fri Jun 29 23:07:44 2001 Christopher Faylor <cgf@cygnus.com>
9014
9015 *ini.h: Reapply 2001-06-25 changes.
9016 * choose.cc (add_required): Ditto. Default to "Keep" state if
9017 UNINSTALL and product is installed. Default to curr state if SKIP,
9018 etc.
9019 (keep_or_skip): New function. Returns skip or keep state depending on
9020 installed state of package.
9021 (default_trust): Use keep_or_skip to set state.
9022 (_view::insert_pkg): Use calloc to allocate lines.
9023 (set_view_mode): Adapt 2001-06-25 change to set_full_list here.
9024
9025 Sat Jun 30 11:01:00 2001 Robert Collins <rbtcollins@hotmail.com>
9026
9027 * choose.cc: Remove globals full_list, headers, package_indexes and
9028 nindexes.
9029 Add globals cat_headers, pkg_headers and chooser.
9030 (add_required): New function.
9031 (paint): Use the chooser for header details.
9032 Call into the chooser to paint each line.
9033 (list_click): Use new global variables.
9034 Call into the chooser to handle the click.
9035 Repaint the entire view if packages have been added or removed.
9036 (note_width): Get passed a headers struct rather than using a global
9037 variable.
9038 (fill_missing_category): New function.
9039 (default_trust): Skip non-"Required" or "Misc" packages.
9040 (pick_line::set_line (Package *)): New function.
9041 (pick_line::set_line (Category *)): New function.
9042 (pick_line::paint): New function.
9043 (pick_line::click): New function.
9044 (_view::_view): New function.
9045 (_view::set_view_mode): New function.
9046 (_view::mode_caption): New function.
9047 (_view::set_headers): New function.
9048 (_view::init_header): New function.
9049 (_view::insert_pkg): New function.
9050 (_view::insert_category): New function.
9051 (_view::insert_at): New function.
9052 (_view::insert_under): New function.
9053 (_view::clear_view): New function.
9054 (viewsplusplus): New function.
9055 (_view::client): New function.
9056 (set_view_mode): Use new chooser functionality.
9057 (set_full_list): Use new global variables.
9058 (create_listview): Instantiate chooser.
9059 Remove all hardcoded headers[] code.
9060 (dialog_cmd): On trust changes, check dependencies.
9061 (getcategorybyname): New function.
9062 (getpackagecategorybyname): New function.
9063 (scan2): Use case-insensitive package comparison.
9064 (do_choose): Use fill_missing_category ().
9065 Show some category data.
9066 * ini.h: Protect against multiple inclusion.
9067 (views) New enum.
9068 (_CategoryPackage): New struct.
9069 (_Category): New struct.
9070 (_Package): Change category to Category * from char *.
9071 (extern Category category): New global variable.
9072 (extern in ncategories): Ditto.
9073 (getcategorybyname): New prototype.
9074 (catpackagecategorybyname): New prototype.
9075 (register_category): New prototype.
9076 (add_category): New prototype.
9077 * iniparse.y: Parse multiple categories per package.
9078 (category): New global variable.
9079 (ncategories): New global variable.
9080 (new_package): Compare package against NULL, not 0.
9081 (new_requirement): Source formatting fix.
9082 (register_category): New function.
9083 (add_category): New function.
9084 * res.rc: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW.
9085 IDC_CHOOSE_VIEWCAPTION: New control.
9086 * resource.h: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW.
9087 IDC_CHOOSE_VIEWCAPTION: New control.
9088 Increment _APS_NEXT_CONTROL_VALUE.
9089
9090 Mon Jun 25 00:56:37 2001 Michael A Chase <mchase@ix.netcom.com>
9091
9092 * choose.cc (paint): Wrap excessively long lines.
9093 (list_click): Ditto.
9094 (create_listview): Ditto.
9095 (do_choose): Ditto. Replace TABs and remove CRs in lines written to
9096 setup.log.full. Allow "Yes" for source exists in setup.log.full when
9097 installing from local directories.
9098
9099 Mon Jun 25 00:56:37 2001 Christopher Faylor <cgf@cygnus.com>
9100
9101 * choose.cc (set_action): Only clear srcpicked when moving to next
9102 state. Allow source installation if it exists in the current "trust"
9103 state. Don't move to skip state when package is installed.
9104 (list_click): Don't allow source clicking when no source is available.
9105 (set_full_list): Display package when not is_full_action.
9106 * ini.h (is_full_action): Define.
9107
9108 Sun Jun 17 12:06:14 2001 Christopher Faylor <cgf@cygnus.com>
9109
9110 * install.cc (check_for_old_cygwin): New function. First stab at
9111 checking for old cygwin versions.
9112 (do_install): Call check_for_old_cygwin if there were no errors during
9113 the install.
9114
9115 Sat Jun 16 11:33:51 2001 Michael A Chase <mchase@ix.netcom.com>
9116
9117 * choose.cc (_Info::_Info): Test _source paramenter for non-NULL rather
9118 than zeroed "source" element.
9119
9120 Fri Jun 15 20:54:43 2001 Christopher Faylor <cgf@cygnus.com>
9121
9122 * choose.cc (scan2): Insert unknown tar archives, found on disk, into
9123 the highest available "hole" in the trust array.
9124
9125 Fri Jun 15 00:20:48 2001 Christopher Faylor <cgf@cygnus.com>
9126
9127 * choose.cc (set_existence): Use pointer method for indexing in trust
9128 array.
9129 (create_listview): Ditto.
9130 (scan2): Ditto. Also, use consistent variable name for indexing into
9131 trust array.
9132 * ini.h (Package): Reorganize info array for easier scanning.
9133
9134 Fri Jun 15 00:01:51 2001 Christopher Faylor <cgf@cygnus.com>
9135
9136 * choose.cc (isinstalled): Eliminate special download only test.
9137 (set_action): Don't move to next state if in ACTION_SAME range and not
9138 incrementing.
9139 (choose_caption): Display "Retrieve" rather than "Reinstall" when just
9140 downloading.
9141 (do_choose): Sort packages after all packages have been read.
9142 Accomodate the fact that first element in trust array is empty so that
9143 log files don't report the wrong trust value.
9144 * iniparse.y (new_package): Malloc space for package name or suffer
9145 memory corruption.
9146
9147 Thu Jun 14 22:43:59 2001 Robert Collins <rbtcollins@hotmail.com>
9148
9149 * ini.h (Dependency): New structure. Declare new function.
9150 * inilex.l (yylex): Detect new setup.ini options - category and
9151 requires.
9152 * iniparse.y: Declare new setup.ini token values.
9153 (yyparse): Parse new token values.
9154 (new_requirement): New function.
9155
9156 Thu Jun 14 22:43:26 2001 Christopher Faylor <cgf@cygnus.com>
9157
9158 * choose.cc (read_installed_db): Eliminate obsolete code.
9159
9160 Thu Jun 14 22:11:53 2001 Christopher Faylor <cgf@cygnus.com>
9161
9162 * choose.cc (set_action): Set trust on "redo".
9163 (_Info::_Info): New constructor.
9164 (read_installed_db): Use new constructor. Use trusts type for
9165 iterator.
9166 * ini.h (struct _Info): Label struct, add constructor.
9167 (Package): Make installed_ix a type 'trusts.'
9168 * install.cc (uninstall_one): Unset any installed info for current
9169 package.
9170 (install_one): Allocate new Info struct for installed reflecting new
9171 installed info.
9172 (do_install): Don't output line to installed.db if package is being
9173 uninstalled.
9174
9175 Thu Jun 14 20:33:01 2001 Robert Collins <rbtcollins@hotmail.com>
9176
9177 * choose.cc (getpkgbyname): Use consistent method for scanning package
9178 array.
9179
9180 Wed Jun 13 23:33:08 2001 Christopher Faylor <cgf@cygnus.com>
9181
9182 * choose.cc: Add some comments.
9183 (getpkgbyname): Use strcasecmp for comparisons.
9184
9185 Wed Jun 13 16:07:00 2001 Christopher Faylor <cgf@cygnus.com>
9186
9187 * install.cc (do_install): Avoid checking for download action if
9188 package wasn't currently retrieved.
9189
9190 Wed Jun 13 11:27:22 2001 Christopher Faylor <cgf@cygnus.com>
9191
9192 * choose.cc: Eliminate extra array throughout. Use element in package
9193 structure instead. Use pointers rather than array indexes where
9194 appropriate.
9195 (set_action): New function to set next action based on current.
9196 (choose_caption): New function. Returns display caption.
9197 (check_existence): Change arguments. Use pointer to 'info' structure.
9198 (set_existence): Use pointer rather than array index.
9199 (default_trust): Use trusts enum for second argument.
9200 (set_full_list): Honor exclude element in package structure.
9201 (build_labels): Eliminate.
9202 (base): Make global. Use const char * argument.
9203 (get_package_version): Eliminate.
9204 (getpkgbyname): New function.
9205 (read_installed_db): Use parse_filename to get version info.
9206 * desktop.cc (make_passwd_group): Use getpkgbyname function.
9207 * download.cc (get_file_size): const argument.
9208 (do_download): Use is_download_action to determine when something
9209 should be downloaded.
9210 * filemanip.h: Add some functions.
9211 * ini.cc (do_ini): Use NULL rather than 0 for pointer assignment.
9212 * ini.h: Use enums for actions and trusts.
9213 (is_download_action): New macro.
9214 (is_upgrade_action): Ditto.
9215 (is_uninstall_action): Ditto.
9216 (struct Package): Add new fields.
9217 * inilex.l (yylex): Detect new setup.ini options.
9218 * iniparse.y: Declare new tokens.
9219 (yyparse): Detect exclude keyword. Fill out version field even if
9220 version == 0.
9221 (new_package): Use greater granularity when allocating package array to
9222 avoid repeated calls to realloc.
9223 * install.cc (exists): const argument.
9224 (uninstall_one): Take pkg argument.
9225 (install_one): Ditto. Eliminate unneeded arguments which can be
9226 derived from package info.
9227 (do_install): Iterate over package array using a pointer. Use
9228 is_download_action to control when package should be downloaded.
9229 * tar.cc (tar_open): const argument.
9230 * tar.h: Refloect const argument.
9231
9232 2001-05-31 Michael Chase mchase@ix.netcom.com
9233
9234 * main.cc (WinMain): Add setup version to starting setup.log entry
9235
9236 Tue May 29 21:37:58 2001 Yukihiko Sohda <sohda@is.titech.ac.jp>
9237
9238 * inilex.l: Add + to list of valid string characters.
9239
9240 Mon May 28 20:54:50 2001 Christopher Faylor <cgf@cygnus.com>
9241
9242 * Makefile.in: Remove more stuff in the clean target.
9243
9244 Mon May 28 18:24:59 2001 Christopher Faylor <cgf@cygnus.com>
9245
9246 * Makefile.in: Correctly generate iniparse.h.
9247
9248 Tue Mar 6 19:14:00 2001 Corinna Vinschen <corinna@vinschen.de>
9249
9250 * geturl.cc (get_url_to_file): Add parameter `allow_ftp_auth'.
9251 * geturl.h: Change declaration of `get_url_to_file' accordingly.
9252 * netio.cc (NetIO::NetIO): Add parameter `allow_ftp_auth'.
9253 Set member `ftp_auth'.
9254 (NetIO::open): Add parameter `allow_ftp_auth'. Use it in calls
9255 to constructors of derived classes.
9256 (NetIO::get_ftp_auth): New method.
9257 * netio.h: Change class definition accordingly.
9258 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Add parameter `allow_ftp_auth'.
9259 Take global variables `net_ftp_user' and `net_ftp_passwd' into account.
9260 Add code for ftp authentication retry.
9261 * nio-ftp.h: Change class definition accordingly.
9262 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Add parameter `allow_ftp_auth'.
9263 Add code for ftp authentication retry in case of proxy connection.
9264 * nio-http.h: Change class definition accordingly.
9265 * res.rc: Add FTP authentication dialog.
9266 * resource.h: Add new constants used in res.rc.
9267 * state.h: Add variables `net_ftp_user' and `net_ftp_passwd'.
9268
9269 Sun May 27 17:12:23 2001 Christopher Faylor <cgf@cygnus.com>
9270
9271 * res.rc (IDD_SPLASH): Add a copyright year.
9272
9273 Sun May 27 15:42:18 2001 Christopher Faylor <cgf@cygnus.com>
9274
9275 * Makefile.in: Make iniparse.y produce a c++ file.
9276 * choose.cc (set_existence): Revert 2001-05-27 change.
9277 * ini.cc: Remove "C" from declaration of yyparse.
9278 * iniparse.y (yyparse): Fill out version field by default when a binary
9279 install is detected and no version has been set yet.
9280 * install.cc (do_install): Mount things earlier so that we can use
9281 proper mount table settings. Don't remove mounts since they are now
9282 honored.
9283 * mount.cc (create_mount): Reread the mount table after establishing a
9284 new mount.
9285 (read_mounts): Explicitly clear root_here to allow multiple uses of
9286 this function. Ensure that there is no garbage in the table when we've
9287 exhausted all of the mounts in the registry.
9288 (cygpath): Accomodate ./ in path.
9289
9290 Sun May 27 02:59:07 2001 Christopher Faylor <cgf@cygnus.com>
9291
9292 Use parse_filename method to parse filenames throughout. Use
9293 get_root_dir to retrieve the current root directory throughout. Set
9294 const in argument list, where appropriate, throughout.
9295 * choose.cc (set_existence): Detect case of uninstalled package with no
9296 version.
9297 (parse_filename): New function.
9298 * filemanip.h (fileparse): New structure.
9299 * mount.cc (read_mounts): Remember where we found the root mount.
9300 (set_root_dir): New function.
9301 (get_root_dir): Ditto.
9302 * mount.h: Declare new functions.
9303 * site.cc (get_root_dir_now): Renamed from get_root_dir.
9304 (save_site_url): Use new function name.
9305 (get_initial_list_idx): Ditto.
9306
9307 Sat May 26 21:23:59 2001 Christopher Faylor <cgf@cygnus.com>
9308
9309 * choose.cc: Use a constant throughout to deal with chooser icon
9310 length.
9311 * res.rc (IDD_CHOOSE): Increase size of chooser box.
9312
9313 2001-05-07 Brian Keener <bkeener@thesoftwaresource.com>
9314
9315 * choose.cc (do_choose): Fix incorrect assignment of trust setting to
9316 use when Redownload or Sources Only selected.
9317
9318 Thu May 10 22:35:59 2001 Christopher Faylor <cgf@cygnus.com>
9319
9320 Reformat file after botched patch formatting.
9321 * choose.cc (which_trust): Eliminate variable.
9322 (default_trust): Don't set which_trust.
9323 (do_choose): Use selected trust when reinstalling or installing source.
9324
9325 Thu May 10 21:04:18 2001 Christopher Faylor <cgf@cygnus.com>
9326
9327 Change concat to cygpath throughout.
9328 Change map_filename to cygpath throughout.
9329 * concat.cc (vconcat): New function.
9330 (concat): Use vconcat.
9331 * concat.h: Reflect above.
9332 * install.cc (map_filename): Eliminate.
9333 (install_one): Free dest_file.
9334 * mount.cc (find2): Expect input key to be pointing to mount record.
9335 (in_table): New function.
9336 (is_admin): Move from root.cc.
9337 (read_mounts): New function.
9338 (path_prefix_p): New function.
9339 (cygpath): New function.
9340 * mount.h: Define new functions and structure.
9341 * root.cc (in_table): Move to mount.cc.
9342 (do_root): Call read_mounts to initialize root stuff and mount table.
9343 * site.cc (get_root_dir): Ditto.
9344
9345 2001-05-09 Matt Hargett <matt@use.net>
9346
9347 * Makefile.in: Remove *.rc from clean.
9348
9349 Tue May 8 23:33:38 2001 Christopher Faylor <cgf@cygnus.com>
9350
9351 * choose.cc (scan2): Fix incorrect setting of TRUST_CURR rather than
9352 TRUST_PREV which produced "0" versions.
9353
9354 2001-05-07 Brian Keener <bkeener@thesoftwaresource.com>
9355
9356 * resource.h: Add new field IDC_CHOOSE_INST_TEXT. Modify
9357 _APS_NEXT_CONTROL_VALUE to account for addition of
9358 IDC_CHOOSE_INST_TEXT.
9359 * res.rc (IDD_CHOOSE): Modify choose dialog to use new field
9360 IDC_CHOOSE_INST_TEXT for screen text. Modify choose Dialog to allow
9361 hot keys to select Prev, Curr, Exp.
9362 * ini.h: Add new actions for ACTION_REDO and ACTION_SRC_ONLY. Modify
9363 define for LOOP_PACKAGES to include new actions ACTION_REDO and
9364 ACTION_SRC_ONLY.
9365 * choose.cc: Add new Trusts for TRUST_REDO and TRUST_SRC_ONLY.
9366 (paint): Modify to check TRUST_SRC_ONLY when determining Bitmap for
9367 source Checkbox to use.
9368 (build_labels): Add logic to allow for selection of Source only
9369 Download/ReDownload/Install/Reinstall and also to Redownload/Reinstall
9370 current version binary.
9371 (dialog_proc): Add conditional display for file selection prompt based
9372 on download vs install using IDC_CHOOSE_INST_TEXT.
9373 (do_choose): Add new logic for TRUST_REDO and TRUST_SRC_ONLY selection
9374 and modify logic for TRUST_UNINSTALL, TRUST_KEEP, and TRUST_NONE to
9375 handle the instance where Source Download/Install was selected. Modify
9376 log file to store appropriate information regarding Action selected and
9377 the new actions that were added (I.E.: ACTION_REDO and
9378 ACTION_SRC_ONLY).
9379 * download.cc: Add include for <unistd.h> and "port.h".
9380 (download_one): Modify parameter list to include the selected action
9381 for the file to be downloaded. Modify size check against expected size
9382 to include check for ACTION_REDO and ACTION_SRC_ONLY. Modify rename of
9383 .tmp file to also remove the destination file if exists due to ability
9384 to redownload source and binary now.
9385 (do_download): Modify to also use ACTION_REDO and ACTION_SRC_ONLY in
9386 calculation of Download Bytes. Modify to also use ACTION_REDO and
9387 ACTION_SRC_ONLY in determining files selected for download.
9388 * install.cc (uninstall_one): Add check to treat a Reinstall like an
9389 upgrade so current version will be uninstalled prior to reinstall.
9390 (do_install): Add logic to handle ACTION_REDO and ACTION_SRC_ONLY for
9391 uninstalling and installing binary and source packages.
9392 * desktop.cc (make_passwd_group): Modify logic to account for a Source
9393 only cygwin install when checking for cygwin to determine need for
9394 mkpasswd and mkgroup.
9395
9396 Mon May 7 23:33:30 2001 Matt Hargett <matt@use.net>
9397
9398 * winsup/cinstall/res.rc: Added accelerators and improved focus order.
9399 Removed WS_DISABLED from "OK" buttons to accomodate default focus
9400 changes in net.cc and source.cc.
9401 * winsup/cinstall/net.cc (dialog_proc): If no radio button is selected,
9402 a default is selected.
9403 * winsup/cinstall/source.cc (dialog_proc): Ditto.
9404 (check_if_enable_next): Removed. No longer needed since a radio button
9405 will always be selected.
9406 (load_dialog): Removed call to check_if_enable_next.
9407 (dialog_cmd): Ditto. Also added default to switch.
9408
9409 Tue Apr 24 23:42:02 2001 Christopher Faylor <cgf@cygnus.com>
9410
9411 * res.rc: Resize affected text.
9412
9413 Tue Apr 24 23:35:31 2001 Christopher Faylor <cgf@cygnus.com>
9414
9415 * net.cc (do_net): Default to direct download.
9416 * res.rc: Move default selections to the top.
9417
9418 2001-04-18 Earnie Boyd <earnie@users.sourceforge.net>
9419
9420 * win32.h: Remove the definitions for _UNION_NAME and _STRUCT_NAME.
9421 Must now include <windows.h> and not the pieces.
9422 * choose.cc (create_listview): Clean up type mismatch problems.
9423 * dialog.h (NEXT(id)): Ditto.
9424 * geturl.cc (dialog): Ditto.
9425 * install.cc (dialog): Ditto.
9426 * splash.cc (load_dialog): Ditto.
9427
9428 Wed Apr 18 18:59:21 2001 Christopher Faylor <cgf@cygnus.com>
9429
9430 * tar.cc (class gzbz): Define dummy virtual functions.
9431
9432 Wed Apr 18 16:01:21 2001 Christopher Faylor <cgf@cygnus.com>
9433
9434 * Makefile.in: Add bz2 include/library support.
9435 * filemanip.h: New file.
9436 * choose.cc (find_tar_ext): New function. Returns TRUE if .tar.gz or
9437 .tar.bz2 found.
9438 (scan2): Reorganize to use find_tar_ext, accomodating .bz2 extension.
9439 (read_installed_db): Ditto.
9440 (do_choose): Ditto.
9441 * fromcwd.cc (found_file): Ditto.
9442 (do_fromcwd): Ditto.
9443 * tar.cc (class gzbz): New super class for uncompression support.
9444 (gz): New class for gzip support.
9445 (bz): New class for bzip2 support.
9446 (tar_open): Use gzbz class to control file opening.
9447 (tar_ftell): Ditto for returning position in file.
9448 (skip_file): Ditto for reading file.
9449 (tar_next_file): Ditto.
9450 (tar_read_file): Ditto.
9451 (tar_close): Ditto for close.
9452
9453 * zlib/configure.in: Force NM substitution.
9454
9455 * source.cc (do_source): Default to "Install from Internet".
9456
9457 2001-03-16 Brian Keener <bkeener@thesoftwaresource.com>
9458
9459 * nio-file.cc (NetIO_File::NetIO_File): Use `get_file_size' instead of
9460 `stat'.
9461 * choose.cc (list_click): Correct inability to select source code for
9462 download.
9463 (scan2): Modify to skip source tarballs when scanning disk for
9464 installable packages.
9465
9466 2001-03-10 Chris Abbey <chris_abbey@yahoo.com>
9467
9468 * install.cc: install sources into /usr/src instead
9469 of /, also include the sizes of source tarballs
9470 in total_bytes.
9471 * download.cc: include sizes of source tarballs in
9472 total_download_bytes.
9473
9474 Tue Mar 6 19:31:00 2000 Corinna Vinschen <corinna@vinschen.com>
9475
9476 * download.cc (get_file_size): Remove `static'.
9477
9478 Tue Mar 6 19:11:00 2000 Corinna Vinschen <corinna@vinschen.com>
9479
9480 * tar.cc (tar_open): Use `get_file_size' instead of `stat'.
9481
9482 2001-03-06 Brian Keener <bkeener@thesoftwaresource.com>
9483
9484 * choose.cc (paint): Modify message for nothing to download vs
9485 nothing to install/update based on installation method.
9486 (list_click): Modify to skip versions in selection process if
9487 installing from local directory and installation file does not exist.
9488 Also leaves Source Action set to N/A if the source file does not exist
9489 and installing from local directory.
9490 (check_existence): New method to check current existence of installation
9491 files based on selected installation method.
9492 (set_existence): New method to set the current existence of installation
9493 files based on selected installation method.
9494 (best_trust): Modify decision process for best trust to base decision on
9495 current trust selected (IE: Prev, Curr, or Test), existence of file and
9496 installation method selected.
9497 (default_trust): Add logic to capture the current trust level and the
9498 trust selected for the given package.
9499 (set_full_list): Expand decision criteria for displaying a package in
9500 the selection list to include file existence/non-existence and selected
9501 installation method.
9502 (build_labels): Modify criteria for label addition to include
9503 installation method and file existence/non-existence.
9504 (create_listview): Modify to establish package trust level for each
9505 package before setting up the display list. Also modification to set
9506 current trust button as the default.
9507 (dialog_cmd): Set response for Prev, Curr, Test button push to perform
9508 a reset of the selection list in addition to setting the default trust.
9509 (get_package_version): New method to provide reusable code for
9510 determining the package version from the file name for a specified
9511 trust.
9512 (scan2): Modify to use new method get_package_version and
9513 also enhance handling of the build for the structures package and
9514 extra.
9515 (read_installed_db): Modify to use the new method
9516 get_package_version and also enhance handling of the build for the
9517 structures package and extra.
9518 (do_choose): Add additional initialization of package and extra
9519 structures. Modify to use read_installed_db all the time despite
9520 install method. Modify output to setup.log.full log file to increase
9521 readability by adding additional spacing, expanded code and available
9522 versions.
9523 * ini.h: Add new fields install_exists, source_exists and
9524 partial_list_display to the structure definition for package.
9525 * res.rc (IDD_CHOOSE): Modify choose dialog Prev, Curr, and Test
9526 pushbuttons by replacing with Radio Buttons thus allowing the
9527 operator to better determine which is selected.
9528
9529 2001-02-20 Brian Keener <bkeener@thesoftwaresource.com>
9530
9531 * download.cc (do_download): Add new variables total_download_bytes and
9532 total_download_bytes_sofar for download progress meter. Add loop
9533 to accumulate the total bytes to download from the selected packages.
9534 * geturl.cc: Add state.h and diskfull.h to include list. Add new
9535 variables gw_iprogress, gw_pprogress, gw_progress_text,
9536 gw_pprogress_text, and gw_iprogress_text to allow for addition of
9537 total packages download progress meter and disk full percent
9538 progress meter. Add variables total_download_bytes and
9539 total_download_bytes_sofar for use by progress meters.
9540 (dialog_proc): Add new variables gw_iprogress, gw_pprogress,
9541 gw_progress_text, gw_pprogress_text, and gw_iprogress_text to
9542 allow for addition of total packages download progress meter and disk
9543 full percent progress meter.
9544 (init_dialog): Ditto.
9545 (progress): Ditto.
9546 (get_url_to_file): Ditto.
9547 * geturl.h: Add external definition for total_download_bytes and
9548 total_download_bytes_sofar.
9549 * res.rc: Add two additional progress meters (IDC_DLS_IPROGRESS)
9550 and (IDC_DLS_PPROGRESS) and three text objects (IDC_DLS_PROGRESS_TEXT)
9551 and (IDC_DLS_IPROGRESS_TEXT, IDC_DLS_PPROGRESS_TEXT) for use in the
9552 download meters.
9553 * resource.h: Add new fields for progress meters and text and update
9554 _APS_NEXT_CONTROL_VALUE.
9555
9556 Wed Feb 21 13:05:00 2000 Corinna Vinschen <vinschen@redhat.com>
9557
9558 * download.cc (get_file_size): Check for INVALID_HANDLE_VALUE instead
9559 for NULL.
9560
9561 Wed Feb 21 11:21:00 2000 Corinna Vinschen <vinschen@redhat.com>
9562
9563 * download.cc (download_one): Add missing parenthesis.
9564
9565 Mon Feb 19 18:59:00 2000 Corinna Vinschen <vinschen@redhat.com>
9566
9567 * download.cc (get_file_size): New function. Eliminates the need
9568 to call `stat'.
9569 (download_one): Call `get_file_size' instead of `stat'. This
9570 workarounds a problem with mingw's `stat' call.
9571
9572 2001-02-07 Earnie Boyd <earnie@users.sourceforge.net>
9573
9574 * Makefile.in: (%.o: %.rc): Specify --include-dir $(w32api_include).
9575 This is to allow cinstall to build with 2.95.2-7 and to make the
9576 use of headers consistent.
9577
9578 2000-12-26 Earnie Boyd <earnie_boyd@yahoo.com>
9579
9580 * Makefile.in (autoload.o): Add target to specify -fno-inline-functions
9581
9582 Tue Dec 26 03:46:00 2000 Matt Hargett <matt@use.net>
9583
9584 * winsup/cinstall/res.rc: Added accelerators and improved focus
9585 order.
9586
9587 2000-12-10 Egor Duda <deo@logos-m.ru>
9588
9589 * choose.cc (paint): Use system background color for text output.
9590
9591 Sun Dec 10 19:05:25 2000 Christopher Faylor <cgf@cygnus.com>
9592
9593 * Makefile.in: Use CXX for linking and for compiling .cc files.
9594 * configure.in: Find correct c++ compiler.
9595 * configure: Regenerate.
9596
9597 2000-11-17 DJ Delorie <dj@redhat.com>
9598
9599 * splash.cc (load_dialog): Make message more obvious.
9600 * res.rc: Ditto.
9601
9602 Fri Nov 17 17:15:21 2000 Christopher Faylor <cgf@cygnus.com>
9603
9604 * Makefile.in: Use g++ to link so that libstdc++.a gets used. This is
9605 necessary for newer compilers.
9606
9607 Wed Nov 9 2:19:00 2000 Corinna Vinschen <vinschen@redhat.com>
9608
9609 * desktop.cc: Include "ini.h" and "version.h".
9610 (make_passwd_group): Skip the function on 9x/ME boxes when an
9611 older version of Cygwin has been installed which doesn't
9612 support mkpasswd/mkgroup on 9x/ME.
9613 * install.cc: Move the `LOOP_PACKAGES' and `pi' macros to...
9614 * ini.h: ...here.
9615
9616 Wed Nov 8 17:10:00 2000 Corinna Vinschen <vinschen@redhat.com>
9617
9618 * desktop.cc (make_passwd_group): Don't exit when started
9619 on 9x/ME since mkpasswd/mkgroup are usable on 9x/ME now.
9620
9621 Sun Nov 5 12:51:42 2000 Jason Tishler <jt@dothill.com>
9622
9623 * install.cc (do_install): Add call to set_cygdrive_flags to sync
9624 the mount modes.
9625 * mount.cc (set_cygdrive_flags): New function.
9626 (get_cygdrive_flags): Ditto.
9627 (default_cygdrive): Ditto.
9628 (set_cygdrive_flags): Ditto.
9629 * mount.h: Add prototype for set_cygdrive_flags.
9630
9631 2000-10-23 DJ Delorie <dj@redhat.com>
9632
9633 * ini.h: add source actions
9634 * fromcwd.cc: check for available sources
9635 * res.rc: add checkbox bitmaps
9636 * resource.h: ditto
9637 * check-*.bmp: new
9638 * choose.cc: add source column
9639 * download.cc: download sources if called for
9640 * install.cc: [un]install sources too
9641
9642 2000-10-22 DJ Delorie <dj@redhat.com>
9643
9644 * choose.cc (build_labels): Don't skip TRUST_PREV completely; only
9645 ignore it wrt full_list if there's already a version installed.
9646 (do_choose): Sort the list.
9647 (package_sort): New.
9648
9649 2000-10-12 DJ Delorie <dj@redhat.com>
9650
9651 * res.rc: Add more error strings.
9652 * resource.h: Ditto.
9653 * iniparse.y (new_package): re-initialize if needed.
9654 * download.cc (do_download): Keep track of errors; notify and
9655 allow retry.
9656 * install.cc (do_install): Ditto.
9657
9658 2000-10-05 DJ Delorie <dj@redhat.com>
9659
9660 * Makefile.in: fix %.cc rule
9661
9662 2000-10-04 DJ Delorie <dj@redhat.com>
9663
9664 * desktop.cc: quote HOME and USER, don't . ./.profile
9665
9666 * choose.cc (build_labels): don't include in partial list just
9667 because there's a *previous* version available.
9668
9669 * install.cc (do_install): if installing from local directory with
9670 setup.ini and the file isn't found, look in "." also. Note errors.
9671
9672 2000-10-02 DJ Delorie <dj@redhat.com>
9673
9674 * ini.cc (do_ini): save setup.ini locally
9675
9676 2000-10-02 Chris Abbey <cabbey@bresnanlink.net>
9677
9678 * desktop.cc: quote escapes in prompt
9679
9680 2000-10-02 Jason Tishler <jt@dothill.com>
9681
9682 * root.cc (is_admin): New function.
9683 (read_mount_table): Check for administrative priviledges and set
9684 installation scope as appropriate.
9685
9686 2000-09-28 DJ Delorie <dj@redhat.com>
9687
9688 * nio-ftp.cc (ftp_line): handle continuations more robustly
9689
9690 2000-09-14 Brian Keener <bkeener@thesoftwaresource.com>
9691
9692 * res.rc: increased the size of the site dialog (IDD_SITE) & the
9693 corresponding list box to provide for more URL's to be listed.
9694 Modified the position of the Back, Next and Cancel buttons to
9695 correspond to the new size of the dialog.
9696
9697 2000-09-13 DJ Delorie <dj@redhat.com>
9698
9699 * install.cc (do_install): update disk fullness once per package
9700 to improve performance
9701
9702 * choose.cc (create_listview): call ReleaseDC
9703
9704 Mon Sep 11 22:40 2000 Harold L Hunt II <harold@compasstechnologies.com>
9705
9706 * mkdir.cc: Create directories when ERROR_FILE_NOT_FOUND is
9707 returned, as it seems Samba 2.0.6+ returns this instead of
9708 ERROR_PATH_NOT_FOUND
9709
9710 Mon Sep 11 19:35:24 2000 Christopher Faylor <cgf@cygnus.com>
9711
9712 * site.cc (get_initial_list_idx): Don't default to saved URL if it
9713 refers to sources.
9714
9715 2000-09-07 DJ Delorie <dj@redhat.com>
9716
9717 * splash.cc: use version.h, not local decl
9718 * res.rc: add "old version" message
9719 * resource.h: ditto
9720 * version.h: new
9721 * fromcwd.cc (canonicalize_version): make global
9722 * iniparse.y: add setup-version support, fix bug in blank line
9723 handling
9724
9725 * inilex.l: add [exp] as alias for [test], add setup-version
9726 * Makefile.in (version.c): add setup-version tag
9727
9728 * desktop.cc (do_desktop): remove 1.1 version number
9729 (do_desktop_setup): ditto
9730
9731 * ini.cc (do_ini): zero out package list just in case we redo it.
9732
9733 2000-09-07 Jeffrey Juliano <juliano@cs.unc.edu>
9734
9735 * choose.cc (list_click): Check for nindexes==0; if so, return.
9736
9737 2000-09-06 Andrej Borsenkow <Andrej.Borsenkow@mow.siemens.ru>
9738
9739 * localdir.cc: new, local package directory selection dialog; cd
9740 into selected directory
9741 * Makefile.in (OBJS): add localdir.o
9742 * dialog.h: add prototype for do_local_dir
9743 * main.cc (WinMain): initialize local_dir to cwd; add call to
9744 do_local_dir
9745 * net.cc (dialog_cmd): make DO_LOCAL_DIR next dialog
9746 * source.cc (dialog_cmd): ditto
9747 * res.rc: add DO_LOCAL_DIR dialog; remove "current directory" from
9748 presented choices in IDD_SOURCE; add IDS_ERR_CHDIR error string
9749 * resource.h: defines for DO_LOCAL_DIR dialog; define IDS_ERR_CHDIR
9750 * root.cc (dialog_cmd): make DO_LOCAL_DIR previous dialog
9751 * state.h: add local_dir variable
9752
9753 2000-09-06 Brian Keener <bkeener@thesoftwaresource.com>
9754
9755 * desktop.cc: added logic to handle to the new dialog and to
9756 default the setting for the new checkboxes based on whether the
9757 desktop icon or start menu link already exist.
9758 (desktop_icon): correction to desktop directories for desktop icon
9759 creation. Additional logic added for Win95 which does not appear
9760 to have Common Directories so if Common selected and null uses
9761 normal directory.
9762 (start_menu): Additional logic added for Win95 which does not
9763 appear to have Common Directories so if Common selected and null
9764 uses normal directory.
9765 (do_desktop_setup): moved the saving of the icon, creation of the
9766 bat file, profile, passwd, Start Menu link and desktop shortcut to
9767 this method from do_desktop. Made the creation of the desktop
9768 icon and start menu link conditional on settings of new dialog
9769 created for desktop.
9770 * install.cc (do_install): changed next from IDD_S_DESKTOP to
9771 IDD_DESKTOP.
9772 * main.cc (WinMain): changed case IDD_S_DESKTOP to IDD_DESKTOP.
9773 * res.rc: added new resource to create a desktop dialog with 2
9774 checkboxes for creating the desktop icon and start menu link.
9775 * resource.h: changed IDD_S_DESKTOP to IDD_DESKTOP and added two
9776 new controls: IDC_ROOT_MENU and IDC_ROOT_DESKTOP for new dialog.
9777 * state.h: added root_menu and root_desktop for use in dialog.
9778
9779 2000-08-29 DJ Delorie <dj@redhat.com>
9780
9781 * choose.cc (scan_downloaded_files): scan for existing files, so
9782 that the user only sees new downloads.
9783
9784 * nio-ie5.cc (NetIO_IE5): pre-check for wininet.dll, enable dial-up
9785 * site.cc (do_site): if we can't download the mirror list, go back
9786 to the net setup box to choose another transport.
9787 * autoload.c: add more functions
9788 * Makefile.in (ALL_DEP_LDLIBS): remove wininet.a
9789 * resource.h: add WININET message
9790
9791 * net.cc (do_net): no longer default to IE5
9792 * simpsock.h (class SimpleSocket): new, simplify socket operations
9793 * simpsock.cc: ditto
9794 * nio-http.h: new, for direct http protocol
9795 * nio-http.cc: ditto
9796 * nio-ftp.h: new, for direct http protocol
9797 * nio-ftp.cc: ditto
9798 * netio.cc (set_url): move initialization here to handle redirections
9799 (open): add direct http/ftp
9800 * netio.h (NetIO::set_url): new
9801
9802 * log.cc (log_save): create directory for log if needed
9803
9804 * hash.cc, hash.h: new
9805 * Makefile: add hash.o
9806 * choose.cc: enable "uninstall" option
9807 * download.cc: invert action test to accomodate uninstalling
9808 * ini.h: add ACTION_UNINSTALL
9809 * install.cc: add uninstall functionality
9810 * res.rc: make install tag changeable
9811 * resource.h: add uninstall resources
9812
9813 * res.rc: update mirror list URL
9814
9815 2000-08-24 DJ Delorie <dj@redhat.com>
9816
9817 * log.cc, log.h: new files
9818 * Makefile.in (OBJS): add log.o
9819 * tar.cc: use exit_setup instead of exit
9820 * dialog.cc (fatal): use exit_setup instead of ExitProcess
9821 * msg.cc (fatal): ditto
9822 * install.cc (dialog_cmd): ditto
9823 * ini.cc (do_ini): ditto
9824 * main.cc (main): add logging
9825 * source.cc (do_source): ditto
9826 * root.cc (do_source): ditto
9827 * site.cc (do_site): ditto
9828 * other.cc (do_other): ditto
9829 * net.cc (do_net): ditto
9830 * choose.cc (do_choose): ditto
9831 * download.cc (do_download): ditto
9832 * install.cc (do_install): ditto
9833 * msg.cc (fatal): ditto
9834
9835 * res.rc: mark password boxes as *being* password boxes.
9836
9837 * fromcwd.cc (canonicalize_version): use multiple buffers so that
9838 multiple calls won't use the same buffer.
9839 * choose.cc (create_listview): don't default to full list if no changes
9840 (base): return computed value, not temporary :-(
9841 (do_choose): don't use installed.db if we're only downloading.
9842
9843 2000-08-23 DJ Delorie <dj@redhat.com>
9844
9845 * nio-ie5.cc (NetIO_IE5): Fix authentication logic
9846 * nio-ie5.h (flush_io): new
9847 * netio.cc (load_dialog): note when we're initializing the dialog
9848 box, and ignore changes to the edit fields then.
9849
9850 2000-08-21 DJ Delorie <dj@redhat.com>
9851
9852 * README: Update
9853
9854 * fromcwd.cc (found_file): don't remember the canonicalized version
9855
9856 * choose.cc (paint): print "nothing to do" message when list is empty.
9857 (build_labels): Use version "0.0" if no version is available.
9858 (create_listview): default to full list if nothing to install/update.
9859 (base): new, returns basename of file
9860 (read_installed_db): compare base names, not full paths
9861
9862 2000-08-11 DJ Delorie <dj@redhat.com>
9863
9864 * choose.cc: add new chooser dialog
9865 * fromcwd.cc: use IDD_CHOOSE
9866 * ini.cc: use IDD_CHOOSE
9867 * main.cc: use IDD_CHOOSE
9868 * ini.h: cosmetic changes
9869 * res.rc: add choose dialog, bitmaps
9870 * choose-spin.bmp: new
9871 * choose-rtarrow.bmp: new
9872 * resource.h: add choose dialog controls
9873
9874 * mount.cc: remove debug statement
9875
9876 2000-08-08 DJ Delorie <dj@redhat.com>
9877
9878 * Makefile.in (version.c): make version checking more robust
9879 * splash.cc (load_dialog): handle case where there's no version
9880
9881 2000-08-07 DJ Delorie <dj@redhat.com>
9882
9883 * (all): add cvsid tags
9884 * Makefile.in: generate version.c from ChangeLog, add splash.o
9885 * splash.o: new
9886 * res.rc: add splash screen
9887
9888 2000-08-02 DJ Delorie <dj@redhat.com>
9889
9890 * net.cc: remove proxy password code
9891 * res.rc: remove proxy user/pass from net, add auth dialogs
9892 * netio.cc,h: add sys/proxy auth methods
9893 * nio-ie5: use them, check for http status codes
9894 * state.h: add system authorization
9895
9896 * concat.cc (concat): canonicalize x:// to x:/ (exception to ://
9897 meaning an url)
9898
9899 2000-08-02 Norman Vine <nhv@yahoo,com>
9900
9901 * msg.cc (mbox): added MB_TOPMOST to MessageBox type flags
9902
9903 2000-08-01 DJ Delorie <dj@redhat.com>
9904
9905 * postinstall.cc (each): don't rename files we ignore
9906 (do_postinstall): set CYGWINROOT to root_dir, chdir there
9907
9908 * desktop.cc: have /etc/profile call ~/.profile and ~/.bashrc
9909
9910 2000-07-31 DJ Delorie <dj@redhat.com>
9911
9912 * desktop.cc: reverse PATH so /usr/bin precedes /bin
9913
9914 2000-07-18 DJ Delorie <dj@redhat.com>
9915
9916 * autoload.c: new, autoload dlls that might not be available.
9917 * Makefile.in (OBJS): add autoload.o
9918
9919 * res.rc: rewrite root options (text/binary, system/user) to be
9920 more obvious.
9921
9922 * site.cc (get_site_list): trim displayed URL, sort by domain
9923
9924 * net.cc (do_net): make IE5 default to checked, for now
9925
9926 * choose.cc (do_choose): sort packages correctly
9927 * ini.cc (do_ini): handle parse errors more gracefully
9928 (yyerror): ditto
9929 (fprintf): line buffer output
9930 (do_ini): if we can't load setup.ini, go back to the site list.
9931 * ini.h: add "unknown" trust level
9932 * inilex.l: absorb unknown trust levels and key/value pairs,
9933 add line number logic
9934 * iniparse.y: handle parse errors more gracefully.
9935 * install.cc: skip packages with no valid install entry
9936
9937 2000-07-17 DJ Delorie <dj@cygnus.com>
9938
9939 * coding standards fixups, many files
9940 * mkdir.cc: warn about deletions *before* deleting them
9941
9942 2000-07-17 Jeff Juliano <juliano@cs.unc.edu>
9943
9944 * res.rc (IDD_OTHER_URL): reorder to give default focus to entry
9945
9946 * other.cc (dialog_cmd): save download site URL
9947 * site.cc (get_root_dir): new
9948 (save_mirror_site): new
9949 (dialog_cmd): save download site URL
9950 (get_site_list): make list big enough to add prev site
9951 (get_initial_list_idx): new, read last-used URL from file and
9952 append it to site_list
9953 (do_site): call get_initial_list_idx
9954
9955 * concat.cc (concat): avoid segfault when first parm is null
9956
9957 2000-07-13 DJ Delorie <dj@cygnus.com>
9958
9959 * postinstall.cc: new
9960 * Makefile.in: add postinstall.o
9961 * concat.h: add backslash ()
9962 * concat.cc: ditto
9963 * desktop.cc (etc_profile): don't do postinstall
9964 (backslash): moved to concat.cc
9965 (uexists): new
9966 (make_postinstall_script): run directly
9967 (do_desktop): chain to do_postinstall
9968 * dialog.h: add exit_msg, do_postinstall
9969 * download.cc: use exit_msg
9970 * install.cc: ditto
9971 * main.cc: add postinstall, exit_msg
9972 * resource.h: add postinstall
9973 * README: add more to-do items
9974
9975 2000-07-12 DJ Delorie <dj@cygnus.com>
9976
9977 * desktop.cc: add /etc/postinstall/ support
9978 * install.cc: add more "standard" directories
9979
9980 2000-07-11 DJ Delorie <dj@cygnus.com>
9981
9982 * desktop.cc: create /etc/profile
9983 * desktop.cc: fix include syntax
9984 * Makefile.in: add auto-dependencies
9985 * root.cc: support system vs user
9986 * desktop.cc: ditto
9987 * mount.h: ditto
9988 * mount.cc: ditto
9989 * install.cc: ditto
9990 * res.rc: ditto
9991 * resource.h: ditto
9992 * state.h: ditto
9993 * desktop.cc: make sure we use backslashes, not slashes.
9994 * desktop.cc: don't set PATH in cygwin.bat, create /etc/passwd
9995 * geturl.cc: change math for percentage to avoid overflow
9996 * install.cc: ditto
9997 * download.cc: post "download complete" message.
9998 * root.cc: pre-fill in defaults if needed, don't start
9999 browse at root_dir unless it's set.
10000 * desktop.cc: quote $PATH in case it has spaces in it
10001
10002 2000-07-10 DJ Delorie <dj@cygnus.com>
10003
10004 * Makefile.in: add desktop.o and mklink2.o
10005 * dialog.h: add do_desktop
10006 * install.cc: create standard directories, call do_desktop
10007 * res.rc: add cygwin.ico as a file also
10008 * desktop.cc: new, do shortcuts, batch files, and icons
10009 * mklink2.c: new, for COM
10010 * README: update to-do list
10011
10012 2000-07-10 DJ Delorie <dj@cygnus.com>
10013
10014 * ini.cc (do_ini): don't worry about timestamps if we're not
10015 actually installing.
10016
10017 2000-07-09 DJ Delorie <dj@cygnus.com>
10018
10019 * Makefile.in: add -I$(srcdir) for ini.h
10020
10021 2000-07-06 DJ Delorie <dj@cygnus.com>
10022
10023 * Replace everything with a new GUI version
10024 * zlib/gzio.c: add gzctell() for progress displays
10025
10026 2000-06-22 DJ Delorie <dj@cygnus.com>
10027
10028 * setup.c (tarx): re-add call to write_pkg()
10029
10030 2000-06-07 DJ Delorie <dj@cygnus.com>
10031
10032 * cygcalls.c: new, call cygwin1.dll functions directly
10033 * cygcalls.h: header for same
10034 * Makefile.in: add cygcalls.[ch], remove mount/cygpath/umount
10035 exes, fix cinstall.rc dependencies.
10036 * path.c: remove unneeded code
10037 * setup.c: use cygcalls instead of xcreate_process.
10038 uncompress embedded files with zlib
10039 add "-d" for "download only"
10040 add "-h" for help
10041 postpone mount changes until very end
10042 add download progress indicators
10043 pack multi-column listings more
10044 auto-delete temp files
10045 customize banner message according to options
10046 prompt user for text/binary mounts
10047 add warnings about empty setup directory, root installs, etc
10048
10049 2000-05-24 DJ Delorie <dj@cygnus.com>
10050
10051 * tar.c: New file; built-in tar using zlib.
10052 * tar.h: New file; header for same.
10053 * ctar.c: New file; test program for same.
10054 * Makefile.in: add built-in tar, remove tar.exe and gzip.exe
10055 * path.c (pathcat): convert slashes and canonicalize, instead of
10056 aborting
10057 * setup.c (tarx): add support for built-in tar
10058 (main): accept unix-style slashes, check root dir for drive letters,
10059 warn about installing in /, make sure cwd is empty for internet
10060 installs, defer mounts to end of install, support built-in tar.
10061
10062 Fri May 19 23:44:37 2000 Christopher Faylor <cgf@cygnus.com>
10063
10064 Fix compiler warnings throughout.
10065 * pkg.c (init_pkgs): Make static 'stuff' global_pkgstuff for use in
10066 get_pkg_stuff.
10067 * setup.c: Make 'root' global.
10068 (istargz): Return pointer to "stem" of matched .tar.gz file.
10069 (tarx): Special case cygwin-20000301 to == cygwin-1.1.0.tar.gz. Remove
10070 bogus check_for_installed check.
10071 (recurse_dirs): Add preliminary support for .bat file execution.
10072 (create_uninstall): Eliminate unneeded parameter.
10073 (do_start_menu): Ditto.
10074 (mkmount): Ditto.
10075 (get_pkg_stuff): Ditto. Check for currently installed cygwin by
10076 scanning for the version number. Eliminate unneeded argument to
10077 create_uninstall.
10078 (getdownloadsource): Add 'name' to list of names rather than url.
10079 (main): Eliminate unneeded argument in get_pkg_stuff. Eliminate
10080 unneeded argument in mkmount and do_start_menu.
10081
10082 2000-05-18 DJ Delorie <dj@cygnus.com>
10083
10084 * setup.c (optionprompt): allow multi-column, clean up message
10085 about more options, be more robust about user input.
10086 (getdownloadsource): make the mirror URL a macro.
10087 (main): do mounts after done prompting user.
10088
10089 Tue May 2 00:56:41 2000 Christopher Faylor <cgf@cygnus.com>
10090
10091 * setup.c (cleanup): Inverse order of deletion stands a better chance
10092 of deleting cygpath.exe. Still seems to suffer from occasional races,
10093 though.
10094 (cleanup_on_signal): Perform convoluted dance to accomodate win95 and
10095 w2k.
10096 (output_file): Defend against an unlikely handle leak.
10097 (main): Don't set up signal handling until we have something special to
10098 do.
10099
10100 Mon May 1 17:56:32 2000 Christopher Faylor <cgf@cygnus.com>
10101
10102 * path.c (kill_cygpath): Delete function.
10103 (exit_cygpath): Make more defensive so that it can be called at any
10104 time.
10105 (cygpath_pipe): Don't set up signal here. Do it in main().
10106 * setup.c (istargz): New function.
10107 (recurse_dirs): Look for *.gz pattern rather than *tar.gz since *tar.gz
10108 inexplicably fails on samba mounted partitions. Use istargz to match
10109 tar.gz tail.
10110 (processdirlisting) Use istargz to match tar.gz tail.
10111 (cleanup): Renamed from filedel.
10112 (cleanup_on_signal): New function. Called on CTRL-C.
10113 (main): Record handle of main thread so that it can be suspended when
10114 CTRL-C occurs. Set up cleanup_on_signal signal handler.
10115
10116 Mon May 1 11:05:07 2000 Christopher Faylor <cgf@cygnus.com>
10117
10118 * setup.c (do_start_menu): Don't concatenate paths to already built
10119 paths.
10120
10121 Sun Apr 30 22:37:34 2000 Christopher Faylor <cgf@cygnus.com>
10122
10123 * path.c (exit_cygpath): Wait for subprocess to exit before returning.
10124 (cygpath_pipe): Don't call exit_cygpath. Let main atexit routine do
10125 that.
10126 * pkg.c (init_pkgs): Accept root argument. Make registry key "cygwin
10127 root"-specific.
10128 * setup.c (filedel): Call exit_cygpath here so that we can be assured
10129 that cygpath subprocess has died. This allows us to delete cygpath.exe
10130 and cygwin1.dll.
10131 (optionprompt): Initialize response to -1 so that second screen of
10132 mirrors will appear.
10133 (get_pkg_stuff): Don't attempt to use HKCLU. Pass root to init_pkgs.
10134 * setup.h: Reflect init_pkgs prototype change.
10135
10136 Sat Apr 29 23:53:30 2000 Christopher Faylor <cgf@cygnus.com>
10137
10138 * pkg.c (init_pkgs): Accept an argument to control what root registry
10139 key should be used.
10140 * setup.c (get_pkg_stuff): Use HKCLU registry key if default fails.
10141 * setup.h: Reflect init_pkgs prototype change.
10142
10143 Sat Apr 29 23:27:14 2000 Christopher Faylor <cgf@cygnus.com>
10144
10145 * error.c (winerror): Respond to gcc warning.
10146 * path.c (cygpath_pipe): Ditto.
10147 * setup.c (filedel): Call sa_cleanup on deleteme.
10148 (create_shortcut): Coerce argument to eliminate compiler warning.
10149 (tarx): Use installed version of cygwin1.dll, overriding tar file name.
10150 (refmatches): New function. Tests if ref is contained in a list of
10151 packages to install.
10152 (filematches): New function. Tests if filename matches one of a list
10153 of packages to install.
10154 (recurse_dirs): Accept list of packages to install. Generalize tar.gz
10155 test to accomodate _tar.gz.
10156 (prompt): Ensure that stdout is flushed prior to asking for input.
10157 (findhref): Initialize variables to quiet a compiler warning.
10158 (processdirlisting): Accept list of packages to install. Special case
10159 cygwin tar file version number.
10160 (downloaddir): Accept list of packages to install.
10161 (downloadfrom): Ditto.
10162 (create_uninstall): Eliminate unneeded variables. Quote arguments to
10163 regtool.
10164 (do_start_menu): Don't create uninstall bat file if updating or user
10165 specified a list of packages.
10166 (mkmount): Eliminate unneeded variables.
10167 (get_pkg_stuff): New function. Checks for previous unversioned
10168 installation.
10169 (main): Accept -u and -f options and package names on the command line.
10170 Use get_pkg_stuff to initialize package information. Umount /etc.
10171 Call recurse_dirs and downloadfrom with list of package to install.
10172 Ensure that all /usr/local directories are created. Output
10173 installation time to setup.log.
10174 * setup.h: Add some prototypes.
10175 * xsystem.c (xcreate_process): Eliminate unneeded variable.
10176
10177 Sat Apr 29 12:43:08 2000 Christopher Faylor <cgf@cygnus.com>
10178
10179 * setup.c (optionprompt): Don't overlap display of already seen options
10180 on next page.
10181 (geturl): Print name of site which we're connecting to rather than "ftp
10182 site".
10183 (processdirlisting): Avoid URLs that contain a /. or ./ . Is this
10184 test too simplistic?
10185 (do_start_menu): Use pathcat to build path to <root>\bin to avoid
10186 problems when user chooses x:\ as their root.
10187 (main): For now, default to "non-update" mode. Allow -u option to
10188 signify an update.
10189
10190 Sat Apr 29 00:26:06 2000 Christopher Faylor <cgf@cygnus.com>
10191
10192 * pkg.c: New file.
10193 * setup.c (tarx): Skip already installed or older packages. Report
10194 when a package has been updated.
10195 (processdirlisting): Skip already installed or older packages.
10196 (main): Detect -f option for forced installation. Initialize pkg stuff
10197 if appropriate.
10198 * setup.h: Add pkg definitions.
10199
10200 Thu Apr 27 14:21:30 2000 Christopher Faylor <cgf@cygnus.com>
10201
10202 * setup.c (findhref): Return NULL on empty string. Eat any trailing
10203 ";something".
10204 (processdirlisting): Attempt to limit recursively processing the same
10205 directory.
10206
10207 Thu Apr 27 11:42:23 2000 Christopher Faylor <cgf@cygnus.com>
10208
10209 * setup.c (filedel): New function.
10210 (output_file): Keep track of files extracted from setup.exe for
10211 subsequent deletion.
10212 (tarx): Close process handle of child tar process or suffer handle
10213 leak.
10214 (getdownloadsource): Close mirror file so that it can be unlinked.
10215 (processdirlisting): Return total number of files extracted.
10216 (main): Initialize array of files to delete. Ensure that files are
10217 closed on exit. Make the directory that setup.exe is started from ==
10218 the directory where temporary files are placed. Issue an error if no
10219 files were found to download.
10220 * xsystem.c (xcreate_process): Close the thread handle. Close the
10221 process handle if we waited for it to exit.
10222
10223 Thu Apr 27 09:54:19 2000 Christopher Faylor <cgf@cygnus.com>
10224
10225 * setup.c (main): Change version number output.
10226
10227 Thu Apr 27 09:23:17 2000 Christopher Faylor <cgf@cygnus.com>
10228
10229 * setup.c (tarx): Use full path name to tar executable.
10230 (main): Build full pathname to tar executable. Create /usr/local/etc
10231 by default.
10232
10233 Wed Apr 26 22:16:57 2000 Christopher Faylor <cgf@cygnus.com>
10234
10235 * setup.c (findhref): Change method for scanning for href= to choose
10236 the last one on the line. This is still not foolproof and probably
10237 will need to be changed eventually. Don't abort if no "size" field is
10238 evident.
10239 (processdirlisting): Fix boolean algebra.
10240
10241 Wed Apr 26 01:10:39 2000 Christopher Faylor <cgf@cygnus.com>
10242
10243 * main.c (tarx): Add some code for future task of unmounting
10244 directories encountered in tar file.
10245
10246 Sat Apr 22 16:37:03 2000 Christopher Faylor <cgf@cygnus.com>
10247
10248 * setup.c (findhref): Decode file size, when appropriate.
10249 (needfile): New function. Returns 1 when file should be
10250 downloaded.
10251 (processdirlisting): Always download if file size does not
10252 match. Prompt when download fails for some reason.
10253 (getdownloadsource): Accomodate findhref argument changes.
10254
10255 Sat Apr 22 15:13:42 2000 Christopher Faylor <cgf@cygnus.com>
10256
10257 Throughout, use global session handle rather than reinitializing for
10258 each connect. Don't pass session as an argument to setup.c functions.
10259 * setup.c (geturl): Only issue "Connecting to.." message when using
10260 http or first time for ftp since subsequent connections will be fast.
10261 (processdirlisting): Allocate space for "N" when user has specified
10262 "N"ever option so that it can be subsequently freed.
10263 (main): Abort if we can't get the list of mirrors.
10264
10265 Thu Apr 20 16:41:42 2000 Christopher Faylor <cgf@cygnus.com>
10266
10267 * setup.c (main): Umount /bin and /lib.
10268
10269 Wed Apr 19 13:34:44 2000 Christopher Faylor <cgf@cygnus.com>
10270
10271 * setup.c (main): Create an empty /var/run/utmp.
10272
10273 Tue Apr 18 19:16:56 2000 Christopher Faylor <cgf@cygnus.com>
10274
10275 * Makefile.in: Add umount to list of files to include in setup.exe.
10276 * setup.c (xumount): New function for unmounting directories.
10277 (main): Unmount /usr.
10278 (mkmount): Unmount "unix directory" before trying to figure out where
10279 to create the directory.
10280
10281 Tue Apr 18 17:28:55 2000 Christopher Faylor <cgf@cygnus.com>
10282
10283 * setup.c (mkmount): Use xcreate_process to start mount process,
10284 avoiding the shell.
10285 (main): Don't do buffering on stdout or prompts won't be displayed
10286 correctly if running in a cygwin shell with CYGWIN=tty.
10287
10288 Tue Apr 18 15:35:19 2000 Christopher Faylor <cgf@cygnus.com>
10289
10290 * setup.c (main): Remove the CYGWIN environment variable before
10291 starting any cygwin programs.
10292
10293 Mon Apr 17 19:20:52 2000 Vadim Egorov <egorovv@mailandnews.com>
10294
10295 * setup.c (geturl): Use alternative method for finding filename part of
10296 a URL.
10297 (processdirlisting): Accomodate strange output from non-MS ftp proxy.
10298 (downloaddir): Unlink file containing dir listing.
10299 (downloadfrom): Ditto.
10300
10301 Mon Apr 17 00:00:49 2000 Christopher Faylor <cgf@cygnus.com>
10302
10303 * setup.c (main): Disallow running setup.exe from the "root".
10304
10305 Sun Apr 16 18:50:58 2000 Christopher Faylor <cgf@cygnus.com>
10306
10307 Use "warning" function, where appropriate, to output warnings.
10308 * setup.c (warning): New function -- outputs warning to console and log
10309 file.
10310 (tarx): Fix index used to reset file protection.
10311 (main): Open the log file earlier so that more stuff can be sent to it.
10312
10313 Sat Apr 15 20:05:33 2000 Christopher Faylor <cgf@cygnus.com>
10314
10315 * setup.c (processdirlisting): Make "N" option a little less aggressive.
10316
10317 Fri Apr 14 11:11:29 2000 Christopher Faylor <cgf@cygnus.com>
10318
10319 * setup.c (tarx): Wait to after tar has completed to reset protections
10320 or suffer races with tar process.
10321
10322 Thu Apr 13 12:51:19 2000 Christopher Faylor <cgf@cygnus.com>
10323
10324 * Makefile.in: Eliminate duplicate -nostdinc from CFLAGS.
10325 * setup.c (create_uninstall): Create the uninstall .bat file in the
10326 "root" so that we can remove the /bin directory. Add bin\cygwin.bat to
10327 list of files to be deleted. Fix directory detection for determining
10328 when to use 'rmdir'.
10329 (do_start_menu): Add /usr/local/bin to the path.
10330 (main): Add slop to files.array allocation so that we don't have to
10331 worry about reallocating the array when it grows too large when doing
10332 some trivial "pushes". Add /tmp and /usr/local/{bin,lib} to list of
10333 files.
10334
10335 Thu Apr 13 01:59:44 2000 Christopher Faylor <cgf@cygnus.com>
10336
10337 * setup.c (processdirlisting): Fix handling of "A" for "A"lways
10338 download.
10339
10340 Thu Apr 13 01:11:45 2000 Christopher Faylor <cgf@cygnus.com>
10341
10342 * path.c (kill_cygpath): New cleanup function.
10343 (exit_cygpath): New cleanup function.
10344 (cygpath_pipe): New function. Sets up cygpath in the background for
10345 translating filenames.
10346 (pathcvt): Use background cygpath for file translation.
10347 * setup.c (tarx): New function. Called to extract tar files, capture
10348 logging output, and translate it to Windows format.
10349 (recurse_dirs): Use 'tarx' function to extract files.
10350 (create_uninstall): Use file list built up by tarx rather than reading
10351 the log file.
10352 (mkmount): Add ability to mount root.
10353 (main): Track elapsed install time. Mount root.
10354 * starry.h: Add index field to strarry for tracking of tarx's usage of
10355 this structure.
10356 * xsystem.c (xcreate_process): Return proces handle when not waiting.
10357
10358 Mon Apr 10 22:44:56 2000 Christopher Faylor <cgf@cygnus.com>
10359
10360 * path.c: New file.
10361 (pathfp): New function. Preliminary work for new -f cygpath
10362 functionality.
10363 * Makefile.in: Add new file.
10364 (pathcvt): Move to new file.
10365 (dtoupath): Ditto.
10366 (utodpath): Ditto.
10367 (pathcat): Ditto.
10368 * setup.c (processdirlisting): Always open file in text mode.
10369 (create_uninstall): Ditto.
10370 (getdownloadsource): Ditto.
10371 (main): Ditto.
10372
10373 Mon Apr 10 20:33:40 2000 Christopher Faylor <cgf@cygnus.com>
10374
10375 * xsystem.c: New file.
10376 * Makefile.in: Accomodate new file.
10377 * setup.c (xsystem): Move to new file.
10378 (recurse_dirs): Accept handle to output log file. Don't use ">"
10379 redirection to trap tar output. Use supplied handle instead.
10380 (create_uninstall): Accept FILE pointer to opened log file. Don't
10381 unlink log file here.
10382 (do_start_menu): Accept FILE pointer to pass to create_uninstall.
10383 (main): Open log file here and pass it to various functions. Unlink
10384 when done.
10385
10386 Mon Apr 10 17:15:52 2000 Christopher Faylor <cgf@cygnus.com>
10387
10388 Change occurrences of .usr.bin to .bin throughout.
10389 * setup.c (geturl): Increase number of retries to 20. Let user know
10390 what's going on during long connects.
10391 (processdirlisting): Accept "A"lways and "N"ever as update options.
10392 (create_uninstall): Load cygwin1.dll from the current directory rather
10393 than \bin.
10394 (main): Add some expository text.
10395
10396 Sun Apr 9 20:59:15 2000 Christopher Faylor <cgf@cygnus.com>
10397
10398 * Makefile.in: Change method for compressing cygwin1.dll to avoid
10399 creating a cygwin1.dll in the current directory. Ensure the addition
10400 of -nostdinc to MINGW_CFLAGS.
10401
10402 Sun Apr 9 02:15:47 2000 Christopher Faylor <cgf@cygnus.com>
10403
10404 * Makefile.in: Augment clean target.
10405
10406 Fri Apr 7 17:04:02 Ron Parker <rdparker@sourceware.cygnus.com>
10407
10408 * README: Added info about non-working mingw implementation
10409 * gzip.exe.gz: Replace with a version from the same build as the other
10410 tools.
10411 * tar.exe.gz: Replace with a version from the same build as the other
10412 tools.
10413 * mount.exe.gz: Add to repository until, mingw can build setup.
10414 * cygpath.exe.gz: ditto
10415 * cygwin1.dll.gz: ditto
10416 * setup.c: Overwrite /bin and /lib mounts. Generate working shortcut
10417 for Win9x. Display only a screenfull of options at a time. Call all
10418 tools with an absolute path.
10419 * setup.dsp: Restore the carriage returns, MS Developer Studio needs
10420 them.
10421 * setup.dsw: ditto
10422 * zlib.dsw: ditto
10423
10424 Thu Apr 6 19:15:27 2000 Christopher Faylor <cgf@cygnus.com>
10425
10426 * Makefile.in: Add "-nostdinc" to regular CFLAGS. Add target to grab
10427 cygwin1.dll from ../cygwin subdirectory.
10428 * gzip.exe.gz: Update.
10429 * tar.exe.gz: Update.
10430
10431 Wed Apr 5 10:52:08 2000 Christopher Faylor <cgf@cygnus.com>
10432
10433 * Makefile.in: Use ZLIB variable as a target.
10434
10435 Sat Apr 1 22:49:09 2000 Christopher Faylor <cgf@cygnus.com>
10436
10437 * Makefile.in: Eliminate traces of cygwinisms. Don't link with
10438 libmsvcrt.a. It's unneeded. Build .rc file on the fly from various
10439 sources.
10440 * configure.in: Locate correct objcopy.
10441 * configure: Regenerate.
10442
10443 Sat Apr 1 20:48:09 2000 Christopher Faylor <cgf@cygnus.com>
10444
10445 * Makefile.in: New file.
10446 * configure.in: New file.
10447 * configure: New file.
10448 * zlib/Makefile.am: New file.
10449 * zlib/configure.in: New file.
10450 * zlib/aclocal.m4: New file.
10451 * zlib/acinclude.m4: New file.
10452 * zlib/configure: Regenerate from configure.in.
10453 * zlib/Makefile.in: Regenerate from Makefile.am
10454
10455 %%% $Id$
10456 $Revision$
This page took 0.476838 seconds and 5 git commands to generate.