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