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