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