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