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