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