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