]> cygwin.com Git - cygwin-apps/setup.git/blame - ChangeLog
2002-11-04 Max Bowsher <maxb@ukf.net>
[cygwin-apps/setup.git] / ChangeLog
CommitLineData
326fbcb8
RC
12002-11-04 Max Bowsher <maxb@ukf.net>
2
3 * res.rc: Change a #-comment (invalid) to a //-comment.
4
4361306f
RC
52002-11-04 Max Bowsher <maxb@ukf.net>
6
7 * Makefile.am (%.o: %.rc): Make windres use $(CC) not hardcoded gcc.
8 (inilint_LDADD): Remove -lstd++.
9 (setup_LDADD): Ditto.
10
05d7b7f2
RC
112002-09-22 Max Bowsher <maxb@ukf.net>
12
13 * IniDBBuilderPackage.cc: Update DEBUG code to current class
14 layout.
15
f2ff9838
RC
162002-09-21 Robert Collins <rbtcollins@hotmail.com>
17
18 * choose.h: Add OnUnattended method.
19 * desktop.cc (DesktopSetupPage::OnInit): Allow fine grained
20 control via command line options.
21 (DesktopSetupPage::OnUnattended): Implement.
22 (DesktopSetupPage::OnMessageApp): Implement.
23 * desktop.h (DesktopSetupPage::OnUnattended): declare.
24 (DesktopSetupPage::OnMessageApp): Ditto.
25 * download.cc (do_download_thread): Support unattended mode.
26 * install.cc (do_install_thread): Ditto.
27 * localdir.h: Ditto.
28 * main.cc (main): Ditto.
29 * net.cc (NetPage::OnUnattended): Ditto.
30 * net.h (NetPage::OnUnattended): Declare.
31 * proppage.cc (PropertyPage::DialogProc): Support unattended mode.
32 * proppage.h (PropertyPage::OnUnattended): Declare.
33 * root.cc (RootPage::OnInit): Support unattended mode.
34 (RootPage::OnUnattended): Implement.
35 * root.h (RootPage::OnUnattended): Declare.
36 * site.cc (register_saved_site): Extract Method from get_saved_sites.
37 (get_saved_sites): Remove common code for adding a site.
38 (SitePage::OnInit): Support unattended mode.
39 (SitePage::OnUnattended): Implement.
40 * site.h (SitePage::OnUnattended): Declare.
41 * source.cc (SourcePage::OnActivate): Support unattended mode.
42 (SourcePage::OnUnattended): Implement.
43 * source.h (SourcePage::OnUnattended): Declare.
44 * splash.h (SplashPage::OnUnattended): Declare.
45 * state.cc (unattended_mode): Declare.
46 * state.h (unattended_mode): Declare.
47 * threebar.h (ThreeBarProgressPage::OnUnattended): New method.
48
707f3d66
RC
492002-09-21 Robert Collins <rbtcollins@hotmail.com>
50
51 * res.rc: Commit Harry Johnston's dialog caption patch. From July.
52
ec13f13c
RC
532002-07-15 Robert Collins <rbtcollins@hotmail.com>
54
55 * package_version.cc (packageversion::sources): Implement this.
56 * download.cc (do_download_thread): Support multiple files per package.
57
e5662e0a
RC
582002-07-15 Robert Collins <rbtcollins@hotmail.com>
59
60 * package_version.h (packageversion::sources): Support multiple files in
61 a single package version.
62 * package_version.cc (_packageversion::accessible): Ditto.
63 (packageversion::source): Ditto.
64
60daae94
RC
652002-07-15 Robert Collins <rbtcollins@hotmail.com>
66
67 * iniparse.y: Implement support for multiple source files for a source
68 package.
69 * IniDBBuilder.h (IniDBBuilder::buildSourceFile): Ditto.
70 * IniDBBuilderPackage.h (IniDBBuilder::buildSourceFile): Ditto.
71 * IniDBBuilder.cc (IniDBBuilder::buildSourceFile): Ditto.
72 * IniDBBuilderPackage.cc (IniDBBuilder::buildSourceFile): Implement a
73 stub as preparation.
74
4f591f9d
RC
752002-07-13 Robert Collins <rbtcollins@hotmail.com>
76
77 * PickPackageLine.cc (PickPackageLine::click): Set requirements for
78 packages under all circumstances - slightly higher overheader, simpler
79 code.
80 * download.cc (do_download_thread): Correctly download source
81 packages.
82 * package_meta.cc (checkForInstalled): Remove.
83 (checkForUpgradeable): Ditto.
84 (checkForSatisfiable): Ditto.
85 (processOneDependency): Ditto.
86 (packagemeta::set_requirements): Move guts to packageversion.
87 * package_version.cc (checkForInstalled): Copied from package_meta.cc.
88 (checkForUpgradeable): Ditto.
89 (checkForSatisfiable): Ditto.
90 (processOneDependency): Ditto.
91 (packageversion::set_requirements): Ditto.
92 * package_version.h (packageversion::set_requirements): Declare.
93
b1ff53ed
RC
942002-07-13 Robert Collins <rbtcollins@hotmail.com>
95
96 * IniDBBuilder.cc (IniDBBuilder::buildBeginBuildDepends): Implement.
97 (IniDBBuilder::buildBeginBinary): Implement.
98 * IniDBBuilder.h (IniDBBuilder::buildBeginBuildDepends): Declare.
99 (IniDBBuilder::buildBeginBinary): Ditto.
100 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildBeginBuildDepends):
101 Implement.
102 (IniDBBuilderPackage::buildBeginBinary): Ditto.
103 * IniDBBuilderPackage.h (IniDBBuilderPackage::buildBeginBuildDepends):
104 Declare.
105 (IniDBBuilderPackage::buildBeginBinary): Ditto.
106 * inilex.l: Recognise Build-Depends-Indep, [,], >, < and remove
107 T_UNKNOWN.
108 * iniparse.y: Full support for parsing a debian Sources file in-line in
109 setup.ini.
110 * package_version.cc (packageversion::binaries): Implement.
111 * package_version.h (packageversion::binaries): Declare list of what
112 packages are created from a given source package.
113 (_packageversion::binaries): Ditto.
114
233a3e17
RC
1152002-07-10 Robert Collins <rbtcollins@hotmail.com>
116
117 * iniparse.y: Add basis for support for parsing a debian Sources file.
118 * inilex.l: Ditto.
119
cfae3b8d
RC
1202002-07-09 Robert Collins <rbtcollins@hotmail.com>
121
122 Change custom container code for packagedb::packages to STL containers
123 throughout.
124 * IniDBBuilderPackage.cc: Ditto.
125 * PickView.cc: Ditto.
126 * choose.cc: Ditto.
127 * desktop.cc: Ditto.
128 * download.cc: Ditto.
129 * install.cc: Ditto.
130 * package_db.cc: Ditto.
131 * package_db.h: Ditto.
132 * Makefile.am: Remove list.h references.
133 * list.h: Remove.
134
09130e58
RC
1352002-07-08 Max Bowsher <maxb@ukf.net>
136
137 * PickView.cc (PickView::PickView): Set font of package list header to
138 the same as used in the rest of the package list.
139
a75ed5ce
RC
1402002-07-08 Robert Collins <rbtcollins@hotmail.com>
141
142 * install.cc (NoReplaceOnReboot): New command line option to prevent
143 replacing in use files.
144 (install_one_source): Check the option and use it.
145 * README: Update TODO lists.
146
0cf68afd
RC
1472002-07-08 Robert Collins <rbtcollins@hotmail.com>
148
149 * PickCategoryLine.cc: Change bucket to use STL container syntax
150 throughout.
151 (PickCategoryLine::paint): Use new Category type syntax.
152 * PickCategoryLine.h: Use STL vectors rather than custom containers
153 throughout.
154 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageCategory):
155 Use new add_category syntax.
156 * PickView.cc (PickView::insert_pkg): Use new Category type syntax.
157 (PickView::insert_category): Ditto.
158 (PickView::init_headers): Ditto.
159 * category.cc: Trim obsolete code.
160 * category.h: Replace interconnecting class with a typedef to
161 facilitate leveraging STL maps.
162 * choose.cc (fill_missing_category): Use updated pkg.add_category
163 syntax.
164 (default_trust): Use new Category type syntax.
165 (set_view_mode): Ditto.
166 (create_listview): Ditto.
167 * package_db.cc (categories): Ditto.
168 * package_db.h: Update headers list to include needed headers.
169 (packagedb::categories): Replace custom list with STL map.
170 * package_meta.cc: Use new Category type syntax throughout.
171 (packagemeta::add_category): Implement new syntax.
172 * package_meta.h: Remove commented out source.
173 (packagemeta::add_category): Update syntax to decouple interface from
174 packagedb.
175
89374d4a
CF
1762002-07-06 Christopher Faylor <cgf@redhat.com>
177
178 * site.cc (do_download_site_info_thread): Correct spelling error.
179
405d7186
RC
1802002-07-06 Robert Collins <rbtcollins@hotmail.com>
181
182 * PickCategoryLine.h: Include required header list.h.
183 * PickPackageLine.cc (PickPackageLine::paint): Adjust to use STL
184 containers for listing of packages per category and vice verca.
185 * PickView.cc (PickView::insert_pkg): Ditto.
186 (PickView::insert_category): Ditto.
187 * String++.h (String::caseless): STL helper to allow trivial containers
188 of Strings with case insensitive comparisons.
189 * category.h: Adjust to use STL containers for listing of packages per
190 category and vice verca.
191 * choose.cc (fill_missing_category): Ditto.
192 (default_trust): Ditto.
193 (ChooserPage::OnNext): Ditto.
194 * package_meta.cc (CategoryPackage::~CategoryPackage): Remove.
195 (packagemeta::packagemeta): Adjust for new category list name.
196 (packagemeta::~packagemeta): Adjust to use STL containers for listing
197 of packages per category and vice verca.
198 (packagemeta::set_action): Ditto.
199 * package_meta.h (CategoryPackage): Remove.
200 (packagemeta): Adjust to use STL containers for listing of packages per
201 category and vice verca.
202
080bec6e
RC
2032002-07-05 Robert Collins <rbtcollins@hotmail.com>
204
205 * io_stream.cc: Use STL containers rather than custom ones.
206 (io_stream::registerProvider): Ditto.
207 (findProvider): Ditto.
208
3f34f364
RC
2092002-07-05 Robert Collins <rbtcollins@hotmail.com>
210
211 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource):
212 Use STL collections for download site collections.
213 (IniDBBuilderPackage::add_correct_version): Ditto.
214 (IniDBBuilderPackage::process_src): Ditto.
215 * PickPackageLine.cc (PickPackageLine::click): Use the packageversion
216 accessible() call to abstract package availability.
217 * choose.cc (scanAVersion): Use STL collections for download site
218 collections.
219 * download.cc (check_for_cached): Ditto.
220 (download_one): Ditto.
221 * package_meta.cc (packagemeta::set_action): Use the packageversion
222 accessible() call to abstract package availability.
223 * package_source.h: Use STL containers rather than custom containers.
224 (site): Create a == operator to allow STL container use.
225 (packagesource::sites): Use STL containers rather than custom
226 containers.
227 * package_version.cc (_packageversion::accessible): Use STL containers
228 for download site containers.
229
e2cdf72c
RC
2302002-07-05 Robert Collins <rbtcollins@hotmail.com>
231
232 * LogFile.cc: Use STL containers rather than custom containers.
233 (filedef): Create == and < operators for STL use.
234 (files): Convert to an STL set.
235 (LogFile::setFile): Use STL operations on files.
236 (LogFile::exit): Ditto.
237
3bac26a1
RC
2382002-07-05 Robert Collins <rbtcollins@hotmail.com>
239
240 * ini.cc (do_remote_ini): Use STL collection for site collection.
241 * site.cc: Include site.h first to ensure it's parsable standalone.
242 Use STL algorithms.
243 (site_list): Convert to an STL container.
244 (all_site_list): Ditto.
245 (site_list_type::site_list_type): Implement copy constructor.
246 (site_list_type::operator=): Implement assignment operator.
247 (site_list_type::operator ==): Implement.
248 (site_list_type::operator <): Ditto.
249 (save_dialog): Use STL collection calls for site collection.
250 (save_site_url): Ditto.
251 (get_site_list): Ditto.
252 (get_saved_sites): Ditto.
253 (do_download_site_info_thread): Ditto.
254 (SitePage::OnNext): Ditto.
255 (SitePage::PopulateListBox): Ditto.
256 (SitePage::OnMessageCmd): Ditto.
257 * site.h: Use STL vectors instead of custom code.
258 (site_list_type::site_list_type): Declare.
259 (site_list_type::operator=): Ditto.
260 (site_list_type::operator ==): Ditto.
261 (site_list_type::operator !=): Ditto.
262 (site_list_type::operator <): Ditto.
263 (site_list_type::operator <=): Ditto.
264 (site_list_type::operator >): Ditto.
265 (site_list_type::operator >=): Ditto.
266 (site_list): Convert to an STL container.
267 (all_site_list): Ditto.
268
528a8edb
RC
2692002-07-05 Robert Collins <rbtcollins@hotmail.com>
270
271 * choose.cc (default_trust): Check package accessibility before
272 triggering an install. (Suggested by Pavel).
273
2742002-07-03 Pavel Tsekov <ptsekov@gmx.net>
275
276 * compress_gz.cc (compress_gz::construct): Always initialize key members
277 to ensure the destructor does the right thing.
278
4e868a01
RC
2792002-07-03 Pavel Tsekov <ptsekov@gmx.net>
280
281 * filemanip.cc (parse_filename): Do not try to parse empty
282 strings (filenames).
283 * package_db.cc (packagedb::packagedb): For each line check if sscanf()
284 extracted good package name and filename.
285
7f2b9277
RC
2862002-07-03 Robert Collins <rbtcollins@hotmail.com>
287
288 * package_meta.cc (packagemeta::set_requirements): Automatically select
289 version of dependent packages that satisfies the requirements.
290 Use processOneDependency to trigger the install of those packages.
291 (checkForInstalled): Check that the package remains installed.
292 (processOneDependency): Helper function for dependent packages.
293 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackage): Add more
294 debug information.
295 Clear out all current state on new packages.
296 (IniDBBuilderPackage::add_correct_version): Copy the dependency list
297 across.
298
84c4f5d1
RC
2992002-07-02 Robert Collins <rbtcollins@hotmail.com>
300
301 * Makefile.am (inilint_SOURCES): Add PackageSpecification sources.
302 nb: inilint is still incomplete, as the packageversion code is not
303 ready for database-less linking.
304 * site.cc (get_site_list): When the same site is reentered by the user
305 replace the old one. (Suggested by John Marshall).
306
64cd7f94
RC
3072002-07-02 Robert Collins <rbtcollins@hotmail.com>
308
309 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource):
310 Clear out package selections when generating implicit source packages.
311 * PackageSpecification.cc (PackageSpecification::satisfies): Implement.
312 (PackageSpecification::_operators::satisfies): Implement.
313 * PackageSpecification.h (PackageSpecification::_operators::satisfies):
314 Worker function for testing versions.
315
3c196821
RC
3162002-07-01 Robert Collins <rbtcollins@hotmail.com>
317
318 * IniDBBuilder.cc (IniDBBuilder::buildPackageRequirement): Remove.
319 * IniDBBuilder.h (IniDBBuilder::buildPackageRequirement): Ditto.
320 * IniDBBuilderPackage.cc: Use the STL algorithms.
321 Change cpv to cbpv throughout. Adjust -> to ., and use the new accessor
322 functions for the same variable throughout.
323 (IniDBBuilderPackage::IniDBBuilderPackage): Initialise new members.
324 (IniDBBuilderPackage::buildPackage): Use new cygpackage syntax,
325 and set an empty source package.
326 (IniDBBuilderPackage::buildPackageInstall): Use the new source member
327 to record an install package.
328 (IniDBBuilderPackage::buildPackageSource): Move source package logic
329 out from process_src, as it now occurs at separate times.
330 (IniDBBuilderPackage::buildPackageRequirement): Remove.
331 (IniDBBuilderPackage::buildSourceName): Use renamed package
332 specifiation accessor for clarity.
333 (IniDBBuilderPackage::buildSourceNameVersion): Ditto.
334 (IniDBBuilderPackage::add_correct_version): Use STL iterators rather
335 than custom code.
336 Remove source package references.
337 (IniDBBuilderPackage::process_src): Remove source package code as it's
338 now handled separately.
339 Set Path information before merging versions, to prevent dangling
340 pointers.
341 * IniDBBuilderPackage.h (IniDBBuilderPackage::buildPackageRequirement):
342 Remove.
343 (IniDBBuilderPackage::cpv): Remove.
344 (IniDBBuilderPackage::cbpv): New generic binary working variable.
345 (IniDBBuilderPackage::cspv): Ditto, but for source packages.
346 (IniDBBuilderPackage::csp): Source package variable for disjoint
347 source packages.
348 * Makefile.am (AM_CFLAGS): Remove -Winline to allow stl set code
349 to compile. If it compiles cleanly in gcc 3.1, then reinstate.
350 * PickPackageLine.cc: Adjust packageversion accessors to the new
351 reference calls. (i.e. -> to .) throughout.
352 (PickPackageLine::paint): Use accessible() for clarity.
353 Use new split out source package logic.
354 (PickPackageLine::click): Ditto.
355 * PickView.cc (PickView::init_headers): Adjust packageversion accessors
356 to the new reference calls. (i.e. -> to .) throughout.
357 Use new split out source package logic.
358 * choose.cc: Don't depend on a specific package type.
359 Adjust packageversion accessors to the new reference calls. (i.e. -> to
360 .) throughout.
361 (set_existence): Use accessible () for clarity.
362 (default_trust): Simplify a little.
363 (scanAVersion): Factored out code from scan_downloaded_files for
364 clarity.
365 (scan_downloaded_files): Factor out inner loop for clarity.
366 (ChooserPage::OnNext): Don't dump the dependency list,
367 it's parsing is robust now!.
368 * cygpackage.cc (createInstance): Use a factory method to create new
369 objects.
370 (cygpackage::cygpackage): Make this private for use by the factory.
371 (cygpackage::setCanonicalVersion): Renamed from set_canonical_version.
372 Remove key usage as it's obsolete.
373 * cygpackage.h (cygpackage): Inherit from _packageversion, not
374 packageversion.
375 (cygpackage::createInstance): New factory.
376 (cygpackage::cygpackage): Make private.
377 * desktop.cc (make_passwd_group): Use new packageversion reference.
378 * download.cc (do_download_thread): Use changeRequested() for clarity.
379 Use new packageversion reference calls.
380 * iniparse.y (REQUIRES): Reuse the packageList code and dump the one-off
381 requires code.
382 * install.cc: Adjust -> to ., and use the new accessor functions for
383 packageversion throughout.
384 * package_db.cc: Adjust -> to ., and use the new accessor functions for
385 packageversion throughout.
386 (packagedb::packagedb): Use the new cygpackage factory.
387 (packagedb::flush): Leverage String to remove buffer overflow chance in
388 sprintf.
389 (packagedb::findBinary): Find a binary meta package that has a version
390 matching a given specification.
391 (packagedb::findSource): Ditto, but for source.
392 * package_db.h (packagedb::findBinary): Declare.
393 (packagedb::findSource): Ditto.
394 * package_meta.cc: Adjust packageversion accessors to the new
395 reference calls. (i.e. -> to .) throughout.
396 Include the package_meta header first to ensure it parses standalone.
397 Use the STL algorithms.
398 (packagemeta::packagemeta): Create a copy constructor to allowing
399 cloning binary package metadata to source package metadata.
400 (packagemeta::~packagemeta): Use the STL coleltion code rather than
401 custom collection code.
402 (packagemeta::add_version): Ditto.
403 (packagemeta::set_installed): Ditto.
404 (packagemeta::SDesc): Ditto.
405 (hasSDesc): Helper function for find_if.
406 (checkForInstalled): Ditto.
407 (checkForUpgradeable): Ditto.
408 (checkForSatisfiable): Ditto.
409 (packagemeta::action_caption): Update for split out source packages.
410 (packagemeta::set_action): Ditto.
411 (packagemeta::set_requirements): Support multi-valued dependency
412 lists - a|b & c|d - with versioned package specifications.
413 (packagemeta::accessible): Helper member to improve abstraction.
414 (packagemeta::sourceAccessible): Ditto.
415 * package_meta.h: Adjust packageversion accessors to the new
416 reference calls. (i.e. "->" to "." and"*" to "" ) throughout.
417 (packagemeta::packagemeta): Declare copy constructor.
418 Remove self initialising members.
419 (packagemeta::set_action): Update parameters for new packageversion.
420 (packagemeta::trustp): Ditto.
421 (packagemeta::versions): Becomes an STL set.
422 * package_source.h (packagesource::Cached): Const correctness change.
423 * package_version.cc: Rewrite the packageversion interface to remove
424 the cygpackage nonvirtual members, and provide a copy by value,
425 pointer semantics reference counting wrapper class to ease use and
426 comparison of packageversions.
427 Change existing packageversion class to _packageversion throughout.
428 (_defaultversion): A trivial concrete class to prevent specialcasing
429 the default constructor for packageversion;
430 (packageversion::packageversion): Implement.
431 (packageversion::~packageversion): Ditto.
432 (packageversion::operator=): Ditto.
433 (packageversion::operator !): Ditto.
434 (packageversion::operator bool): Ditto.
435 (packageversion::operator ==): Ditto.
436 (packageversion::operator !=): Ditto.
437 (packageversion::operator <): Ditto.
438 (packageversion::Name): Ditto.
439 (packageversion::Canonical_version): Ditto.
440 (packageversion::setCanonicalVersion): Ditto.
441 (packageversion::getfirstfile): Ditto.
442 (packageversion::getnextfile): Ditto.
443 (packageversion::SDesc): Ditto.
444 (packageversion::set_sdesc): Ditto.
445 (packageversion::LDesc): Ditto.
446 (packageversion::set_ldesc): Ditto.
447 (packageversion::sourcePackage): Ditto.
448 (packageversion::sourcePackageSpecification): Ditto.
449 (packageversion::setSourcePackageSpecification): Ditto.
450 (packageversion::depends): Ditto.
451 (packageversion::predepends): Ditto.
452 (packageversion::recommends): Ditto.
453 (packageversion::suggests): Ditto.
454 (packageversion::replaces): Ditto.
455 (packageversion::conflicts): Ditto.
456 (packageversion::provides): Ditto.
457 (packageversion::picked): Ditto.
458 (packageversion::pick): Ditto.
459 (packageversion::changeRequested): Ditto.
460 (packageversion::uninstall): Ditto.
461 (packageversion::source): Ditto.
462 (packageversion::accessible): Ditto.
463 (_packageversion::sourcePackage): Ditto.
464 (_packageversion::accessible): Ditto.
465 (_packageversion::changeRequested): Ditto.
466 * package_version.h: Rewrite the packageversion interface to remove
467 the cygpackage nonvirtual members, and provide a copy by value,
468 pointer semantics reference counting wrapper class to ease use and
469 comparison of packageversions.
470 Change existing packageversion class to _packageversion throughout.
471 (Dependency): Remove.
472 (packageversion): New wrapper class.
473 (_packageversion): Renamed from packageversion.
474 (_packageversion::setCanonicalVersion): New method.
475 (_packageversion::sourcePackage): Ditto.
476 (_packageversion::sourcePackageSpecification): Ditto.
477 (_packageversion::setSourcePackageSpecification): Ditto.
478 (_packageversion::changeRequested): Ditto.
479 (_packageversion::bin): Rename to source.
480 (_packageversion::src): Remove.
481 (_packageversion::accessible): New method.
482 (_packageversion::references): Allow reference counting.
483 (_packageversion::sourceVersion): Cached the best-match source
484 package version.
485
387cb501
RC
4862002-06-27 Robert Collins <rbtcollins@hotmail.com>
487
488 * compress_bz.h (compress_bz::position): Track how much has been read.
489 * compress_bz.cc (compress_bz::compress_bz): And initialise it.
490 (compress_bz::read): Track amount read by the client.
491 (compress_bz::tell): And report it when asked.
492
7d702af3
RC
4932002-06-27 Robert Collins <rbtcollins@hotmail.com>
494
495 * Makefile.am (snapshot): Automate snapshot creation some more.
496
08cd08c3
RC
4972002-06-27 Robert Collins <rbtcollins@hotmail.com>
498
499 * msg.cc (msg): Use vsnprintf to avoid buffer overflows.
500 (mbox): Ditto.
501 * ini.cc (fprintf): Ditto.
502 * log.cc (log): Ditto.
503 * package_db.cc (packagedb::sourcePackages): Split out source packages
504 from binary packages.
505 * package_db.h: Ditto.
506
aa1e3b4d
RC
5072002-06-27 Robert Collins <rbtcollins@hotmail.com>
508
509 * PackageSpecification.h: New file. Abstracts the ability to refer
510 to another package, by name, or name and version.
511 * PackageSpecification.cc: Ditto.
512 * IniDBBuilder.cc (IniDBBuilder::buildPackageInstall): Simplify.
513 (IniDBBuilder::buildPackageSource): Ditto.
514 (IniDBBuilder::buildBeginDepends): New method for versioned
515 dependencies.
516 (IniDBBuilder::buildBeginPreDepends): Likewise, for dependencies to be
517 satisfied before pre-install.
518 (IniDBBuilder::buildPriority): New method, for getting the package
519 Priority.
520 (IniDBBuilder::buildInstalledSize): How much disk space does it need?
521 (IniDBBuilder::buildMaintainer): Who maintains the package?
522 (IniDBBuilder::buildArchitecture): What platform is it for?
523 (IniDBBuilder::buildInstallSize): How big is the binary download?
524 (IniDBBuilder::buildInstallMD5): Whats the MD5 on the binary?
525 (IniDBBuilder::buildSourceMD5): Whats the MD5 on the source package?
526 (IniDBBuilder::buildBeginRecommends): What other packages are
527 recommended with this one?
528 (IniDBBuilder::buildBeginSuggests): And suggested?
529 (IniDBBuilder::buildBeginReplaces): What packages does this replace?
530 (IniDBBuilder::buildBeginConflicts): And collide with?
531 (IniDBBuilder::buildBeginProvides): What virtual packages (or obsolete
532 package names) does this provide?
533 (IniDBBuilder::buildDescription): Grab a multi line description one
534 line at a time.
535 (IniDBBuilder::buildSourceName): What source package should be used to
536 install the source for this binary package?
537 (IniDBBuilder::buildSourceNameVersion): Is a specific version needed?
538 (IniDBBuilder::buildPackageListAndNode): Add another AND clause to a
539 list of package specifications.
540 (IniDBBuilder::buildPackageListOrNode): Add another OR clause.
541 (IniDBBuilder::buildPackageListOperator): Add a versioning operator
542 to the current specification.
543 (IniDBBuilder::buildPackageListOperatorVersion): What version does the
544 operator act on?
545 * IniDBBuilder.h: Declare all the IniDBBuilder.cc changes.
546 * IniDBBuilderPackage.cc: As for IniDBBuilder.cc.
547 (IniDBBuilderPackage::IniDBBuilderPackage): Iniitialize new members.
548 (IniDBBuilderPackage::process_src): Streamline and split out
549 functionality.
550 (IniDBBuilderPackage::setSourceSize): From process_src.
551 * IniDBBuilderPackage.h: Declare the IniDBBuilderPackage.cc changes.
552 (IniDBBuilderPackage::currentSpec): Track the in-progress specifiation.
553 (IniDBBuilderPackage::currentOrList): Track the current Or list.
554 (IniDBBuilderPackage::currentAndList): Track the current And list.
555 * IniParseFeedback.cc (IniParseFeedback::progress): Provide completion
556 progress on parsing.
557 (IniParseFeedback::iniName): Tell what ini filename we are currently
558 processing.
559 * IniParseFeedback.h: Declare IniParseFeedback.cc changes.
560 * IniParseFindVisitor.cc (IniParseFindVisitor::IniParseFindVisitor):
561 Make the feedback object non-const to allow mutating methods which are
562 needed when the object has state.
563 (IniParseFindVisitor::visitFile): Tell the caller the name of each
564 .ini found.
565 Initialise the parser with the feedback object to allow it to tell of
566 progress.
567 * IniParseFindVisitor.h: Declare IniParseFindVisitor.cc changes.
568 * Makefile.am (inilinst_SOURCES): Add more requisite classes.
569 (setup_SOURCES): Add the new PackageSpecification sources.
570 * ScanFindVisitor.cc (ScanFindVisitor::visitFile): Use the new
571 builder syntax to setup binary package details.
572 * choose.cc: Use the LogSingleton calls throughout.
573 * configure.in: Create the INILINT substitution correctly for recent
574 autotool configurations.
575 * cygpackage.cc (cygpackage::getfirstfile): Return an empty String
576 rather than a string built from an int. Thanks to Pavel Tsekov for
577 identifying the bug.
578 (cygpackage::getnextfile): Ditto.
579 * download.cc: Use LogSIngletion calls throughout.
580 (validateCachedPackage): A refactoring of the
581 check_for_cached code to eliminate duplciation.
582 (check_for_cached): Use validateCachedPackage to check packages.
583 * ini.cc (GuiParseFeedback): Provide gui feedback on ini name and
584 parsing progress.
585 (do_remote_ini): Ditto.
586 * ini.h (ini_init): Pass a IniParseFeedback to the parser, to allow
587 progress reporting.
588 * inilex.l: Identify new symbols - operators, and multi line plain text.
589 Releases files.
590 * inilintmain.cc (show_help): Provide basic infomation on inilint.
591 * iniparse.y: Adjust for the new builder syntax, and process debian
592 Release files.
593 * io_stream_file.cc: Always include mkdir.h.
594 * list.h: Factor index location into a private routine.
595 (list::findindex): Implement this.
596 * mkdir.cc (mkdir_p): Make the use of WIN32 code conditional on mingw
597 builds. NB: This breaks cygwin build functionality still.
598 * package_meta.cc: Use the LogSingleton calls throughout.
599 (packagemeta::set_requirements): Adjust for object changes in
600 dependencies.
601 * package_meta.h (packagemeta::packagemeta): Initialise new members.
602 (packagemeta::architecture): What platform does this package run on?
603 This may need to move in the future to a per packagefile object.
604 (packagemeta::priority): What priority does this package have?
605 * package_source.h (packagesource::packagesource): Initialise new
606 members.
607 (packagesource::installedSize): How much space does the package need?
608 (packagesource::setInstalledSize): Tell the amount.
609 (packagesource::_installedSize): And store it.
610 * package_version.cc (packageversion::sourcePackage): return the
611 source package.
612 (packageversion::setSourcePackage): And set it.
613 * package_version.h: Declare the package_version.cc changes.
614 (packageversion::depends): New package specification AND list.
615 (packageversion::predepends): Ditto.
616 (packageversion::recommends): Ditto.
617 (packageversion::suggests): Ditto.
618 (packageversion::replaces): Ditto.
619 (packageversion::conflicts): Ditto.
620 (packageversion::provides): Ditto.
621 (packageversion::sourcePackage): What source package is needed?
622 * threebar.cc (ThreeBarProgressPage::SetText4): Set the label beside
623 the bottom bar.
624 * threebar.h: Declare the threebar.cc change.
625
6262002-06-27 John Marshall <johnm@falch.net>
627
628 * res.rc (SETUPINI_MISSING): Make trailing spaces visible.
629 * site.cc (SitePage::OnMessageCmd): Ditto
630
2a994e0b
RC
6312002-06-15 Robert Collins <rbtcollins@hotmail.com>
632
633 * nio-ie5.cc (NetIO_IE5::NetIO_IE): Allow cached data.
634
ceff7035
RC
6352002-06-15 Robert Collins <rbtcollins@hotmail.com>
636
637 * package_meta.cc (packagemeta::set_action): When installing packages
638 with no binaries, choose the source package.
639
9bd27040
RC
6402002-06-10 Robert Collins <rbtcollins@hotmail.com>
641
642 * IniParseFindVisitor (IniParseFindVisitor::visitFile): Apply Max
643 Bowshers fix for the crash with a root level setup.ini.
644 * README: Update todos.
645
1dcff4a0
RC
6462002-05-26 Ralf Habacker <ralf.habacker@freenet.de>
647
648 * archive_tar.cc (archive_tar::next_file_name()): fixed broken
649 GNU long name extension support.
650
0773e4f2
RC
6512002-05-27 Robert Collins <rbtcollins@hotmail.com>
652
653 * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Don't
654 unescape 0 length strings.
655
a828d772
RC
6562002-05-20 Robert Collins <rbtcollins@hotmail.com>
657
658 * package_meta.cc (packagemeta::set_action): Don't allow reinstall
659 when local with no cached file, and install the default source if the
660 default version has no binary.
661
67829ce0
RC
6622002-05-19 Robert Collins <rbtcollins@hotmail.com>
663
664 * IniDBBuilderPackage.cc (IniDBBuilderPackage::IniDBBuilderPackage): New
665 method.
666 (IniDBBuilderPackage::buildVersion): Provide a warning when a newer
667 setup version created the ini file.
668 * IniDBBuilderPackage.h (IniDBBuilderPackage::IniDBBuilderPackage): New
669 method.
670 * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Use the new
671 feedback strategy.
672 * IniParseFindVisitor.h (IniParseFindVisitor::IniParseFindVisitor):
673 Require a feedback strategy.
674 * Makefile.am (setup_SOURCES): Add IniParseFeedback sources.
675 * Makefile.in: Regenerate.
676
4849e2fc
RC
6772002-05-19 Robert Collins <rbtcollins@hotmail.com>
678
679 * io_stream_file.cc (io_stream_file::remove): Use the SetFileAttributes
680 trick to delete read only files.
681 * io_stream_cygfile.cc (io_stream_cygfile::remove): Use file:// to
682 remove files.
683 * Makefile.am (release): Tweak to be more helpful.
684 * Makefile.in: Regenerate.
685
7cb35117
RC
6862002-05-19 Robert Collins <rbtcollins@hotmail.com>
687
688 * Makefile.am (release): Tweak to be more helpful.
689 * Makefile.in: Regenerate.
7cb35117 690
5090e3ce
RC
6912002-05-19 Robert Collins <rbtcollins@hotmail.com>
692
693 * Makefile.am (release): Tweak to be more helpful.
694 * Makefile.in: Regenerate.
695
9e9b881a
RC
6962002-05-19 Robert Collins <rbtcollins@hotmail.com>
697
698 * choose.cc (scan_downloaded_files): When a non-installed version
699 has neither bin nor src cached files for local installs,
700 remove the version from availability.
701
ea36e064
RC
7022002-05-19 Robert Collins <rbtcollins@hotmail.com>
703
704 * ini.cc (do_remote_ini): Save uncompressed ini's correctly.
705
b401ef47
RC
7062002-05-19 Robert Collins <rbtcollins@hotmail.com>
707
708 * rsync: New support library, contains librsync. This is not (yet)
709 rsync interoperable.
710 * configure.in: --with-rsync to enable rsync support. (Not complete).
711 * Makefile.am: Enable building with rsync.
712 * Makefile.in: Regenerate.
713 * configure: Ditto.
714 * IniDBBuilder.cc (IniDBBuilder::buildPackageInstall): Pass the md5 as
715 an array.
716 (IniDBBuilder::buildPackageSource): Ditto.
717 * IniDBBuilder.h: Ditto.
718 * IniDBBuilderPackage.cc: Ditto.
719 * IniDBBuilderPackage.h: Ditto.
720 * FindVisitor.cc: New file.
721 * FindVisitor.h: New file, interface for visiting a file system
722 aggregate.
723 * IniParseFindVisitor.cc: New file.
724 * IniParseFindVisitor.h: New file, concrete FindVisitor that parses
725 found setup.ini's.
726 * README: Update TODO's.
727 * String++.cc (String::String): New constructor for <string> inter-
728 operability.
729 (String::substr): New method.
730 * String++.h: Ditto.
731 * choose.cc (scan2): Remove.
732 (scan_downloaded_files): Simplify.
733 * dialog.h: Include parsing pre-requirements.
734 * download.cc (check_for_cached): Fullname was used incorrectly - fix.
735 * filemanip.cc (parse_filename): -src packages where incorrectly parsed.
736 * find.cc: Rewrite. Now uses a Visitor pattern and is re-entrant.
737 * find.h: Ditto.
738 * fromcwd.cc: Remove unneeded includes.
739 (is_test_version): Remove.
740 (found_file): Remove.
741 (SetupFindVisitor): Trivial visitor to detect setup.ini's.
742 (found_ini): Remove.
743 (do_fromcwd): Remove commented code that has be replaced elsewhere.
744 * ini.cc (local_ini): Remove.
745 (findBuilder): Remove.
746 (find_routine): Remove.
747 (do_local_ini): Use new IniParseFindVisitor.
748 * iniparse.y: Typecase MD5 arrays, as we know they are allocated as
749 unsigned char.
750 * postinstall.cc: Remove non-core includes.
751 (run_script_in_postinstall): Remove.
752 (RunFindVisitor): Trivial Visitor, runs each found script.
753 (do_postinstall): Use new find syntax.
754
0d4e0aad
CF
7552002-05-14 Christopher Faylor <cgf@redhat.com>
756
757 * ini.cc (find_routine): Don't clear buffer it it's NULL.
758
7592002-05-14 Christopher Faylor <cgf@redhat.com>
760
761 * filemanip.h (trail): Declare.
762 * filemanip.cc (trail): New function.
763 (find_tar_ext): Use trail() instead of strstr().
764 * fromcwd.cc (check_ini): Ditto.
765 * ini.cc (find_routine): Ditto. Don't tack local_dir to path since it
766 should now be fully qualified. Set ini_filename. Reset error_buf and
767 error_count for any subsequent ini file parsing.
768 (ini_filename): New static variable for parse error reporting.
769 (yyerror): Use full path of setup.ini in error message. Subtract one
770 from line number if at bol.
771 * find.cc (found_part): Eliminate.
772 (find_sub): Call for_each with full path found rather than just file
773 component.
774 (find): Don't calculate found_part.
775 * inilex.l (ini_init): Flush input buffer and reset line number.
776 (yybol): New function. Exports YY_AT_BOL.
777 * iniparse.y: Increase stack depth to allow more tokens to be processed.
778 (yyparse): Remove newline from error condition to allow subsequent
779 per-line error processing to proceed normally.
780
7812002-05-14 Christopher Faylor <cgf@redhat.com>
782
783 * find.cc (find_sub): Be more defensive in preserving trailing parts of
784 components when doing recursive directory searches or calling user
785 supplied for_each().
786 * ini.cc (find_routine): Don't assume that any path name with
787 "setup.ini" in it is actually a setup.ini file. Only honor trailing
788 components. Copy path argument to temporary storage when unescaping
789 to prevent nuking of argument.
790
874c569a
RC
7912002-05-12 Robert Collins <rbtcollins@hotmail.com>
792
793 * CONTRIBUTORS: New file.
794
f6a81f69
RC
7952002-04-02 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
796
797 * choose.cc: Run indent.
798 (nextbutton): Remove static variable.
799 (default_trust): Remove use of nextbutton.
800 (set_view_mode): Ditto.
801 (create_listview): Add IDC_CHOOSE_PREV and IDC_CHOOSE_NEXT to ta[] so
802 rbset() sets the prev/next/curr radio buttons properly.
803 (dialog_cmd): Delete function.
804 (dialog_proc): Delete function. Move WM_INITDIALOG functionality to
805 ChooserPage::OnInit.
806 (do_choose): Delete function. Move pre-DialogBox() code to
807 ChooserPage::OnInit(), post-DialogBox() code to ChooserPage::OnNext.
808 (WM_APP_START_CHOOSE): Remove define.
809 (WM_APP_CHOOSE_IS_FINISHED): Remove define.
810 (do_choose_thread): Delete function.
811 (ChooserPage::OnActivate): Delete method.
812 (ChooserPage::OnMessageApp): Delete method.
813 (ChooserPage::OnInit): New method.
814 (ChooserPage::OnNext): New method.
815 (ChooserPage::OnBack): New method.
816 (ChooserPage::OnMessageCmd): New method.
817 * choose.h: Run indent.
818 (ChooserPage::OnMessageApp): Delete declaration.
819 (ChooserPage::OnActivate): Ditto.
820 (ChooserPage::OnMessageCmd): New declaration.
821 (ChooserPage::OnInit): Ditto.
822 (ChooserPage::OnNext): Ditto.
823 (ChooserPage::OnBack): Ditto.
824 * desktop.cc (DesktopSetupPage::OnBack): Replace use of IDD_CHOOSER
825 with IDD_CHOOSE.
826 * fromcwd.cc (do_fromcwd): Replace use of IDD_CHOOSER with IDD_CHOOSE.
827 * ini.cc (do_ini_thread): Replace use of IDD_CHOOSER with IDD_CHOOSE.
828 * res.rc (IDD_CHOOSE): Remove dialog template.
829 (IDD_CHOOSER): Alter dialog template to fit wizard size and format.
830
74617327
RC
8312002-05-12 Robert Collins <rbtcollins@hotmail.com>
832
833 * LogFile.cc (endLog): Work around an apparent libg++-3 bug causing
834 corrupt log file entries.
835 * geturl.cc: Convert to the new LogSingleton logging.
836
3272d625
RC
8372002-05-12 Robert Collins <rbtcollins@hotmail.com>
838
839 * ini.cc (do_remote_ini): Use setup.bz2 if it exists in preference to
840 setup.ini.
841
fc687221
RC
8422002-05-12 Robert Collins <rbtcollins@hotmail.com>
843
844 * geturl.h: Declare getUrlToStream.
845 * geturl.cc (getUrlToStream): New function.
846 (get_url_to_membuf): Refactor to use getUrlToStream.
847
902c8a3f
RC
8482002-05-11 Robert Collins <rbtcollins@hotmail.com>
849
850 * Makefile.am: Add a release target to automate some of the routine
851 work.
852 * Makefile.in: Regenerate.
853
2ab26cdb
RC
8542002-05-11 Robert Collins <rbtcollins@hotmail.com>
855
856 * choose.cc (scan_downloaded_files): On local installs remove all
857 mirror sites if no cached copy of a package is found.
858
94852d65
RC
8592002-05-10 Robert Collins <rbtcollins@hotmail.com>
860
861 * Makefile.in: Regenerate.
862 * iniparse.y: Use left recursion, not right in the lines rule to
863 avoid stack overflows.
864 * README: Update TODO's.
865 * io_stream_file.cc: Native builds need to include sys/stat.h
866
3548fbc3
RC
8672002-05-06 John Marshall <jmarshall@acm.org>
868
869 * site.cc (SitePage::OnMessageCmd): recalculate navigation
870 button activation when "Add" is pressed.
871 (SitePage::CheckControlsAndDisableAccordingly): tweak comment.
872
8732002-05-07 Robert Collins <rbtcollins@hotmail.com>
2b48ecd0
RC
874
875 * Makefile.am (inlint_SOURCES): Add conditional objects to inilint
876 depending on platform.
877 Add file:// support.
878 * configure.in: Set conditional MINGWTARGET if compiling against mingw
879 libraries.
880 * Makefile.in: Regenerate.
881 * configure: Ditto.
882 * io_stream_file.cc: Only use win32 calls when building for mingw.
883
19911586
RC
8842002-05-05 Robert Collins <rbtcollins@hotmail.com>
885
886 * Makefile.am (noinst_PROGRAMS): Make inilint configurable.
887 * configure.in: Ditto.
888 Fix incorrect header checking syntax.
889 * aclocal.m4: Regenerate.
890 * configure: Regenerate.
891 * Makefile.in: Regenerate.
892 * io_stream.cc: Remove platform specific and provider specific code.
893 (io_stream::registerProvider): New method, registers a Url provider with
894 the io_stream code.
895 Make all methods consistently throw invalid_argument exceptions when
896 a provider that is requested is not present.
897 (findProvider): New private function, finds a provider.
898 * io_stream.h: Declare io_stream::registerProvider.
899 * io_stream_cygfile.cc: Create a Provider class to register with
900 io_stream.cc.
901 * io_stream_file.cc: Ditto.
902 * archive.cc: Remove unneeded includes.
903 * archive_tar.cc: Remove unneeded includes.
904 * archive_tar.h: Add required include.
905 * archive_tar_file.cc: Remove unneded includes.
906 * choose.cc: Remove unneeded includes:
907
bf4ffcd9
RC
9082002-05-04 Robert Collins <rbtcollins@hotmail.com>
909
910 * io_stream.cc: Use the new log interface thruout.
911
9f4a0c62
RC
9122002-05-04 Robert Collins <rbtcollins@hotmail.com>
913
914 * log.cc (log): Reimplement via LogSingleton.
915 (log_save): Remove.
916 (exit_setup): Remove.
917 * log.h (log_save): Remove.
918 (exit_setup): Remove.
919 * LogSingleton.cc: New file.
920 * LogSingleton.h: New file.
921 * LogFile.cc: New file.
922 * LogFile.h: New file.
923 * Makefile.am (inilint_SOURCES): Add the new log interface.
924 (setup_SOURCES): Add the new log interface and the concrete File
925 implementation.
926 * Makefile.in: Regenerate.
927 * archive.cc: Use the new log interface thruout.
928 * archive_tar.cc: Ditto.
929 * main.cc: Ditto.
930 * dialog.cc (fatal): Use the new log interface.
931 * ini.cc (do_ini_thread): Use the log interface to exit.
932 * isntall.cc (do_install_thread): Ditto.
933 * netio.cc (auth_cmd): Ditto.
934 * msg.cc (fatal): Ditto.
935 * localdir.cc (save_local_dir): Save to different files depending on
936 the mode, and if a root dir exists.
937
076654e7
RC
9382002-05-04 Robert Collins <rbtcollins@hotmail.com>
939
940 * IniDBBuilder.cc: New file.
941 * IniDBBuilder.h: New file.
942 * IniDBBuilderPackage.cc: New file.
943 * IniDBBuilderPackage.h: New file.
944 * PackageTrust.h: New file.
945 * IniState.h: Remove, wasn't thought out well enough.
946 * Makefile.am (inilint_SOURCES): Add more requirements.
947 (setup_SOURCES): Add new Builder base and concrete classes.
948 * Makefile.in: Regenerate.
949 * String++.cc (String::String): Implement int contructor.
950 * String++.h (String): Declare int constructor.
951 * archive_tar.cc (archive_tar::next_file_name): Return String() when
952 no filename exists.
953 * archive_tar.h (archive_tar_file): Remove get_next_filename method,
954 it's not needed.
955 * ini.cc: Replace IniState wuth IniDBBuilderPacakge.
956 (find_routine): Use new IniDBBuilder to configure the parser.
957 (do_local_ini): Ditto.
958 (do_remote_ini): Ditto.
959 * ini.h: Use IniDBBuilder to initialise parsing.
960 * inilex.l (MD5): Parse the MD5 string correctly, we had the nibbles
961 swapped.
962 (ini_init): Use an IniDBBuilder rather than static variables.
963 * iniparse.y: Hand off all the object creation to a builder, rather
964 than hardcoding the behaviour. This allows run-time configured
965 behaviour.
966 * io_stream_cygfile.h (io_stream_cygfile): Remove get_next_filename
967 method, it's not needed.
968 * io_stream_file.h (io_stream_file): Ditto.
969 * mount.cc (cygpath): Return String() for missing mounts.
970 * package_meta.cc (packagemeta::SDesc): Return String() for blank
971 descriptions.
972 * package_meta.h (trusts): Remove - replaced by PackageTrust.h.
973 (packagemeta::packagemeta): Fix incorrect syntax in String constructor
974 usage.
975 * cygpackage.cc (cygpackage::cygpackage): Fix incorrect syntax in
976 String constructor usage.
977 * site.h (site_list_type): Ditto.
978
6391823e
RC
9792002-05-03 Robert Collins <rbtcollins@hotmail.com>
980
981 * String++.h: Declare a << operator that accepts String objects.
982 * String++.cc: We need iostream for..
983 (operator <<): this. Provide a << operator that accepts String objects.
984 * ini.cc (yyerror): Remove the "C" classifier - it's not needed.
985 Change from vargs to a String parameter.
986 * inilintmail.cc: Remove the gui related headers.
987 (yyerror): Implement this for parsing.
988 * iniparse.y: Use the new yyerror syntax.
989
b92028a4
RC
9902002-05-03 Robert Collins <rbtcollins@hotmail.com>
991
992 * Makefile.am: Add IniState.h.
993 * Makefile.in: Regenerate.
994 * IniState.h: New file.
995 * choose.cc: Don't include ini.h - it's not needed.
996 * configure: Regenerate.
997 * desktop.cc: Don't include ini.h - it's not needed.
998 * download.cc: Ditto.
999 * fromcwd.cc: Ditto.
1000 * ini.cc: Use IniState.h to track each parsing calling.
1001 (find_routine): Ditto.
1002 (do_remote_ini): Ditto.
1003 (do_ini_thread): Ditto.
1004 * ini.h (ini_init): Adjust parameters to include state object.
1005 * inilex.l: Declare parser state variable.
1006 (ini_init): Adjust parameters to include state object.
1007 * iniparse.y: Remove obsolete setup_timestamp and setup_version
1008 declarations.
1009 (setup_header): Use new state variable to track time and version.
1010 (add_correct_version): Ditto.
1011 * install.cc: Don't include ini.h - it's not needed.
1012
e0a4db64
RC
10132002-05-03 Robert Collins <rbtcollins@hotmail.com>
1014
1015 * nio-files.cc (NetIO): Use io_stream syntax for get_file_size.
1016 * io_stream_file.cc: Don't include filemanip.h.
1017 (io_stream_file::get_size): Implement here to remove filemanip
1018 dependency.
1019 * io_stream_cygfile.cc: Don't include filemanip.h.
1020 (io_stream_cygfile::get_size): Implement here to remove filemanip
1021 dependency.
1022 Implement a stat based version for when win32 is not available.
1023 * filemanip.h (get_file_size): Return size_t - it's more appropriate.
1024 * filemanip.cc: Don't include win32.h - be platform independent.
1025 Include strings.h and io_stream.h as part of that.
1026 (get_file_size): Leverage io_streams and remove win32 implementation.
1027 * download.cc (check_for_cached): Use io_stream syntax for
1028 get_file_size.
1029 (download_one): Ditto.
1030
10312002-05-02 Robert Collins <rbtcollins@hotmail.com>
ac65f5c5
RC
1032
1033 * configure.in: Correct a typo in last change.
1034 * configure: Regenerate.
1035 * Makefile.in: Regenerate.
1036
e0a4db64 10372002-05-02 Robert Collins <rbtcollins@hotmail.com>
e06ded88
RC
1038
1039 * configure.in: Check for string.h and string.
1040 * configure: Regenerate.
1041 * Makefile.in: Regenerate.
1042
1fd0694a
RC
10432002-05-01 Robert Collins <rbtcollins@hotmail.com>
1044
1045 * res.rc (IDD_SPLASH): Remove white box.
1046
89ca06c0
RC
10472002-05-01 Robert Collins <rbtcollins@hotmail.com>
1048
1049 Oops! forgot to list these in the last checkin.
1050 * inilintmain.cc: New file.
1051 * md5.h: New file - imported md5 source, BSD style licence.
1052 * md5.cc: New file - imported md5 source, BSD style licence.
1053 * Exception.cc: New file.
1054 * Exception.h: New file.
1055 * MD5++.cc: New file.
1056 * MD5++.h: New file.
1057
58ee6135
RC
10582002-05-01 Robert Collins <rbtcollins@hotmail.com>
1059
1060 * Makefile.am (AM_CFLAGS): Remove -mwindows, it's a linker flag.
1061 Remove -fno-rtti, we need it for exceptions.
1062 (AM_CXXFLAGS): Ditto.
1063 (WARNONLY_CFLAGS): Ditto.
1064 (EXTRA_PROGRAMS): Add with initial linter sources - not functional yet.
1065 (setup_LDFLAGS): Add and set to -mwindows.
1066 (setup_SOURCES): Add new sources.
1067 * Makefile.in: Regenerate.
1068 * README: Update TODO.
1069 * choose.cc (scan_downloaded_files): Use ini information if it's
1070 available.
1071 * configure: Regenerate.
1072 * download.cc (check_for_cached): Make reusable from elsewhere.
1073 Throw exceptions on errors (as opposed to failures).
1074 Check MD5 sum when it's known.
1075 (download_one): Never force a download.
1076 Handle corrupt package exceptions.
1077 * ini.cc (find_routine): Reverse escape the URL to correctly identify
1078 the site URL.
1079 * inilex.l (MD5): Provide a parsing rule (note: lowercase is required).
1080 * iniparse.y: Allow calculation of MD5 sums, and allow src only
1081 packages.
1082 (process_src): New helper function.
1083 * isntall.cc (install_one_source): Check MD5 sums when possible.
1084 Throw exceptions on errors.
1085 (do_install_thread): Handle exceptions for installation calls.
1086 * package_source.h: Store MD5 information.
1087 * propsheet.cc (PropSheet::Create): Add a useful comment.
1088 * res.rc (IDS_INSTALL_ERROR): Define.
1089 (IDS_CORRUPT_PACKAGE): Define.
1090 * resource.h (IDS_INSTALL_ERROR): Define.
1091 (IDS_CORRUPT_PACKAGE): Define.
1092 * rfc1738.cc (rfc1738_unescape_part): Implement.
1093 * rfc1738.h (rfc1738_unescape_part): Declare.
1094
45e01f23
RC
10952002-04-29 Robert Collins <rbtcollins@hotmail.com>
1096
1097 * Makefile.am: Remove dependecy rules that automake emits.
1098 Correct badly copied dependency info for manually compiled files.
1099 (setup_SOURCES): Add all used headers.
1100 (EXTRA_DIST): Include non compilate but required sources.
1101 (setup_LDADD): Remove mingw32, it is autodetected.
1102 * Makefile.in: Regenerate.
1103 * String++.h: sys/types is a system header.
1104 * choose.cc (do_choose_thread): Make into a Win32 thread routine.
1105 Use ExitThread.
1106 (ChooserPage::OnMessageApp): Use Win32 threads. (_beginthread is not
1107 portable).
1108 * configure: Regenerate.
1109 * configure.in: Check for mingw32/cygwin specific headers and libraries.
1110 * cygpackage.h: Include the win32.h header to get correct macro
1111 definitions in all situations.
1112 * download.cc (do_download_reflector): Make into a Win32 thread routine.
1113 Use ExitThread.
1114 (do_download): Use Win32 threads.
1115 * ini.cc: Ditto.
1116 * install.cc: Ditto.
1117 * (WinMain): Adjust to build valid command line using application
1118 under both mingw32 and cygwin.
1119 * mount.cc (set)cygdrive_flags): Create new system flags if the
1120 user requests system and the value does not exist.
1121 * nio-http.cc: Define a _strnicmp for cygwin.
1122 * package_db.cc: Include <errno.h> if it exists.
1123 * site.cc (do_download_site_info_thread): Make into a Win32 thread
1124 routine.
1125 Use ExitThread.
1126 (do_download_site-Info): Use Win32 threads.
1127 * state.cc: Explicity declare variables to avoid header conflicts
1128 caused by '#define extern" on cygwin.
1129 * win32.h: Include <alloca.h> if it exists.
1130 (_MAX_PATH): Define as MAX_PATH when not defined by windows.h.
1131 (_access): Define as access if not defined by windows.h.
1132
8bb9dad9
RC
11332002-04-27 Robert Collins <rbtcollins@hotmail.com>
1134
1135 * compress_gz.cc (compress_gz::error): EOF is not an error condition.
1136
6908b7d7
RC
11372002-04-27 Robert Collins <rbtcollins@hotmail.com>
1138
1139 * Makefile.am: Add libgetopt++ to the subdirs list.
1140 Search the libgetopt++ header directory.
1141 Link against libgetopt++.la.
1142 (setup_SOURCES): Remove GetOption.cc and getopt.c and Option.cc.
1143 (setup_LDADD): Explicitly include res.o.
1144 * Makefile.in: Regenerate.
1145 * aclocal.m4: Regenerate.
1146 * bootstrap.sh: Call libtoolize.
1147 * configure: Regenerate.
1148 * configure.in: Add libtool support and configure libgetopt++.
1149 * desktop.cc (NoShortcutsOption): Turn into a BoolOption.
1150 (DesktopSetupPage::OnInit): Use the simpler syntax.
1151 * desktop.h: Remove dependency on Option.h, and remove NoShortcustOption
1152 declaration.
1153 * main.cc: Include getopt++/GetOption.h.
1154 (main): Use simpler syntax.
1155 * cdefs.h: Remove.
1156 * getopt.h: Remove.
1157 * getopt.c: Remove.
1158 * GetOption.h: Remove.
1159 * GetOption.cc: Remove.
1160 * Option.h: Remove.
1161 * Option.cc: Remove.
1162
9063358a
RC
11632002-04-26 Robert Collins <rbtcollins@hotmail.com>
1164
1165 * Makefile.am: Add zlib and bz2lib to SUBDIRS.
1166
f6100b6f
RC
11672002-04-26 Robert Collins <rbtcollins@hotmail.com>
1168
1169 * aclocal.m4: New file, cached macros.
1170 * bootstrap.sh: New file, calls required autotools in appropriate
1171 order.
1172 * Makefile.am: New file, input Makefile for automake.
1173 * Makefile,in: Now a generated file - regenerate.
1174 * configure: Regenerate.
1175 * configure.in: Add automake support.
1176 * inilex.l: Change VERSION to PACKAGEVERSION to avoid a collision with
1177 automake's VERSION define.
1178 * iniparse.y: Ditto.
1179
db04fc41
RC
11802002-04-26 Robert Collins <rbtcollins@hotmail.com>
1181
1182 * cdefs.h: New file, imported to allow getopt.c to build without
1183 cygwin headers.
1184 * getopt.h: New file, imported to allow building without cygwin headers.
1185 * getopt.c: Ditto.
1186 * bz2lib: New directory, contains copy of bz2lib.
1187 * cfgaux: New directory, contains autotool helper scripts.
1188 * Makefile,in: Adjust library and target definitions for building
1189 outside the sourceware tree.
1190 * compress_bz.h: Use new bz2lib header location.
1191 * mount.cc: Import key defines and enums to be independent of cygwin
1192 headers.
1193 * configure.in: Update to autoconf 2.53, and to be sourceware
1194 independent.
1195 * configure: Regenerate.
1196
931f2755
RC
11972002-04-12 Robert Collins <rbtcollins@hotmail.com>
1198
1199 * mklink2.cc (make_link_2): Tweak to work with current w32api
1200 headers.
1201
12022002-04-10 Pavel Tsekov <ptsekov@gmx.net>
1203
1204 * version.cc (canonicalize_version): Fix a call delete[]
1205 to delete the allocated address.
1206
12072002-03-29 Robert Collins <rbtcollins@hotmail.com>
1208
1209 * PickView.cc (PickView::set_headers): Set last_col correctly. Thanks
1210 to Ton van Overbeek for locating the bug area.
1211
49cf3899
RC
12122003-03-27 Robert Collins <rbtcollins@hotmail.com>
1213
1214 * PickView.cc (PickView::insert_pkg): Be more generic with
1215 object use.
1216 (PickView::insert_category): Ditto.
1217 (PickView::~PickView): Create.
1218 * PickView.h (PickView::~PickView): Declare.
1219
1be8f8fd
RC
12202003-03-27 Robert Collins <rbtcollins@hotmail.com>
1221
1222 * Makefile.in (OBJS): Add new commandline objects.
1223 * desktop.cc (NoShortCutsOption): New option code.
1224 (DesktopSetupPage::OnInit): Check whether to skip shortcuts.
1225 * desktop.h (NoShortCutsOption): New concrete command line option class.
1226 * main.cc (WinMain): Process command line options.
1227 * GetOption.h: New file, singleton command line class.
1228 * GetOption.cc: New file, implementation of the above.
1229 * Option.h : New file, abstract option for GetOption.
1230 * Option.cc: New file, implement constructor and destructor.
1231
f2e49cf8
RC
12322002-03-26 Pavel Tsekov <ptsekov@gmx.net>
1233
1234 * mkdir.cc (mkdir_p): Stop processing if the path is exhausted.
1235
12362002-03-26 Ton van Overbeek <tvoverbe@cistron.nl>
1237
1238 * PickPackageLine.cc (PickPackageline::paint): Adjust clipping rectangle
1239 to textheight, so large fonts work.
1240
12412003-03-26 Robert Collins <rbtcollins@hotmail.com>
1242
1243 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Don't translate
1244 symlinks.
1245
12462003-03-26 Robert Collins <rbtcollins@hotmail.com>
1247
1248 * io_stream_cygfile.cc (cwd): New static for cwd storage.
1249 (io_stream_cygfile::normalise): New method.
1250 (io_stream_cygfile::io_stream_cygfile): Use it.
1251 (io_stream_cygfile::exists): Ditto.
1252 (io_stream_cygfile::remove): Ditto.
1253 (io_stream_cygfile::mklink): And again.
1254 (cygmkdir_p): Yes, again.
1255 (io_stream_cygfile::move): And once more.
1256 * io_stream_cygfile.h (io_stream_cygfile::normalise): Declare.
1257 (io_stream_cygfile::cwd): Ditto.
1258
51ebb760
RC
12592003-03-26 Robert Collins <rbtcollins@hotmail.com>
1260
1261 * package_meta.cc (package_meta::~package_meta): Remove duplicate.
1262 (CategoryPackage::~CategoryPackage): Ditto. (Thanks to Ton van
1263 Overbeek for the report).
1264 * mklink2.cc: Moved from mklink2.c to avoid 'not a prototype error'.
1265 Make g++ compatible.
1266 * mklink2.c: Remove.
1267 * site.cc (site_list_type::init): Delete the correct memory addres.
1268 Thanks to Pavel Tsekov for tracking this down.
1269
e7d67c03
RC
12702002-03-20 Robert Collins <rbtcollins@hotmail.com>
1271
1272 * win32.h: Only define alloca if it's not already.
1273
2fa7c5a4
RC
12742002-03-20 Robert Collins <rbtcollins@hotmail.com>
1275
1276 * package_meta.h (packamgemeta::trustp): Make 'test' choice leave installed
1277 packages alone.
1278 * README: Update with latest requests.
1279 * Various: MTC fixes from setup200202 branch.
1280
7bf13fc9
CF
12812002-03-19 Christopher Faylor <cgf@redhat.com>
1282
1283 * Makefile.in (setup_version.c): Add back magic which allows detection
1284 of setup.exe version number.
1285
2fa7c5a4
RC
12862002-03-17 Robert Collins <rbtcollins@hotmail.com>
1287
1288 * * PickPackageLine.cc (PickPackageLine::paint): Fix incorrect clip region
1289 calculation on win9x systems.
1290
12912002-03-16 Robert Collins <rbtcollins@hotmail.com>
1292
1293 * install.cc (install_one_source): Write the correct length of a string to the
1294 lst file (Thanks to Pavel Tsekov for reporting the bug).
1295
12962002-03-15 Robert Collins <rbtcollins@hotmail.com>
1297
1298 * choose.cc (list_click): Always refresh the entire chooser, as our
1299 package state change mechanism is broken with the new improved list classes.
1300
13012002-03-15 Robert Collins <rbtcollins@hotmail.com>
1302
1303 * desktop.cc (make_passwd_group): Check for .lnk suffix on /etc/passwd and
1304 /etc/group.
1305
13062002-03-15 Robert Collins <rbtcollins@hotmail.com>
1307
1308 * PickPackageLine.cc (PickPackageLine::DrawCheck): New method factored out from
1309 paint().
1310 (PickPackageLine::paint): Use DrawCheck to draw the src tick box, and the new
1311 bin tickbox.
1312 (PickPackageLine::click): Handle the new bin tickbox.
1313 * PickPackageLine.h (PickPackageLine::DrawCheck): Declare this.
1314 * PickView.cc (pkg_headers): Add a Bin? column.
1315 (cat_headers): Ditto.
1316 (PickView::set_headers): Ditto.
1317 (PickView::init_headers): Ditto.
1318 * PickView.h (PickView): Ditto.
1319 * choose.cc (list_click): Use the new name for src_col to set the clip rectangle.
1320
13212002-02-24 Michael A Chase <mchase@ix.netcom.com>
1322
1323 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Fix up Robert's
1324 fixup.
1325
13262002-02-24 Michael A Chase <mchase@ix.netcom.com>
1327
1328 * desktop.cc (make_link): Add "file://" prefix to io_stream::mkpath_p()
1329 call.
1330 (make_passwd_group): Ditto.
1331 * localdir.cc (save_local_dir): Ditto.
1332 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Wrap long lines.
1333 Add "cygfile://" prefix to io_stream::open() calls.
1334
204315f9
RC
13352002-02-24 Robert Collins <rbtcollins@hotmail.com>
1336
1337 * log.cc (log_save): Fix creating /var/log.
1338 * packate_meta.cc (standard_dirs): Remove duplicate '/''s.
1339
58db1046
RC
13402002-02-24 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
1341
1342 * res.rc (STRINGTABLE): Add IDS_CYGWIN_SETUP and
1343 IDS_CYGWIN_SETUP_WITH_PROGRESS strings.
1344 * resource.h: Add IDS_CYGWIN_SETUP and
1345 IDS_CYGWIN_SETUP_WITH_PROGRESS IDs.
1346
1347 * splash.cc (OnInit): Qualify SetWindowText() call with global scope
1348 operator (::SetWindowText()).
1349
1350 * threebar.cc: Run indent.
1351 (cistring.h): Add include.
1352 (SetText1, SetText2, SetText3): Qualify SetWindowText() call with
1353 global scope operator.
1354 (SetBar2): Add logic for writing percent complete into window title.
1355
1356 * window.h: Run indent.
1357 (SetWindowText): New function.
1358 (String): Add forward declaration.
1359 * window.cc: Run indent.
1360 (String++.h): Add include.
1361 (SetWindowText): New function.
1362
490717ef
RC
13632002-02-24 Robert Collins <rbtcollins@hotmail.com>
1364
1365 * README: Update TODO list.
1366 * install.cc (install_one): Fix src package location.
1367 (do_install_thread): Fix creating directories.
1368
7c6ef2c3
RC
13692002-02-19 Robert Collins <rbtcollins@hotmail.com>
1370
1371 * choose.cc: Include cygpackage.h for scan2 use.
1372 (set_existence): Ignore setup.ini mirrors when installing from cwd.
1373 (scan2): Process any valid file.
1374 Add cache entries when a file matching a setup.ini listed version is found.
1375 * filemanip.cc (parse_filename): Remove pkgtar - not used anywhere else.
1376 * filemanip.h (filemanip::pkgtar): Remove.
1377 * package_meta.cc (CategoryPackage::~CategoryPackage): New method.
1378 (packagemeta::~packagemeta): Move from package_meta.h
1379 Remove and delete all version and category information.
1380 * package_meta.h (CategoryPackage): Create a destructor.
1381 (packagemeta::~packagemeta): Move to .cc file.
1382
13832002-02-19 Robert Collins <rbtcollins@hotmail.com>
1384
1385 * install.cc (install_one_source): Make NULL cached package names cause
1386 errors.
1387
bb087dce
RC
13882002-02-18 Michael A Chase <mchase@ix.netcom.com>
1389
1390 * desktop.cc (make_passwd_group): Don't create passwd-grp.bat
1391 unnecessarily.
1392
13932002-02-18 Michael A Chase <mchase@ix.netcom.com>
1394
1395 * log.cc (log_save): Put "\n" at end of log lines instead of "'".
1396
c90bc3df
RC
13972002-02-19 Robert Collins <rbtcollins@hotmail.com>
1398
1399 * mount.cc (create_mount): Avoid a const char*->char* warning.
1400 (read_mounts): Ditto.
1401
3bab9a49
RC
14022002-02-05 Jason Tishler <jason@tishler.net>
1403
2fa7c5a4 1404 * download.cc (do_download_thread): Fix off-by-one error.
3bab9a49 1405
1ac649ed
RC
14062002-02-19 Robert Collins <rbtcollins@hotmail.com>
1407
1408 * configure.in (CXXFLAGS): Substitute at configure time, not runtime.
1409 * configure (CXXFLAGS): Regenerate.
1410 * Makefile.in (iniparse.o): Build via default rules - no errors now.
1411 * README: TODO list updates.
1412
14132002-02-19 Michael A Chase <mchase@ix.netcom.com>
1414
1415 * String++.cc (String::concat):: Remove.
1416 (String::vconcat):: Ditto.
1417 * String++.h (String::concat):: Remove.
1418 (String::vconcat):: Ditto.
1419 * archive_tar.cc: Don't include concat.h.
1420 * archive_tar_file.cc: Don't include concat.h.
1421 * compress_bz.cc (compress_bz::peek): Don't log unneeded messages.
1422 (compress_bz::seek): Ditto.
1423 (compress_bz::~compress_bz): Ditto.
1424 * compress_gz.cc (compress_gz::peek): Ditto.
1425 (compress_gz::error): Ditto.
1426 (compress_gz::~compress_gz): Ditto.
1427 * concat.cc (vconcat): Remove.
1428 (concat): Ditto.
1429 * concat.h (vconcat): Remove.
1430 (concat): Ditto.
1431 * desktop.cc (desktop_icon): Use new cygpath.
1432 (make_etc_profile): Ditto.
1433 (uexists): Ditto.
1434 (make_passwd_group): Ditto.
1435 (save_icon): Ditto.
1436 (check_desktop): Remove concat use.
1437 (check_start_menu): Ditto.
1438 * download.cc (download_one): Use new mkpath_p correctly.
1439 Use LOG_PLAIN.
1440 * fromcwd.cc: Don't include concat.h.
1441 * geturl.cc (get_url_to_membuf): Use String log() call.
1442 (get_url_to_file): Ditto.
1443 * install.cc: Don't include concat.h.
1444 (uninstall_one): Use LOG_PLAIN.
1445 (replace_one): Ditto.
1446 (install_one_source): Ditto.
1447 (install_one): More char to String conversion.
1448 (do_install_thread): Use new cygpath.
1449 Use new create_mount.
1450 * io_stream.cc (io_stream::move): Use new log().
1451 * io_stream_cygfile (io_stream_cygfile::io_stream_cygfile): Use new cygpath.
1452 (io_stream_cygfile::exists): Ditto.
1453 (io_stream_cygfile::remove): Ditto.
1454 (io_stream_cygfile::mklink): Ditto.
1455 (io_stream_cygfile::write): Ditto.
1456 (cygmkdir_p): Ditto.
1457 (io_stream_cygfile::move): Ditto.
1458 * io_stream_file.cc: Don't include log.h.
1459 (io_stream_file::write): Don't log unneeded messages.
1460 * localdir.cc: Don't include concat.h.
1461 (LocalDirPage::OnNext): Use LOG_PLAIN.
1462 * log.cc: Don't include log.h.
1463 (exit_setup): Use new cygpath.
1464 * log.h (log_level): Add new level LOG_PLAIN.
1465 * main.cc (WinMain): Use new log().
1466 * mount.cc (SLASH_P): New macro from concat.h.
1467 (cygpath): Make String version globally visible.
1468 Remove varargs version.
1469 * mount,h: Ditto.
1470 * msg.cc (mbox): Use LOG_PLAIN.
1471 * net.cc (NetPage::OnNext): Ditto.
1472 * nio-ftp.cc (ftp_line): Use new log().
1473 * nio-http.cc: Don't include log.h.
1474 (retry_get): Use alternative url variable.
1475 * package_db.cc: Don't include concat.h.
1476 (packagedb::flush): Don't use concat.
1477 * package_meta.cc: Don't include concat.h.
1478 (packagemeta::uninstall): Use new cygpath.
1479 * postinstall.cc (do_postinstall): Ditto.
1480 * root.cc (RootPage::OnNext): Use LOG_PLAIN.
1481 * script.cc: Don't include concat.h.
1482 (init_run_script): Use new cygpath.
1483 (run_script): More char * to String conversion.
1484 (try_run_script): Ditto.
1485 * site.cc: Don't include concat.h.
1486 (SitePage::OnNext): Use LOG_PLAIN.
1487 (SitePage::OnMessageCmd): Use new log().
1488 * source.cc (SourcePage::OnDeactivate): Use LOG_PLAIN.
1489
3c054baf
RC
14902002-02-19 Robert Collins <rbtcollins@hotmail.com>
1491
1492 * Makefile.in (OBJS): Add new object.
1493 * PickCategoryLine.cc (PickCategoryLine::paint): Print a "+" before the name.
1494 * PickCategoryLine.h (PickCategoryLine::bucket): Use the String class.
1495 * PickLine.h (Pickline::key): Change to a String to help plug leaks.
1496 (PickLine::Pickline): Accept a String for the key.
1497 * PickPackageLine.cc (PickPackageLine::paint): Convert all char use to Strings.
1498 * PickPackageLine.h (PickPackageLine::PickPackageLine): The key is automatically
1499 initialisednow.
1500 * PickView.cc (PickView::note_width): Convert all char * use to Strings.
1501 (PickView::init_header): Move category length checking out of the inner loop for
1502 efficiency.
1503 Convert all char use to Strings.
1504 * PickView.h: Include the String++ header.
1505 (PickView::note_width): Update the prototype.
1506 * String++.cc: New file, implements a reference counting string class.
1507 * String++.h: New file, declares a reference counting string class.
1508 * archive.cc: Include String++ instead of concat.
1509 (archive::extract_file): Convert char * usage to Strings.
1510 * archive.h: Inlude the String++ header.
1511 (archive::extract_file): Update prototype.
1512 (archive::next_file_name): Convert to a String.
1513 (archive::linktarget): Ditto.
1514 * archive_tar.cc (archive_tar::next_file_name): Convert to String usage.
1515 (archive_tar::linktarget): Ditto.
1516 * arhive_tar.h: Update the copyright.
1517 Explicitly include the relevant headers.
1518 (tar_map_result_type): Convert to String usage.
1519 (archive_tar::next_file_name): Update prototype.
1520 (archive_tar::linktarget): Ditto.
1521 * category.cc (Category::Category): Update initialisers.
1522 Convert to String usage.
1523 (Categorycmp): Update to String usage.
1524 * category.h: Include the String++ header.
1525 (Category::Category): Update to String usage.
1526 (Category::name): Ditto.
1527 (Category::key): Ditto.
1528 * choose.cc: Remove concat.h, it's not needed.
1529 (scan2): Update to String usage.
1530 (do_choose): Ditto.
1531 * cygpackage.cc: Update includes for use of String class.
1532 (cygpackage::cygpackage): Update for String usage.
1533 (cygpackage::set_canonical_version): Ditto.
1534 (cygpackage::destroy): Ditto.
1535 (cygpackage::getfirstfile): Ditto.
1536 (cygpackage::getnextfile): Ditto.
1537 (cygpackage::Name): Ditto.
1538 (cygpackage::Vendor_version): Ditto.
1539 (cygpackage::Package_version): Ditto.
1540 (cygpackage::Canonical_version): Ditto.
1541 (cygpackage::set_sdesc): Ditto.
1542 (cygpackage::set_ldesc): Ditto.
1543 * cygpackage.h: Include String++.h for parsing this file.
1544 (cygpackage::cygpackage): Update for String usage.
1545 (cygpackage::set_canonical_version): Ditto.
1546 (cygpackage::destroy): Ditto.
1547 (cygpackage::getfirstfile): Ditto.
1548 (cygpackage::getnextfile): Ditto.
1549 (cygpackage::Name): Ditto.
1550 (cygpackage::Vendor_version): Ditto.
1551 (cygpackage::Package_version): Ditto.
1552 (cygpackage::Canonical_version): Ditto.
1553 (cygpackage::set_sdesc): Ditto.
1554 (cygpackage::set_ldesc): Ditto.
1555 (cygpackage::name): Ditto.
1556 (cygpackage::vendor): Ditto.
1557 (cygpackage::packagev): Ditto.
1558 (cygpackage::canonical): Ditto.
1559 (cygpackage::fn): Ditto.
1560 (cygpackage::sdesc): Ditto.
1561 (cygpackage::ldesc): Ditto.
1562 * desktop.cc: Update includes for use of String class.
1563 (batname): Update for String usage.
1564 (iconname): Ditto.
1565 (make_link): Ditto.
1566 (start)menu): Ditto.
1567 (desktop_icon): Ditto.
1568 (make_cygwin_bat): Ditto.
1569 (make_etc_profile): Ditto.
1570 (uexists): Ditto.
1571 (make_passwd_group): Ditto.
1572 (save_icon): Ditto.
1573 (check_desktop): Ditto.
1574 (check_startmenu): Ditto.
1575 * dialog.cc (eget): Update for String usage.
1576 (egetString): New function.
1577 (eset): New variant for Strings.
1578 * dialog.h: Include String++.h for parsing this file.
1579 (egetString): New function.
1580 (eset): New variant for Strings.
1581 * diskfull.cc (diskfull): Update for String usage.
1582 * diskfull.h: Include String++.h for parsing this file.
1583 (diskfull): Update for String usage.
1584 * download.cc: Update includes for use of String class.
1585 (check_for_cached): Update for String usage.
1586 (download_one): Ditto.
1587 * filemanip.cc (get_file_size): Ditto.
1588 (base): Ditto.
1589 (parse_filename): Ditto.
1590 (backslash): Ditto.
1591 * filemanip.h: Include String++.h for parsing this file.
1592 (fileparse): Update for String usage.
1593 (base): Ditto.
1594 (parse_filename): Ditto.
1595 Don't consider '_' to be a separator.
1596 (backslash): Ditto.
1597 * find.cc: Update includes for use of String class.
1598 (find_sub): Make more flexible.
1599 (find): Update for String usage.
1600 * find.h (find): Use Strings.
1601 * fromcwd.cc (found_file): Update for String usage.
1602 * geturl.cc: Ditto.
1603 (init_dialog): Ditto.
1604 (get_url_to_membuf): Ditto.
1605 (get_url_to_string): Ditto.
1606 (get_url_to_file): Ditto.
1607 * geturl.h: Ditto.
1608 (get_url_to_membuf): Ditto.
1609 (get_url_to_string): Ditto.
1610 (get_url_to_file): Ditto.
1611 * hash.h: Ditto.
1612 (add_subdirs): Ditto.
1613 * ini.cc: Update includes for String usage.
1614 (find_routine): Update for String usage.
1615 (do_remote_ini): Ditto.
1616 (do_ini_thread): Ditto.
1617 * ini.h (ini_init): Ditto.
1618 * inilex.l: Update includes for String usage.
1619 (ini_init): Update for String usage.
1620 * iniparse.y: Ditto.
1621 (add_correct_version): Ditto.
1622 * install.cc: Update includes for String usage.
1623 (install_one_source): Update for String usage.
1624 (uninstall_one): Ditto.
1625 (replace_one): Ditto.
1626 (install_one_source): Ditto.
1627 (do_install_thread): Ditto.
1628 * io_stream.cc: Update includes for String usage.
1629 (io_stream::open): Update for String usage.
1630 (io_stream::mkpath_p): Ditto.
1631 (io_stream::remove): Ditto.
1632 (io_stream::mklink): Ditto.
1633 (io_stream::move_copy): Ditto.
1634 (io_stream::move): Ditto.
1635 (io_stream::exists): Ditto.
1636 * io_stream.h: Update includes to allow correct parsing.
1637 (io_stream::open): Update for String usage.
1638 (io_stream::mkpath_p): Ditto.
1639 (io_stream::remove): Ditto.
1640 (io_stream::mklink): Ditto.
1641 (io_stream::move_copy): Ditto.
1642 (io_stream::move): Ditto.
1643 (io_stream::exists): Ditto.
1644 * io_stream_cygfile.cc: Update includes for String usage.
1645 (get_root_dir_now): Update for String usage.
1646 (io_stream_cygfile::io_stream_cygfile): Ditto.
1647 (io_stream_cygfile::~io_stream_cygfile): Ditto.
1648 (io_stream_cygfile::exists): Ditto.
1649 (io_stream_cygfile::remove): Ditto.
1650 (io_stream_cygfile::mklink): Ditto.
1651 (cygmkdir_p): Ditto.
1652 (io_stream_cygfile::set_mtime): Ditto.
1653 (io_stream_cygfile::move): Ditto.
1654 (io_stream_cygfile::get_size): Ditto.
1655 * io_stream_cygfile.h: Update includes for String usage.
1656 (io_stream_cygfile::io_stream_cygfile): Update for String usage.
1657 (io_stream_cygfile::~io_stream_cygfile): Ditto.
1658 (io_stream_cygfile::exists): Ditto.
1659 (io_stream_cygfile::remove): Ditto.
1660 (io_stream_cygfile::mklink): Ditto.
1661 (cygmkdir_p): Ditto.
1662 (io_stream_cygfile::set_mtime): Ditto.
1663 (io_stream_cygfile::move): Ditto.
1664 (io_stream_cygfile::get_size): Ditto.
1665 (io_stream_cygfile::fname): Ditto.
1666 (io_stream_cygfile::lmode): Ditto.
1667 * io_stream_file.cc: Update includes for String usage.
1668 (io_stream_file::io_stream_file): Update for String usage.
1669 (io_stream_file::~io_stream_file): Ditto.
1670 (io_stream_file::exists): Ditto.
1671 (io_stream_file::remove): Ditto.
1672 (io_stream_file::mklink): Ditto.
1673 (io_stream_file::set_mtime): Ditto.
1674 (io_stream_file::move): Ditto.
1675 (io_stream_file::get_size): Ditto.
1676 * io_stream_file.h: Update includes for String usage.
1677 * io_stream_file.cc: Update includes for String usage.
1678 (io_stream_file::io_stream_file): Update for String usage.
1679 (io_stream_file::~io_stream_file): Ditto.
1680 (io_stream_file::exists): Ditto.
1681 (io_stream_file::remove): Ditto.
1682 (io_stream_file::mklink): Ditto.
1683 (io_stream_file::set_mtime): Ditto.
1684 (io_stream_file::move): Ditto.
1685 (io_stream_file::get_size): Ditto.
1686 (io_stream_file::fname): Ditto.
1687 (io_stream_file::lmode): Ditto.
1688 * localdir.cc: Update includes for String usage.
1689 (save_local_dir): Update for String usage.
1690 (check_if_enable_next): Ditto.
1691 (load_dialog): Ditto.
1692 (browse_cb): Ditto.
1693 (LocalDirPage::OnInit): Ditto.
1694 (LocalDirPage::OnNext): Ditto.
1695 * log.cc: Update includes for String usage.
1696 (struct LogEnt): Update for String usage.
1697 (log): Ditto.
1698 (log_save): Ditto.
1699 (exit_setup): Ditto.
1700 * log.h: Update includes for String usage.
1701 (log_level): Update for String usage.
1702 (log): Ditto.
1703 (log_save): Ditto.
1704 * main.cc (WinMain): Update for String usage.
1705 * mklink2.c (make_link_2): Update for String usage.
1706 * mklink2.h (make_link_2): Update for String usage.
1707 * mount.cc: Update includes for String usage.
1708 (mount_table): Update for String usage.
1709 (find2): Ditto.
1710 (create_mount): Ditto.
1711 (remove1): Ditto.
1712 (remove_mount): Ditto.
1713 (read_mounts): Ditto.
1714 (set_root_dir): Ditto.
1715 (get_root_dir): Ditto.
1716 (path_prefix_p): Ditto.
1717 (cygpath): Ditto.
1718 * mount.h: Update includes for String usage.
1719 (create_mount): Update for String usage.
1720 (remove_mount): Ditto.
1721 (cygpath): Ditto.
1722 (set_root_dir): Ditto.
1723 (get_root_dir): Ditto.
1724 * msg.cc (mbox): Ditto.
1725 * net.cc (NetPage::OnNext): Ditto.
1726 * package_db.cc (packagedb::flush): Ditto.
1727 (packagedb::packages): Ditto.
1728 (packagedb::categories): Ditto.
1729 * package_db.h: Update includes for String usage.
1730 (packagedb::packages): Update for String usage.
1731 (packagedb::categories): Ditto.
1732 * package_meta.cc: Update includes for String usage.
1733 (hash::add_subdirs): Update for String usage.
1734 (packagemeta::uninstall): Ditto.
1735 (packagemeta::SDesc): Ditto.
1736 (packagemeta::action_caption): Ditto.
1737 * package_meta.h: Update includes for String usage.
1738 (packagemeta::packagemeta): Update for String usage.
1739 (packagemeta::~packagemeta): Ditto.
1740 (packagemeta::uninstall): Ditto.
1741 (packagemeta::SDesc): Ditto.
1742 (packagemeta::action_caption): Ditto.
1743 (package_source.cc site::site): Ditto.
1744 (packagesource::set_canonical): Ditto.
1745 (packagesource::set_cached): Ditto.
1746 * package_source.h: Update includes for String usage.
1747 (site::site): Update for String usage.
1748 (packagesource::set_canonical): Ditto.
1749 (packagesource::set_cached): Ditto.
1750 (packagesource::packagesource): Ditto.
1751 (packagesource::sites): Ditto.
1752 (packagesource::cached): Ditto.
1753 * package_version.h: Update includes for String usage.
1754 (Dependency): Update for String usage.
1755 (packageversion): Ditto.
1756 * postinstall.cc: Update includes for String usage.
1757 (do_postinstall): Update for String usage.
1758 * res.rc (IDD_LOCAL_DIR): Fix typo again!
1759 * rfc1738.cc (rfc1738_escape_part): Update for String usage.
1760 * rfc1738.h: Update includes for String usage.
1761 (rfc1738_escape_part): Update for String usage.
1762 * root.cc: Update includes for String usage.
1763 (check_if_enable_next): Update for String usage.
1764 (save_dialog): Ditto.
1765 (browse_cb): Ditto.
1766 (directory_is_absolute): Ditto.
1767 (directory_is_rootdir): Ditto.
1768 (directory_has_spaces): Ditto.
1769 (RootPage::OnInit): Ditto.
1770 (RootPage::OnNext): Ditto.
1771 * script.cc: Update includes for String usage.
1772 (init_run_script): Update for String usage.
1773 (run): Ditto.
1774 (run_script): Ditto.
1775 (try_run_script): Ditto.
1776 * script.h: Update includes for String usage.
1777 (run_script): Update for String usage.
1778 (try_run_script): Ditto.
1779 * site.cc site_list): Ditto.
1780 (all_site_list): Ditto.
1781 (other_url): Eliminate.
1782 (site_list_type::init): Update for String usage.
1783 (site_list_type::site_list_type): Ditto.
1784 (get_site_list): Ditto.
1785 (get_saved_sites): Ditto.
1786 (do_download_site_info_thread): Ditto.
1787 (SitePage::OnNext): Ditto.
1788 (SitePage::OnActivate): Ditto.
1789 (SitePage::PopulateListBox): Ditto.
1790 (SitePage::OnMessageCmd): Handle empty url's.
1791 * site.h: Update includes for String usage.
1792 (site_list_type::site_list_type): Update for String usage.
1793 (site_list_type::init): Ditto.
1794 (site_list_type::~site_list_type): Ditto.
1795 (site_list_type::url): Ditto.
1796 (site_list_type::displayed_url): Ditto.
1797 (site_list_type::key): Ditto.
1798 * source.cc (SourcePage::OnDeactivate): Ditto.
1799 * state.h: Update includes for String usage.
1800 (local_dir): Update for String usage.
1801 (trust_level): Remove.
1802 * version.cc: Update includes for String usage.
1803 (canonicalize_version): Update for String usage.
1804 * version.h: Update includes for String usage.
1805 (canonicalize_version): Update for String usage.
1806
08233ec7
CF
18072002-02-15 Christopher Faylor <cgf@redhat.com>
1808
1809 * filemanip.c (parse_filename): Revert previous change.
1810
94dffbdd
CF
18112002-02-14 Christopher Faylor <cgf@redhat.com>
1812
1813 * filemanip.c (parse_filename): Don't treat '_' as a version number
1814 introducer.
1815
cef493d7
CF
18162002-01-29 Christopher Faylor <cgf@redhat.com>
1817
1818 * configure: Regenerate.
1819
57219197
RC
18202002-01-27 Robert Collins <rbtcollins@hotmail.com>
1821
94dffbdd
CF
1822 * res.rc (IDD_LOCAL_DIR): Fix typo reported by Rene
1823 <Hoeck@extern.lrz-muenchen.de>
57219197 1824
cc7493c3
RC
18252002-01-27 Robert Collins <rbtcollins@hotmail.com>
1826
1827 * README: Update Todo's.
1828 * list.h: Run indent.
1829 (list): New methods checksize and insert to reduce code duplication.
1830 (list::registerbykey): Use them.
1831 (list::registerbyobject): Ditto.
94dffbdd
CF
1832 (list::removebyindex): Copy each object individually - safe for non
1833 trivial objects.
cc7493c3
RC
1834 (list::checksize): Implement.
1835 (list::insert): Implement.
1836
a900d1fa
RC
18372002-01-27 Robert Collins <rbtcollins@hotmail.com>
1838
1839 * Makefile.in: Remove the dlmalloc object by default.
94dffbdd
CF
1840 * install.cc (do_install_thread): Remove the mallinfo call for 'working
1841 around' the crashing issue.
a900d1fa 1842 * package_db.h: Include <string.h> - it's needed to parse this.
94dffbdd 1843 * package_source.cc (site::site): Move here from the header file.
a900d1fa
RC
1844 * package_source.h (site): Stop the constructor being inlinable.
1845
9835fb4a
RC
18462002-01-26 Robert Collins <rbtcollins@hotmail.com>
1847
1848 * filemanip.cc (find_tar_ext): Add a descriptive comment.
1849
18502002-01-25 Michael A Chase <mchase@ix.netcom.com>
1851
1852 * filemanip.cc (find_tar_ext): Clean up tests for .tar.gz and .tar.
1853 * fromcwd.cc (do_fromcwd): Expand FIXME comment in source file check.
94dffbdd
CF
1854 * install.cc (install_one_source): Add space between words in log()
1855 call.
cef493d7 1856
77ba23d8
RC
18572002-01-22 Robert Collins <rbtcollins@hotmail.com>
1858
94dffbdd
CF
1859 * log.cc (exit_setup): When saving to the download dir, explicity
1860 specify the path.
77ba23d8 1861
6dc75764
RC
18622002-01-22 Robert Collins <rbtcollins@hotmail.com>
1863
94dffbdd
CF
1864 * archive.cc (extract_file): Separate out the prefix and the URL
1865 scheme.
6dc75764 1866 * archive.h (archive::extract_file): Ditto.
94dffbdd
CF
1867 * install.cc (install_one_source): Ditto. Use the new
1868 archive::extract_file syntax.
6dc75764
RC
1869 (replace_one): Use the new syntax.
1870 (io_stream.cc): Add some log info for links.
1871
7e8fc33c
RC
18722002-01-22 Robert Collins <rbtcollins@hotmail.com>
1873
1874 * PickCategoryLine.cc (PickCategoryLine::actiontext): Remove.
1875 (PickCategoryLine::paint): Use the new action method.
1876 (PickCategoryLine::click): Set the action for all children.
1877 (PickCategoryLine::set_action): New method.
1878 * PickCategoryLine.h (PickCategoryLine::-actions): Remove.
1879 (PickCategoryLine::current_default): Use packagemeta _actions class.
94dffbdd
CF
1880 * PickLine.h (PickLine::set_action): New abstract method that requires
1881 including package_meta.h.
7e8fc33c
RC
1882 * PickPackageLine.cc (PickPackageLine::set_action): New method.
1883 * PickPackageLine.h (PickPackageLine::set_action): Declare this.
1884 * list.h (getbykey): A const correctness fix.
1885 * package_meta.cc: Run indent.
1886 (packagemeta::Default_action): New const.
1887 (packagemeta::Install_action): Ditto.
1888 (packagemeta::Reinstall_action): Ditto.
1889 (packagemeta::Uninstall_action): Ditto.
1890 (packagemeta::_actions::caption): New method.
1891 (packagemeta::_actions::operator++): Ditto.
1892 (packagemeta::set_action): New overload.
1893 * package_meta.h (packagemeta::_actions): New class.
1894 (packagemeta::set_action): Declare this.
1895
2c9254b6
RC
18962002-01-22 Robert Collins <rbtcollins@hotmail.com>
1897
1898 * Makefile.in (OBJS): Remove supp.o - it appears accidental.
1899 * choose.cc: Don't define alloca anymore, it's done in win32.h
1900
97647369
RC
19012002-01-22 Robert Collins <rbtcollins@hotmail.com>
1902
1903 * PickPackageLine.cc: New file.
1904 * PickPackageLine.h: New file.
1905 * PickLine.cc: New file.
1906 * PickLine.h: New file.
1907 * PickCategoryLine.cc: New file.
1908 * PickCategoryLine.h: New file.
1909 * PickView.cc: New file.
1910 * PickView.h: New file.
1911 * Makefile.in: Add new objects to setup.exe.
1912 Backout -fno-exceptions option.
1913 * choose.cc: Include PickView.h.
1914 Remove view related defines and static variables.
1915 (_pkg_headers): Moved to PickView.cc.
1916 (_cat_headers): Ditto.
1917 (view::views::Unknown): Ditto.
1918 (view::views::PackageFull):
1919 (view::views::Package):
1920 (view::views::Category):
1921 (pkgtrustp): Moved to package_meta.cc.
1922 (add_required): Moved to package_meta.cc.
1923 (pick_category_line::empty): Moved to PickCategoryLine.cc
1924 (paint): Adjust for moved static variables.
1925 (view::scroll): Moved to PickView.cc.
1926 (list_vscroll): Adjust for moved static variables.
1927 (list_hscroll): Ditto.
1928 (list_click): Ditto.
1929 (note_width): Moved to PickView.cc.
1930 (view::view): Ditto.
1931 (view::set_view_mode): Ditto.
1932 (view::mode_caption): Ditto.
1933 (view::views::caption): Ditto.
1934 (view::set_headers): Ditto.
1935 (DoInsertItem): Ditto.
1936 (view::init_headers): Ditto.
1937 (view::insert_pkg): Ditto.
1938 (view::insert_category): Ditto.
1939 (view::clear_view): Ditto.
1940 (view::views::operator++): Ditto.
1941 (view::click): Ditto.
1942 (default_trust): Adjust for moved statics.
1943 (pick_pkg_line::paint): Moved to PickPackageLine.cc.
1944 (pick_pkg_line::click): Ditto.
1945 (pick_category_line::actiontext): Moved to PickCategoryLine.cc
1946 (pick_category_line::paint): Ditto.
1947 (pick_category_line::click): Ditto.
1948 (set_view_mode): Adjust for moved statics.
1949 (create_listview): Ditto.
1950 * choose.h: Remove Category and packagemeta forward defines - not needed.
1951 Don't include unneeded headers list and package_meta.
1952 (_header): Move to PickView.h.
1953 (pick_line): Move to PickLine.h.
1954 (pick_pkg_line): Move to PickPackageLine.h.
1955 (pick_category_line): Move to PickCategoryLine.h.
1956 (view): Move to PickView.h.
1957 * ini.h (trusts): Move to package_meta.h.
1958 * package_meta.h (trusts): New enum.
1959 (packagemeta::set_requirements): New helper method.
1960 (packagemeta::trustp): Ditto.
1961
b566778e
CF
19622002-01-21 Christopher Faylor <cgf@redhat.com>
1963
1964 * choose.h (view): Move forward declaration of views into public area
1965 or g++ v3 will complain.
1966
f71e9756
CF
19672002-01-21 Christopher Faylor <cgf@redhat.com>
1968
1969 * Makefile.in (CXXFLAGS): Add -fno-exceptions.
1970 * win32.h (alloca): Define as __builtin_alloca.
1971 * io_stream_memory.cc: Add include file.
1972
e9440f0f
RC
19732002-01-21 Robert Collins <rbtcollins@hotmail.com>
1974
1975 * archive_tar.cc (archive_tar::~archive_tar): Mark the stream as destroyed.
1976 * archive_tar_file.cc (archive_tar_file::~archive_tar_file): Ditto.
1977 * compress.cc (compress::~compress): Be less verbose.
1978 * compress_bz.cc (compress_bz::~compress_bz): Ditto.
1979 Mark the stream as destroyed.
1980 * compress_gz.cc (compress_gz::~compress_gz): Mark the stream as destroyed.
1981 * io_stream.cc (io_stream::~io_stream): Only warn when the stream is not marked
1982 as destroyed.
cef493d7 1983 * io_stream_cygfile.cc (io_stream_cygfile::~io_stream_cygfile): Mark the
e9440f0f
RC
1984 stream as destroyed.
1985 * io_stream_file.cc (io_stream_file::~io_stream_file): Ditto.
1986 * io_stream_memory.cc (io_stream_memory::~io_stream_memory): Ditto.
cef493d7 1987
5e0464a1
RC
19882002-01-21 Robert Collins <rbtcollins@hotmail.com>
1989
1990 * Makefile.in (CFLAGS): Allow customisable malloc debug flags.
1991 (OBJS): Link in malloc objects.
1992 * category.cc (category): Use new char, not strdup.
1993 * choose.cc (pick_pkg_line::paint): Allow for the regionsize to shrink.
1994 (do_choose): Use new char, not malloc.
1995 * concat.cc (vconcat): Ditto.
1996 * cygpackage.cc (cygpackage): Use new char, not strdup.
1997 (set_canonical_version): Ditto.
1998 (cygpackage::destroy): Use delete[], not free.
1999 * desktop.cc (uexists): Ditto.
2000 * dialog.cc (egest): Use new char, not strdup.
2001 * dlmalloc.c: New file - Doug Lea's malloc 2.7.0
2002 * hash.cc (hash::hash): Use delete instead of free.
2003 (hash::add): Use new char, not strdup.
2004 * ini.cc (do_remote_ini): Use delete[] not free.
2005 * inilex.l: Use new char, not strdup.
2006 (ini_init): Ditto.
2007 * iniparse.y: Ditto.
2008 Use a local package_db rather than a static one.
2009 * install.cc (struct mallinfo): Workaround an apparent dlmalloc bug.
2010 (do_install_thread): Call mallinfo to force a consistency check. Appears
2011 to fix a 'inuse' error in -DDEBUG builds.
2012 Use delete[] for strings.
2013 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): Use new char,
2014 not strdup.
2015 (io_stream_cygfile::~io_stream_cygfile): Use delete[], not free.
2016 (io_stream_cygfile::remove): Use new char, not strdup.
2017 * io_stream_file.cc (io_stream_file::io_stream_file): Use new char, not strdup.
2018 (io_stream_file::io_stream_file): Use delete[], not free.
2019 (io_stream_file::remove): Use new char, not strdup.
2020 * io_stream_memory.cc (memblock::~memblock): Use delete[], not free.
2021 * io_stream_memory.h (memblock): Use new char, not malloc.
2022 * localdir.cc (LocalDirPage::OnInit): Use new char, not strdup.
2023 * main.cc (WinMain): Use new char, not strdup.
2024 * mount.cc (find2): Use new char, not malloc.
2025 (read_mounts): Ditto.
2026 (cygpath): Use new char, not strdup.
2027 * netio.cc (NetIO::~NetIO): Use delete[], not free.
2028 (NetIO::set_url): Use new char, not strdup.
2029 (NetIO::get_ftp_auth): Use delete[], not free.
2030 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Ditto.
2031 Use new char instead of strdup.
2032 * nio-http.cc (base64_encode): Use new char, not malloc.
2033 * package_meta.cc (hash::add_subdirs): Use new char instead of strdup.
2034 * package_source.h (~ packagesource): Use delete[] instead of delete.
2035 * port.h (strdup): Deprecate the use of strdup.
2036 * rfc1738.cc (rfc1738_do_escape): Use new char, not calloc.
2037 * script.cc (init_run_script): Us delete[], not free.
2038 (run_script): Ditto.
2039 * simpsock.cc (SimpleSocket::fill): Use new char, not malloc.
2040 (SimpleSocket::invalidate): Use delete[], not free.
2041 * site.cc (site_list_type::init): Use new char instead of strdup.
2042 * site.h (~site_list_type): Use delete[], not free.
2043
ad3c7385
RC
20442002-01-20 Robert Collins <rbtcollins@hotmail.com>
2045
2046 * Makefile.in (OBJS): Add win32.o - win32 support functions.
2047 * README: Update todos.
2048 * archive.cc (extract_file): Support a suffix for appending to extracted files.
2049 * archive.h: Ditto.
2050 * choose.cc (set_view_mode): Use the new view::views class.
2051 (view::views::Unknown): New static for defaulting view::views variables.
2052 (view::views::PackageFull): New static for the current view.
2053 (view::views::Package): Ditto.
2054 (view::views::Category): Ditto.
2055 (topbucket::paint): Remove.
2056 (topbucket::empty): Rename to pick_category_line::empty.
2057 (topbucket::~topbucket): Remove.
2058 (paint): Use the new view::views class.
2059 Don't paint 'all' as a category when showing package categoies.
2060 (pick_category_line::actiontext): New method.
2061 (pick_category_line::paint): Make showing the category optional, and show the
2062 'category action'.
2063 (pick_category_line::click): Make showing the category optional, and
2064 differentiate between the name being clicked, and the action description.
2065 (view::view): Use the new view::views class.
2066 (view::set_view_mode): Ditto.
2067 (view::mode_caption): Ditto.
2068 (view::views::caption): New method.
2069 (view::set_headers): Use the new view::views class.
2070 (view::clear_view): Ditto.
cef493d7 2071 (viewsplusplus): Replaced by
ad3c7385
RC
2072 (view::views::operator++): New operator.
2073 (set_view_mode): Use the new view::views class.
2074 (create_listview): Ditto.
2075 (dialog_cmd): Ditto.
2076 * choose.h (actions): Remove.
2077 (views): Remove.
2078 (pick_line): Add a new convenience constructor.
2079 (top_bucket): Remove.
2080 (pick_category_line): Reparent under pick_line, and adsorb top_bucket.
2081 (view::views): New class.
2082 * ini.h: Don't include choose.h
2083 (is_download_action): Remove.
2084 (is_upgrade_action): Remove.
2085 (is_uninstall_action): Remove.
2086 (is_full_action): Remove.
2087 * install.cc (num_replacements): New static.
2088 (rebootneeded): Ditto.
2089 (replace_one): Handle upgrades separate from removal or new installs.
2090 (install_one_source): Handle in use files.
2091 (install_one): Don't repeat upgrades.
2092 (do_install_thread): Initialize new statics.
2093 Order actions as uninstall, replace, install.
2094 Warn about rebooting if needed.
2095 * res.rc (IDS_REBOOT_REQUIRED): New string.
2096 * resource.h (IDS_REBOOT_REQUIRED): Give value.
2097 * win32.h: Declare class Win32, and update copyright and intent message.
2098 * win32.cc: New file.
2099
edef4f57
CV
21002002-01-15 Corinna Vinschen <corinna@vinschen.de>
2101
2102 * io_stream.cc (io_stream::gets): Eliminate trailing new line chars.
2103 * package_meta.cc (packagemeta::uninstall): Check for additional
2104 Windows shortcut. Unset R/O file attribute before trying to delete
2105 file.
2106
21f325d7
RC
21072002-01-09 Robert Collins <rbtcollins@hotmail.com>
2108
2109 * choose.cc (pkgtrustp): Fall back to installed if a package is not present in
2110 the current trust level. For prev, fall back via curr.
2111 (set_existence): Allow sources with no sites, but cached files to be
2112 kept.
2113 (pick_category_line::paint): Start drawing clickable categories.
2114 * fromcwd.cc (found_file): Reinstate local file scanning.
2115
858f100d
RC
21162002-01-07 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
2117
cef493d7 2118 * fromcwd.cc: Run indent.
858f100d
RC
2119 (do_fromcwd): Reverse sense of comment. Set next_dialog
2120 to IDD_CHOOSER instead of IDD_CHOOSE.
2121 * ini.cc (find_routine): Remove "/" from "/setup.ini".
cef493d7 2122
d343da15
RC
21232001-01-07 Robert Collins <rbtcollins@hotmail.com>
2124
2125 * category.cc (Categorycmp): Add a const safe version.
2126 * category.h (Categorycmp): Add a const safe version.
2127 (Category): Add operator ==.
2128 * choose.cc (fill_missing_category): Add every package to "All".
2129 (pick_category_line::paint): Add support for hidden labels, and a tree depth.
2130 (pick_category_line::click): Ditto.
2131 (view::view): Pass in a top level category to use.
2132 (view::insert_pkg): Special case - skip category "All".
2133 (view::insert_category): Ditto.
2134 (view::clear_view): Set the contents label state.
2135 (create_listview): Pass in a top level category to view().
2136 * choose.h (topbucket): Make bucket available to derived classes.
2137 (pick_category_line): Add support for hidden labels, and a tree depth.
2138 Remove our second copy of bucket.
2139 (view): Pass in a top level category to the constructor.
2140 Use pick_category_line to allow three level display.
2141
bcf20115
RC
21422001-01-06 Robert Collins <rbtcollins@hotmail.com>
2143
2144 * cygpackage.h (cygpackage): Make set_[s|l]desc virtual.
2145 * iniparse.y (add_correct_version): Copy descriptions across.
cef493d7 2146 * package_meta.cc (SDesc): Iterate through versions, return the first with a
bcf20115
RC
2147 description.
2148 * package_version.h (packageversion): Add new virtuals set_[l|s]desc.
2149
bc78a6d5
RC
21502001-01-04 Robert Collins <rbtcollins@hotmail.com>
2151
2152 * script.cc (run_script): Change cygpath:// to cygfile://.
2153 * install.cc (do_install_thread): Fix off-by-one errors.
2154
4f4e55c2
RC
21552001-01-04 Robert Collins <rbtcollins@hotmail.com>
2156
2157 * package_db.cc (packagedb::flush): Fix an off-by-one error.
2158
8e9aa511
RC
21592002-01-04 Jan Nieuwenhuizen <janneke@gnu.org>
2160
2161 * Makefile.in (realclean): more clean.
2162 (OBJS): Add script.o.
2163 * postinstall.cc (run_script_in_etc_postinstall): New function.
2164 (do_postinstall): Split off new funtion init_run_script ().
2165 (init_run_script):
2166 (run):
2167 (run_script): Move to script.cc. Replace some deprecated remove
2168 and move calls.
2169 * script.h:
2170 * script.cc: New file.
2171 * Forward port cygwin-20010707.jcn3.patch.
2172 * package_meta.cc (uninstall): Run pre- and postremove scripts.
2173 * install.cc: Typo fix.
2174 (do_install): Run script initialisation.
cef493d7 2175
b7301c43
RC
21762001-01-04 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
2177
2178 * cistring.cc: Run d2u.
2179 * cistring.h: Run d2u.
2180
2181 * desktop.cc (etc_profile): Remove "test -f ./.bashrc && . ./.bashrc"
2182 from the generated /etc/profile. Bash will source this file
2183 automatically, and having this here merely results in .bashrc being
2184 executed twice. Run d2u.
2185 * desktop.h: Run d2u.
2186
2187 * propsheet.cc: Run d2u.
2188 (PropSheetProc): New function. Add minimize box here instead of in
2189 PropertyPage::DialogProc.
2190 (PropSheet::Create): Change to use creation callback PropSheetProc.
2191 (DLGTEMPLATEEX): Add 'hidden' Windows struct definition.
2192
2193 * propsheet.h: Run indent, d2u.
2194 * proppage.h: Run indent, d2u.
2195
2196 * proppage.cc: Run d2u.
2197 (PropertyPage::DialogProc): Remove minimize-box-adding
2198 functionality. Remove commented-out "PropSheet_SetWizButtons" calls.
2199 Add support for calling virtual OnMessageCmd. Add setting of fonts in
2200 WM_INITDIALOG handler.
2201 (resource.h): New include for resource IDs.
2202
2203 * res.rc: Resize and rearrange property page dialog templates
2204 to bring them in line with "Microsoft's Backward Compatible Wizard 97"
2205 specification. Run d2u.
2206 (IDD_SITE): Add an edit control and an "Add" button in order to
2207 combine the IDD_SITE and IDD_OTHER_URL functionality onto one page.
2208 (IDD_OTHER_URL): Remove dialog template.
2209 (IDD_DLSTATUS): Remove dialog template.
2210
2211 * site.cc: Run d2u.
2212 (SitePage::OnBack): Remove NEXT() macro invocation.
2213 (SitePage::OnActivate): New member function.
2214 (load_dialog): Remove. Functionality subsumed into
2215 SitePage::OnActivate.
2216 (save_dialog): Change to support both list and user URLs. Remove
2217 OTHER_IDX and mirror_idx logic.
2218 (SitePage::PopulateListBox): New member function.
2219 (SitePage::CheckControlsAndDisableAccordingly): New member function.
2220 (SitePage::OnMessageCmd): New override.
2221 (check_if_enable_next): Remove.
2222 (dialog_cmd): Remove.
2223 (do_download_site_info_thread): Remove calls to NEXT() macro.
2224 (SitePage::Create): Call the single-param PropertyPage::Create
2225 overload.
2226 (other_url): New static taken from other.cc.
2227 (SitePage::OnNext): Remove mirror_idx logic.
2228 (SitePage::OnInit): Remove "Other URL" entry from list box. Remove
2229 list box populating code, now handled in SitePage::PopulateListBox.
2230 (mirror_idx, NO_IDX, OTHER_IDX): Remove.
2231 (save_site_url): Fix potential buffer overflow problem. Switched to
2232 TCHAR in grossly premature preparation for multilingual support.
2233 * site.h: Run d2u.
2234 (SitePage::OnActivate): New member function.
2235 (SitePage::CheckControlsAndDisableAccordingly) New member.
2236 (SitePage::OnMessageCmd): New override.
2237 (do_download_site_info_thread): Add MessageBox call on failure to
2238 download site list.
2239
2240 * splash.cc: Run d2u.
2241 (SplashPage::OnInit): Set the font for the title.
2242 * splash.h: Run d2u.
2243
2244 * threebar.cc: Run d2u.
2245 * threebar.h: Run d2u.
2246
2247 * window.h: Run d2u.
2248 (Window::IsButtonChecked): New member function declaration.
2249 (Window::OnMessageCmd): New member function.
2250 (Window::SetDlgItemFont): New member function declaration.
2251 (Window::MAXFONTS, Window::Fonts, Window::FontCounter): New data
2252 members.
2253 * window.cc: Run d2u.
2254 (Window::IsButtonChecked): New member function definition.
2255 (Window::SetDlgItemFont): New member function definition.
2256 (Window::Window): Add initialization for FontCounter.
2257 (Window::~Window): Delete any fonts we created.
2258
2259 * geturl.cc: Run d2u.
2260 (progress): Remove the "3" field width from the "%3d"
2261 percent-complete format indicator. Causes line to not start at
2262 beginning of text box, and does little to help with "jumping", since
2263 the "bytes downloaded so far" field is variable-width anyway. Change
2264 kb/s format field to "%03.1" to 0-pad the kb/s number in the event of
2265 painfully slow connections, or temporary slowdowns in faster
2266 connections should such more-instantaneous functionality become
2267 available.
2268
2269 * net.h: Run d2u.
2270 (NetPage::OnMessageCmd): New member function declaration.
2271 (NetPage::CheckIfEnableNext): New member function declaration.
2272 * net.cc: Run d2u.
2273 (NetPage::OnMessageCmd): New member function definition.
2274 (dialog_cmd): Remove, subsumed into NetPage::OnMessageCmd.
2275 (check_if_enable_next): Remove.
2276 (NetPage::CheckIfEnableNext): New member function, subsumes
2277 check_if_enable_next.
2278 (propsheet.h): Add include.
2279 (NetPage::Init): Add call to CheckIfEnableNext.
2280 (load_dialog): Remove call to check_if_enable_next.
2281 (NetPage::Create): Call single-template-ID-parameter overload of
2282 PropertyPage::Create instead of three-parameter one.
2283
2284 * Makefile.in (OBJS): Remove other.o.
2285 * other.cc: Remove file.
2286
df62e023
RC
22872002-01-01 Robert Collins <rbtcollins@hotmail.com>
2288
2289 * README: Update TODO's.
2290 * choose.cc (set_existence): Delete non installed packages with no
2291 mirrors.
2292 (fill_missing_category): Fix an off-by-one error.
cef493d7 2293 (default_trust): Ditto. Also delete any unused categories.
df62e023
RC
2294 (view::init_headers): Fix an off-by-one error.
2295 (set_view_mode): Ditto.
2296 (set_view_mode): Ditto.
2297 (create_listview): Ditto.
2298 (dialog_cmd): Ditto.
2299 (do_choose): Ditto.
2300 * io_stream.cc: Indent.
2301 * io_stream.h: Ditto.
2302 * package_db.cc: Ditto.
2303 * package_meta.h: Const correctness for SDesc ();
2304 * proppage.cc: Run d2u and indent.
2305 * propsheet.cc: Run d2u and indent.
2306 * window.cc: Run d2u and indent.
2307 * window.h: Run d2u and indent.
2308
cec57ee1
CF
23092001-12-28 Christopher Faylor <cgf@redhat.com>
2310
e98c531e 2311 * Makefile.in (iniparse.o): Accommodate newer bisons.
cec57ee1 2312
ab57ceaa
RC
23132001-12-23 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
2314
2315 * window.h (Window): New file, new class.
2316 * window.cc (Window): New file, new class.
2317
2318 * threebar.h (ThreeBarProgressPage): New file, new class.
2319 * threebar.cc (ThreeBarProgressPage): New file, new class.
2320
2321 * splash.h (SplashPage): New file, new class.
2322 * splash.cc (SplashPage): Replace file with implementation of new
2323 class.
2324
2325 * source.h (SourcePage): New file, new class.
2326 * source.cc: Run indent.
2327 (SourcePage): Add class implementation to this file.
2328 (do_source): Remove, functionality subsumed by SourcePage::Create()
2329 and SourcePage::OnDeactivate().
cef493d7 2330 (dialog_proc): Remove, functionality subsumed by
ab57ceaa
RC
2331 SourcePage::OnActivate().
2332
2333 * site.h: Run indent.
2334 (SitePage): Add class declaration.
2335 * site.cc: Run indent.
2336 (SitePage): Add class implementation.
2337 (do_download_site_info_thread): New function.
2338 (context): New var. Context info for do_download_site_info_thread().
2339 (do_download_site_info): New function.
2340 (SitePage::Create, SitePage::OnInit SitePage::OnNext)
2341 (SitePage::OnBack): SitePage class implementation..
2342 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL handlers, now handled
2343 by SitePage members.
2344 (dialog_proc): Remove, now handled by SitePage::OnInit and base class
2345 functionality.
2346 (do_site): Remove, now handled by do_download_site_info_thread() and
2347 SitePage::OnNext functionality.
2348 (get_site_list): Remove dismiss_url_status_dialog() call.
2349
2350 * root.h (RootPage): New file, new class.
2351 * root.cc: Run indent.
2352 (dialog_cmd): Pass parent HWND parameter to note(), yesno().
2353 (dialog_proc): Remove.
2354 (do_root): Remove
2355 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL clauses from switch.
2356 (RootPage::OnInit): New member function. Move get_root_dir() logic to
2357 here from do_root().
2358 (RootPage::Create): New member function.
cef493d7 2359 (RootPage::OnNext): New member function. Move IDOK logic from
ab57ceaa
RC
2360 dialog_cmd() to here.
2361 (RootPage::OnBack): New member function.
2362
2363 * propsheet.h (PropSheet): New file, new class.
2364 * propsheet.cc (PropSheet): New file, new class.
2365
2366 * proppage.h (PropertyPage): New file, new class.
2367 * proppage.cc (PropertyPage): New file, new class.
2368
2369 * postinstall.cc (do_postinstall): Add owner parameter.
2370
2371 * other.cc (do_other): Add owner parameter.
2372
2373 * nio-file.cc (NetIO::Purl): Pass NULL parent param to note().
cef493d7 2374 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Pass NULL parent param to
ab57ceaa 2375 get_ftp_auth().
cef493d7 2376 * nio-http.cc (retry_get): Pass NULL parent param to get_auth(),
ab57ceaa
RC
2377 get_proxy_auth(),
2378 and get_ftp_auth().
cef493d7 2379 * nio-ie5.cc (NetIO::_url): Pass NULL parent param to note(),
ab57ceaa
RC
2380 get_auth(), get_proxy_auth().
2381
2382 * netio.h (get_auth, get_proxy_auth, get_ftp_auth): Add owner param.
cef493d7 2383 * netio.cc (auth_common, NetIO::get_auth, NetIO::get_proxy_auth,
ab57ceaa
RC
2384 NetIO::get_ftp_auth)
2385 (auth_common): Add owner param. Pass owner param to DialogBox.
cef493d7 2386 (NetIO::get_auth, NetIO::get_proxy_auth, NetIO::get_ftp_auth): Pass
ab57ceaa
RC
2387 owner param to auth_common().
2388
2389 * net.h (NetPage): New file, new class.
2390 * net.cc: Run indent.
2391 (net.h, threebar.h): Add includes.
2392 (Progress): Add extern.
2393 (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, now handled by
2394 property sheet logic. Saved temporarily for reference.
cef493d7 2395 (NetPage::Create, NetPage::OnInit, NetPage::OnDeactivate,
ab57ceaa
RC
2396 NetPage::OnNext, NetPage::OnBack):
2397 New implementation of NetPage class members.
2398 (do_net): Remove.
2399 (dialog_proc): Remove.
2400
2401 * msg.h (fatal, note, yesno): Add owner param.
2402 * msg.c (fatal, note, yesno, mbox): Add owner param.
2403 (mbox): Remove MB_TOPMOST from MessageBox call. Unnecessary and wrong
2404 now that we have a parent.
2405
2406 * main.cc: Run indent.
cef493d7 2407 (commctrl.h, proppage.h, propsheet.h, splash.h, source.h)
ab57ceaa
RC
2408 (localdir.h, net.h, site.h, choose.h, threebar.h, desktop.h): Include
2409 headers.
2410 (root_dialog_proc): extern into this file.
2411 (Progress): Progress dialog defined here, used in several other files.
2412 (WinMain): Instantiate and create Splash, Source, Root, LocalDir, Net,
2413 Site, Chooser, Desktop pages and MainWindow sheet. Call
2414 InitCommonControls() to make sure Windows is set up for our use of
2415 property sheets. Add pages to sheet.
2416 Call MainWindow.Create() to "DoModal". Remove main loop, that logic is
2417 now handled by the PropSheet class.
2418 (root.h): Add include.
2419
2420 * log.cc (log_save): Pass NULL parent to fatal().
2421 (exit_setup): Pass NULL parent to note().
2422
2423 * localdir.h (LocalDirPage): New file, new class.
2424 * localdir.cc: Run indent.
2425 (localdir.h): New include.
2426 (threebar.h): New include.
2427 (Progress): extern into this file.
2428 (LocalDirPage::Create, LocalDirPage::OnInit, LocalDirPage::OnActivate)
cef493d7 2429 (LocalDirPage::OnNext, LocalDirPage::OnBack): Implementation of
ab57ceaa
RC
2430 LocalDirPage.
2431 (LocalDirPage::OnNext): Move log() call from do_local_dir() to here.
2432 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL handlers.
2433 (do_local_dir): Remove.
2434 (dialog_proc): Remove.
2435 (cwd): Remove, not used by anything.
2436
2437 * install.cc: Run indent.
2438 (process.h, threebar.h): New includes.
2439 (Progress): extern into this file.
2440 (ins_dialog, ins_action, ins_pkgname, ins_filename, ins_pprogress)
2441 (ins_iprogress, ins_diskfull, init_event): Remove, now handled by
2442 ThreeBarProgressPage.
cef493d7 2443 (dialog_cmd, dialog_proc, dialog): Removed, handled in
ab57ceaa 2444 ThreeBarProgressPage.
cef493d7
CF
2445 (init_dialog): Remove all mention of the above ins_* handles. Now
2446 handled in ThreeBarProgressPage. Altered SetWindowText()s to call
ab57ceaa
RC
2447 ThreeBarProgressPage instance Progress directly.
2448 (progress): Alter bar update logic to call ThreeBarProgressPage
2449 instance Progress directly.
2450 (uninstall_one): Alter SetWindowText()s to call ThreeBarProgressPage
2451 instance Progress directly.
cef493d7 2452 (install_one_source): Alter SetWindowText()s to call
ab57ceaa
RC
2453 ThreeBarProgressPage
2454 instance Progress directly. Pass NULL parent to note().
cef493d7 2455 (do_install_thread): Rename from do_install(), added owner param.
ab57ceaa
RC
2456 Alter SetWindowText()s to call ThreeBarProgressPage instance Progress
2457 directly.
2458 Remove dismiss_url_status_dialog() call, no longer necessary. Remove
cef493d7 2459 ShowWindow(<hide>) call, also unnecessary now. Pass owner handle to
ab57ceaa
RC
2460 fatal().
2461 (do_install_reflector): New function.
2462 (do_install): New function.
2463
2464 * ini.cc (process.h, threebar.h): New includes.
2465 (Progress): externed into this file.
2466 (find_routine): Pass NULL parent to note().
2467 (do_local_ini): Add owner param.
cef493d7 2468 (do_remote_ini): Add owner param. Pass owner to get_url_to_membuf()
ab57ceaa
RC
2469 and note(). Remove call to dismiss_url_status_dialog().
2470 (do_ini_thread): Rename from do_ini(). Add owner param. Pass owner to
cef493d7 2471 do_local_ini(), do_remote_ini(), yesno(), and note(). Set next_dialog
ab57ceaa
RC
2472 to IDD_CHOOSER on exit.
2473 (do_ini_thread_reflector): New function.
2474 (context): New var. Context for do_ini_thread.
2475 (do_ini): New function.
2476
2477 * geturl.h (get_url_to_membuf, get_url_to_string, get_url_to_file): Add
2478 owner param.
cef493d7 2479 * geturl.cc (gw_dialog, gw_url, gw_rate, gw_progress, gw_pprogress,
ab57ceaa 2480 gw_iprogress)
cef493d7 2481 (gw_progress_text, gw_pprogress_text, gw_iprogress_text, init_event):
ab57ceaa
RC
2482 Removed.
2483 (threebar.h): New include.
2484 (Progress): externed into this file.
cef493d7 2485 (dialog_cmd, dialog_proc, dialog): Removed, handled by
ab57ceaa 2486 ThreeBarProgressPage now.
cef493d7 2487 (init_dialog): Remove "if (gw_dialog == 0)" clause. Alter
ab57ceaa 2488 SetWindowText()s
cef493d7 2489 and bar setting SendMessage()s to call ThreeBarProgressPage instance
ab57ceaa
RC
2490 Progress directly. Remove "one bar only" logic, this is now handled
2491 explicitly in the ThreeBarProgressPage class.
cef493d7 2492 (progress): Altered bar and text update logic to call
ab57ceaa
RC
2493 ThreeBarProgressPage instance Progress directly. Changed kbps
2494 calculation to floating point and now print out a single decimal
2495 place.
2496 (get_url_to_membuf): Add owner param. Pass it to init_dialog.
2497 (get_url_to_string): Add owner param. Pass it to get_url_to_membuf.
cef493d7 2498 (get_url_to_file): Add owner param. Pass it to init_dialog. Alter bar
ab57ceaa
RC
2499 update logic to call ThreeBarProgressPage instance Progress directly.
2500 (dismiss_url_status_dialog): Remove.
2501
2502 * fromcwd.cc (do_fromcwd): Add owner param. Initialize found_ini to
2503 false, was true.
2504
2505 * download.cc: Run indent.
2506 (process.h, threebar.h): New includes.
2507 (Progress): externed into this file.
2508 (download_one): Add owner param. Pass it to get_url_to_file().
2509 (do_download_thread): Renamed from do_download. Add owner param. When
2510 calculating total_download_bytes, take binpicked and srcpicked into
2511 account. Remove call to dismiss_url_status_dialog(), no longer needed.
2512 Pass owner handle to download_one() and yesno().
2513 (do_download_reflector, do_download): New functions.
2514 (context): New var. Context for do_download_thread().
2515
2516 * dialog.h (D(x)): Add owner param.
2517
2518 * desktop.h (DesktopSetupPage): New file, new class.
2519 * desktop.cc: Run indent.
2520 (desktop.h): Add include.
cef493d7 2521 (dialog_proc, do_desktop): Remove, now handled in
ab57ceaa
RC
2522 DesktopSetupPage::OnInit().
2523 (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, handled in
2524 DesktopSetupPage::OnFinish(), DesktopSetupPage::OnBack(), and PropSheet
2525 resp.
2526 (DesktopSetupPage::Create, DesktopSetupPage::OnInit)
2527 (DesktopSetupPage::OnBack, DesktopSetupPage::OnFinish): Implementation
2528 of DesktopSetupPage.
2529
2530 * cistring.h: New file, new class.
2531 * cistring.cc: New file, new class.
2532
2533 * choose.h: Run indent.
2534 (Chooser): New class declaration.
2535 * choose.cc: Run indent.
cef493d7 2536 (do_choose): Add owner param. Pass it to DialogBox() and
ab57ceaa
RC
2537 fatal().
2538 (Chooser): New class implementation.
2539
2540 * res.rc (IDS_VERSION_INFO): New string.
2541 (IDD_SOURCE, IDD_LOCAL_DIR, IDD_ROOT, IDD_SITE, IDD_OTHER_URL)
2542 (IDD_DLSTATUS, IDD_INSTATUS, IDD_SPLASH, IDD_CHOOSE, IDD_DESKTOP):
2543 Change WS_POPUP to WS_CHILD. Numerous positioning/size changes
2544 throughout.
2545 (IDD_CHOOSE): Give template the WS_EX_CONTROLPARENT style to enable
2546 TAB control navigation etc. Give the controls a reasonable tab order.
2547 Grouped radio buttons. Something's still not right, can't tab away
2548 from back/next/cancel group reliably.
2549 * resource.h (IDD_CHOOSER): New dialog ID.
2550
2551 * Makefile.in (OBJS): Add cistring.o, proppage.o, propsheet.o,
2552 threebar.o, and window.o.
2553
cc41a057
RC
25542001-12-21 Robert Collins <rbtcollins@hotmail.com>
2555
2556 * choose.cc (listview_proc): Update the scrollbar when the headers are dragged.
2557 (pick_pkg_line::paint): Clip columns to prevent overlap.
2558
cbfc4215
RC
25592001-12-20 Robert Collins <rbtcollins@hotmail.com>
2560
2561 * Makefile.in: Add libcomctl32.a for setup.exe.
2562 * archive.h (archive): Prevent non-child direct creation of the class.
2563 * archive_tar.h (archive_tar): Prevent inaccurate synthetic copy and assignment.
2564 * choose.cc: Include commctrl for the choose header.
2565 (NEW_COL_SIZE_SLOP): Define without magic numbers.
2566 (pkgtrustp): Convert to function.
2567 (set_action): Remove.
cef493d7 2568 (add_required, fill_missing_category,default_trust): Use list syntax for
cbfc4215
RC
2569 package list.
2570 Use new set_action.
2571 (choose_caption): Remove.
2572 (topbucket::paint): New method.
2573 (topbucket::empty): Ditto.
2574 (topbucket::click): Ditto.
2575 (topbucket::~topbucket): Ditto.
2576 (paint): Remove i,ii and p as they are obsolete.
2577 Remove header drawing code.
2578 Use new chooser method to paint the chooser.
2579 Use new chooser itemcount method.
2580 (scroll_common): Rename to view::scroll.
2581 Scroll the header window separately.
2582 (list_vscroll, list_hscroll, list_click): Update for new chooser methods.
2583 (listview_proc): Look for header messages.
2584 (note_width): Accept stringless calls.
2585 (pick_line::set_line): Remove.
2586 (pick_line::paint): Remove.
2587 (pick_pkg_line::paint): Paint this one line, using the header column widths.
2588 (pick_category_line::paint): Paint this category, and anything in the bucket.
2589 (pick_line::click): Remove.
2590 (pick_pkg_line::click): Handle a click.
2591 (pick_category_line::click): Handle a click.
2592 (_view): Rename all to view.
2593 (view::view): Initialise the control contents.
2594 (view::set_headers): Work with the header control.
2595 (view::init_headers): Use list syntax for package list.
2596 Rearrange the width logic a little.
2597 (view::insert_pkg): Update to use the hierarchy.
2598 (view::insert_category): Ditto.
2599 (view::insert_at, view::insert_under): Remove.
2600 (view::clear_view): Update to use the hierarchy.
2601 (view::click): Update to use the hierarchy.
2602 (set_view_mode): Use list syntax for package list.
2603 Update for new chooser methods.
2604 (DoInsertItem): New helper function. (Needs a home somewhere).
2605 (create_listview): Remove choose control code and use the constructor instead.
2606 (dialog_cmd,scan2,do_choose): Use list syntax for package list.
2607 * choose.h: Include newly required headers list and package_meta.
2608 (_voew): Rename to view.
2609 (pick_line): Convert to an ABC.
2610 (pick_pkg_line): New class.
2611 (pick_catgory_line): New class.
2612 (topbucket): New class.
2613 (view::scroll): New method created from listview_scroll function.
2614 * desktop.cc (make_passwd_group): Use list syntax for package list.
2615 * download.cc (do_download): Use list syntax for package list.
2616 * fromcwd.cc (found_file): Use list syntax for package list.
2617 * iniparse.y (pacakges): Use list syntax for package list.
2618 * install.cc (uninstall_one): Use list syntax for package list.
2619 (do_install): Use list syntax for package list.
2620 * io_stream.h (io_stream): Prevent non-child direct creation of the class.
2621 Prevent inaccurate synthetic copy and assignment.
2622 * list.h: Include required header stdlib.
2623 Work on const correctness.
2624 * package_db.cc (packagedb::getpackagebyname): Remove.
2625 (packagedb::packagedb): Remove custom list code, and make db a local.
2626 (packagedb::getfirstpackage): Remove.
2627 (packagedb::getnextpackage): Remove.
2628 (packagedb::addpackage): Remove.
2629 (flush): Remove custom list code.
2630 (packagedb::registerpackage): Remove.
2631 (packagedb::packages): New static member.
2632 (packagedb::task): New static member.
2633 * package_db.h (PackageDBActions): New enum.
2634 (packagedb): Remove getfirstpackage, getnextpackage, getpackagebyname,
2635 addpackage, registerpackage, packages, packagecount, curr_package, db.
2636 Add packages, task.
2637 * pacakge_meta.cc: Include package_db.h.
2638 (packagemeta::action_caption): New method.
2639 (packagemeta::set_action): New method.
2640 * package_meta.h (CategoryPackage): Initialise key.
2641 (packagemeta): Initialise key.
2642 Add set_action and action_caption methods.
2643 Prevent inaccurate synthetic copy and assignment.
2644 * resource.h (IDC_CHOOSE_LISTHEADER): New ID.
2645 * source.cc: Include package_db for db manipulation.
2646 (save_dialog): Set the db task.
2647 * win32.h: Tell the w32 include headers what IE version to expect/require.
2648
cd8e5750
RC
26492001-12-06 Robert Collins <rbtcollins@hotmail.com>
2650
2651 * README: Wishlist updates.
2652
5519d243
RC
26532001-12-04 Robert Collins <rbtcollins@hotmail.com>
2654
2655 * package_db.cc (getnextpackage): Don't overrun the array.
2656
de6a1a64
RC
26572001-12-04 Robert Collins <rbtcollins@hotmail.com>
2658
2659 * Makefile.in (OBJS): Add setup_version.o.
2660 (version.c): Rename to setup_version.
2661 * choose.cc (set_action): Prevent NULL pointer dereference.
2662 (package_sort): Remove.
2663 * fromcwd.cc (canonicalize_version): Moved to version.cc.
2664 (check_ini): New function for use with find to see if there is a cached setup.ini.
2665 (do_fromcwd): Check for a cached setup.ini from any mirror site.
2666 * ini.cc (find_routine): New function, for finding cached setup.ini's.
2667 (do_local_ini): New function, drives parsing of local ini's.
2668 (do_remote_ini): New function, drives parsing and caching of remote ini's.
2669 (do_ini): Move guts to do_remote_ini and do_local_ini.
2670 * list.h (removebyindex): New method.
2671 * other.cc (save_dialog): Use new site_list and all_site_list to add the
2672 new site to the site picklist.
2673 (dialog_cmd): Only save the dialog when exiting the dialog.
2674 * res.rc (IDD_SITE): Make IDC_URL_LIST a multiple-selection control.
2675 * site.cc (site_list_type): Move to site.h
2676 (site_list): New global, sites chosen by the user.
2677 (all_site_list): New global, all potential sites.
cef493d7 2678 (site_list_type::init): New method, parses a mirror.lst URL string into a
de6a1a64
RC
2679 site_list_type object.
2680 (site_list_type::site_list_type): New method.
2681 (check_if_enable_next): Examine the control, not a local variable.
2682 (load_dialog): Select all the user chosen sites by default.
cef493d7 2683 (save_dialog): Adjust for multiple selection semantics.
de6a1a64 2684 (save_site_url): Save all user chosen sites.
cef493d7 2685 (dialog_cmd): Don't save the dialog when the listbox recieves a message -
de6a1a64
RC
2686 thats not needed.
2687 Remove obsolete other_url reference.
2688 (dialog_proc): Use all_site_list instead of site_list.
2689 (site_sort): Remove.
2690 (get_site_list): Remove malloc use - use list template instead.
2691 Move site_list_type initialisation to site_list_type::init().
2692 (get_initial_list_idx): Renamed to ...
2693 (get_saved_sites): this. Also read in multiple sites to the site_list.
2694 (do_site): Use all_site_list not site_list.
2695 Log all chosen sites.
2696 * site.h: New file, defines site related class, functions and variables.
2697 * state.h: Add comment about use of state.h
2698 (mirror_site): Remove.
2699 (other_url): Remove.
2700 (MIRROR_SITE): Remove.
2701 * version.cc: New file, for version-handling and related functions.
2702
341988b9
RC
27032001-12-02 Robert Collins <rbtcollins@hotmail.com>
2704
2705 * Makefile.in: Add filemanip.o to setup.
2706 * archive.cc (archive::extract_file): Use new io_stream method 'copy'.
2707 * archive_tar.h (archive_tar_file): Implement get_size virtual.
2708 (archive_tar): Ditto.
2709 * choose.cc (set_action): Use [] operator instead of getnth - its more readable.
2710 (paint): Ditto.
2711 (_view::init_headers): Ditto.
2712 (_view::insert_pkg): Ditto.
2713 (set_view_mode): Ditto.
2714 (scan2): Ditto.
2715 (do_choose): Ditto.
2716 (base): Moved to filemanip.cc.
2717 (find_tar_ext): Ditto.
2718 (parse_filename): Ditto.
2719 (_Info::_Info): Remove.
2720 * compress_bz.h (compress_bz): Implement get_size virtual.
2721 * compress_gz.h (compress_gz): Implement get_size virtual.
2722 * cygpackage.cc (cygpackage::destroy): Use array delete for char * objects.
2723 * download.cc (get_file_size): Move to filemanip.cc.
2724 (check_for_cached): Use [] operator instead of getnth - its more readable.
2725 (download_one): Ditto.
2726 * filemanip.cc: New file.
2727 * geturl.cc (init_dialog): Make url a pointer to const as it is not modified.
2728 (get_url_to_membuf): New function - contains get_url_to_string worker code.
2729 (get_url_to_string): Becomes a trivial wrapper to get_url_to_membuf.
2730 * geturl.h: Declare new prototype.
2731 * ini.cc (do_ini): Use get_url_to_membuf and pass ini_init an io_stream.
2732 Tidy up the error code a little.
2733 * ini.h: Remove __cplusplus protection for ini_init.
2734 (_Info): Remove.
2735 * inilex.l: Remove old globals.
2736 (ini_init): Use an io_stream for getting the characters.
2737 (ini_getchar): Ditto.
2738 * iniparse.y: Declare yylex as a C++ function.
2739 (add_correct_version): Use [] operator instead of getnth - its more readable.
2740 * io_stream.cc (io_stream::move_copy): Use the copy method.
2741 (io_stream::copy): New method to simply copy from one stream to another.
2742 * io_stream.h (io_stream): New static method copy, and virtual method get_size.
2743 * io_stream_cygfile.cc (io_stream_cygfile::get_size): Implement this.
2744 * io_stream_cygfile.h (io_stream_cygfile::get_size): Declare this.
2745 * io_stream_file.cc (io_stream_file::get_size): Implement this.
2746 * io_stream_file.h (io_stream_file::get_size): Declare this.
2747 * io_stream_memory.h: Include errno as it's neded to parse the header.
2748 (io_stream_memory::get_size): Implement this.
2749 (io_stream_memory::st_size): Delete this.
2750 * list.h: Change getnth into the [] operator.
2751 * netio.cc (NetIO::NetIO): Change prototype to reflect Purl not being modified.
2752 (NetIO::set_url): Ditto.
2753 (NetIO::open): Ditto.
2754 * netio.h: As for netio.cc.
2755 * nio-file.cc (NetIO_File::NetIO_File): Change prototype to reflect Purl not
2756 being modified.
2757 * nio-file.h: Ditto.
2758 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Ditto.
2759 * nio-ftp.h (NetIO_FTP::NetIO_FTP): Ditto.
2760 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Ditto.
2761 * nio-http.h (NetIO_HTTP::NetIO_HTTP): Ditto.
2762 * nio-i5.cc (NetIO_IE5::NetIO_IE5): Ditto.
2763 * nio-i5.h (NetIO_IE5::NetIO_IE5): Ditto.
2764 * package_meta.cc (packagemeta::~packagemeta): Bugfix: use array delete.
2765 * package_source.cc (packagesource::set_canonical): Ditto.
2766 (packagesource::set_cached): Ditto.
2767 * package_source.h (site::~site): Ditto.
cef493d7 2768 * site.cc: Change site_list_type to a class, and search and replace sort_key to
341988b9
RC
2769 key globally.
2770
071c1c54
RC
27712001-12-01 Robert Collins <rbtcollins@hotmail.com>
2772
2773 * package_source.cc (packagesource::set_canonical): Filename was out by one.
2774
4fe323f9
RC
27752001-11-30 Robert Collins <rbtcollins@hotmail.com>
2776
2777 * Makefile.in (OBJS): Remove category_list - it's not needed.
2778 * README: More wishlist updates.
2779 * category.cc (Category::Category): Initialise new members.
2780 (Categorycmp): New function.
2781 * category.h (Category): New member key for template use.
2782 * category_list.cc: Remove.
2783 * category_list.h: Remove.
2784 (Categorycmp): New function prototype.
2785 * choose.cc: Remove category_list - not needed.
cef493d7 2786 (set_action): Only show the 'source' option when the source is actually
4fe323f9
RC
2787 available.
2788 (add_required): Fix recursion limiter to 5.
2789 (fill_missing_category): Use list access.
2790 (default_trust): Ditto.
2791 (pick_line::paint): Ditto.
2792 (_view::init_headers): Ditto.
2793 (_view::insert_pkg): Ditto.
2794 (_view::insert_category): Ditto.
2795 (_view::click): Ditto.
2796 (set_view_mode): Ditto.
2797 (do_choose): Ditto.
2798 * cygpackage.h: Remove category_list - not needed.
2799 * geturl.cc (get_url_to_string): Fix null byte insertion.
2800 * inipatse.y: Remove category_list - not needed.
2801 (categories): Use list access.
2802 * package_db.cc: Ditto.
2803 * package_db.h: Remove category_list - not needed.
2804 (packagedb): Use the list template for categories.
2805 * package_meta.cc (add_category): Ditto.
2806 * package_meta.h (CategoryPackage): Link to the category as well.
cef493d7 2807 (packagemeta): Use a list of CategoryPackages instead of Categories
4fe323f9
RC
2808 for more memory efficient cross-referencing.
2809
7d66d192
RC
28102001-11-30 Robert Collins <rbtcollins@hotmail.com>
2811
2812 * package_db.cc (packagedb::flush): Write a canonical version for all packages
2813 irrespective of the media they were installed from.
2814
bb849dbd
RC
28152001-11-29 Robert Collins <rbtcollins@hotmail.com>
2816
2817 * Makefile.in (OBJS): Add package_source and rfc1738.
2818 * README: Wishlist update.
2819 * category_list.cc (register_category): Use references.
2820 * category_list.h (CategoryList): Ditto.
2821 * choose.cc (isinstalled): Remove.
2822 (pkgtrustp): New macro.
2823 (set_action): Use packagemeta.
2824 (add_required): Ditto.
2825 (choose_caption): Example package to choose caption, rather than state flags.
2826 (check_existence): Remove.
2827 (set_existence): Remove old code.
2828 (fill_missing_category): Use packagemeta.
2829 (keep_or_skip): Remove.
2830 (default_trust): Use packagemeta and set trust values directly.
2831 (pick_line::set_line): Use packagemeta.
2832 (_view::insert_pkg): Ditto.
2833 (_view::insert_category): Ditto.
2834 (_view::click): Ditto.
2835 (set_view_mode): Ditto. Also remove "exclude" code.
2836 (create_listview): Use packagemeta.
2837 (dialog_cmd): Ditto.
2838 (getpkgbyname): Remove
2839 (scan2): Use packagemeta. Temporarily comment out the holefinding code.
2840 (read_installed_db): Remove.
2841 (package_sort): Use packagemeta.
2842 (do_choose): Use packagemeta. Don't sort the packages - the db does that.
2843 * choose.h: Use packagemeta.
2844 * cygpackage.cc (cygpackage::cygpackage): Initialise all variables.
2845 (cygpackage::cygpackage): Ditto.
2846 (cygpackage::set_canonical_version): Copy the passed string.
2847 (cygpackage::~cygpackage): Move cleanup code to destroy().
2848 (cygpackage::destroy): New function.
2849 (cygpackage::getfirstfile): Use a separate buffer.
2850 (cygpackage::getnextfile): Ditto.
2851 (cygpackage::Canonical_version): New function.
2852 (cygpackage::set_sdesc): Ditto.
2853 (cygpackage::set_ldesc): Ditto.
2854 * cygpackage.h (cygpackage::Canonical_version): New method.
2855 (cygpackage::set_sdesc): New method.
2856 (cygpackage::set_ldesc): New method.
2857 (cygpackage::SDesc): New method.
2858 (cygpackage::LDesc): New method.
2859 (cygpackage::set_canonical_version): New method.
2860 * desktop.cc: Include packagedb headers.
2861 (make_password_group): Use packagemeta.
2862 * download.cc: Include packagedb headers.
2863 (check_for_cached): New method to find any cached file and fill out the database
2864 info.
2865 (download_one): Take a packagesource, support multiple mirrors.
2866 (do_download): Use packagemeta.
2867 * from cwd.cc: Include packagedb headers.
2868 (found_file): Use packagemeta.
2869 * ini.cc (do_ini): Beginning of multiple-mirror support.
2870 * ini.h (CategoryPackage): Remove.
2871 (Dependency): Remove.
2872 (Package): Remove.
2873 (new_package,getpkgbyname,getpackagecategorybyname,add_category): Remove.
2874 * inilex.l: Support multiple mirrors.
2875 * iniparse.y: Include packagedb headers.
2876 (parser): Use packagemeta.
2877 (new_package): Remove.
2878 (add_correct_version): New function.
2879 (new_requirement): Remove.
2880 (add_category): Remove.
2881 * install.cc (uninstall_one): Use packagemeta.
2882 (install_one_source): New function.
2883 (install_one): Use packagemeta.
2884 (do_install): Use packagemeta.
2885 * io_stream.cc (io_stream::move): Bugfix on move/copy case.
2886 * io_stream_cygfile.cc (io-stream_cygfile::set_mtime): Do not reopen the file
2887 after setting the mtime, it makes no sense, and results in 0 length files.
2888 * io_stream_file.cc (io-stream_file::set_mtime): Ditto.
2889 * list.h: New file, template class for a form of list.
2890 * package_db.cc (packagedb::registerpackage): New function.
2891 * package_db.h (packagedb::npackages ()): New method.
2892 * package_meta.cc (packagemeta::add_version): Use list template.
2893 (packagemeta::set_installed): Ditto.
2894 (packagemeta::add_category): New method.
2895 * package_meta.h: Include necessary headers to parse the class.
2896 (CategoryPackage): New class.
2897 (packagemeta): Initialise all members.
2898 (packagemeta::SDesc): New method.
2899 (packagemeta::Categories): New method.
2900 (packagemeta::add_category): Ditto.
2901 (packagemeta::versions): Change to be a list instance.
2902 * package_source.cc (packagesource::set_canonical): New method.
2903 (packagesource::set_cached): New method.
2904 * package_source.h: Include necessary headers to parse the class.
2905 (site): New class.
2906 (packagesource::packagesource): Initialize all members.
2907 (packagesource): Make this class non-abstract.
2908 * package_version.cc (packageversion::packageversion): New method.
2909 * package_version.h (Dependency): New class.
2910 (packageversion::Canonical_vesion): New method.
2911 (packageversion::SDesc): New method.
2912 (packageversion::LDesc): New method.
2913 (packageversion::new_requirement): Ditto.
2914 (packageversion::srcpicked, binpicked): What to install.
2915 (packageversion::src, bin): Installation source data.
2916 * rfc1738.cc: New file. Escapes special characters in URL's.
2917 * rfc1738.h: Ditto.
2918
90d14922
RC
29192001-11-26 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
2920
2921 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Stop header parsing when
2922 SimpleSocket::gets() returns a zero-length string, so that we
2923 don't end up eating the entire stream thinking it's all header info.
2924
7c7034e8
RC
29252001-11-23 Robert Collins <rbtcollins@hotmail.com>
2926
2927 * install.cc (badrename): Remove.
2928 (do_install): Use packagedb flush method to write /etc/setup/installed.db.
2929 * io_stream.cc (io_stream::move_copy): New method.
2930 (io_stream::move): New method.
2931 * io_stream.h (io_stream): New methods move and move_copy.
2932 * io_stream_cygfile.cc (io_stream_cygfile::move): New method.
2933 * io_stream_cygfile.h (io_stream_cygfile): New method move.
2934 * io_stream_file.cc (io_stream_file::move): New method.
2935 * io_stream_file.h (io_stream_file): New method move.
2936 * package_db.cc (packagedb::flush): New method.
2937 * package_db.h (packagedb): New method flush.
2938
fa0c0d10
RC
29392001-11-23 Robert Collins <rbtcollins@hotmail.com>
2940
2941 * Makefile.in (OBJS): Add package_version.
2942 * ategory.cc (Category::Category): Update constructors.
2943 * category_list.cc (CategoryList::register_category): Insert correctly.
2944 * choose.cc: Include package_version.h, not package.h.
2945 * cygpackage.cc: Ditto.
2946 (cygpackage::uninstall): New method.
2947 * cygpackage.h (cygpackage): Rename genericpackage to packageversion.
2948 New method uninstall.
2949 * hash.cc (add, has, enumerate): Change prototype to be accurate.
2950 * hash.h (hash): Change prototypes to be accurate.
2951 * ini.h (_Info): New parameterless constructor.
2952 (CategoryPackage): New constructor.
2953 (Package): Ditto.
2954 * install.cc: Don't include unneeded headers.
2955 Include package database headers.
2956 (hash::add_subdirs): Remove.
2957 (uninstall_one): Use packagemeta->uninstall to perform the uninstallation.
2958 Don't uninstall source packages.
2959 (do_install): Just can uninstall_one once as we ignore source packages now.
cef493d7 2960 Don't copy the installed.old database accross, instead iterate through the
fa0c0d10
RC
2961 packagedb packages list and write the isntalled packages out.
2962 * package_db.cc: Include package_version.h, not package.h.
2963 (packagedb::packagedb): Never let db be undefined.
2964 Record the installation filename, so we can reconstruct installed.db.
2965 (packagedb::addpackage): Insert packages in alpha sorted order.
2966 (packagedb::categories): Initialise correctly.
2967 * package_meta.cc: Include win32 and mount headers as a workaround to
2968 current io_stream limitations. Include a TODO about that.
2969 (standard_dirs): New, from install.cc.
2970 (hash::add_subdirs): New, from install.cc.
2971 (packagemeta::set_installed): Rename genericpackage to packageversion.
2972 (packagemeta::uninstall): New method.
2973 * package_meta.h: Rename genericpackage to packageversion.
2974 (packagemeta): Update constructor.
2975 (add_version, set_installed): Rename genericpackage to packageversion.
2976 (uninstall): New method.
2977 (installed_from): New member.
2978 * package_source.cc: New file.
2979 * package_source.h: New file.
2980 * package_version.cc: New file.
2981 * package_version.h: New file.
2982 * package.cc: Removed.
2983 * package.h: Removed.
cef493d7 2984
7b606ae5
RC
29852001-11-21 Robert Collins <rbtcollins@hotmail.com>
2986
2987 * Makefile.in (OBJS): Add category.o and category_list.o.
2988 * category.h: New file.
2989 * category.cc: New file.
2990 * category_list.h: New file.
2991 * category_list.cc: New file.
2992 * choose.cc: Include category headers.
2993 (fill_missing_category): Use package_db to access global categories.
2994 (_view::insert_pkg): Ditto.
2995 (_view::insert_category): Ditto.
2996 (set_view_mode): Ditto.
2997 (getcategorybyname): Remove.
2998 * cygpackage.h: Include category_list.h to parse this correctly.
2999 (cygpackage): New virtual &Categories.
3000 * ini.h (_CategoryPackage): More C to C++ conversion.
3001 (Category): Remove.
3002 (getcategorybyname): Remove.
3003 (register_category): Remove.
3004 * iniparse.y: Include package db and category headers.
3005 (categories): Use package_db to access global categories.
3006 (category): Remove.
3007 (ncategories): Remove.
3008 (register_category): Remove.
3009 * package.h: New virtual &Categories.
3010 * package_db.cc (packagedb::packagedb): Don't read the installed db twice.
3011 (packagedb::categories): Declare.
3012 * package_db.h (packagedb): New member categories for global categories list.
3013
d0fa1c4e
RC
30142001-11-21 Robert Collins <rbtcollins@hotmail.com>
3015
3016 * choose.h: Don't include ini.h
3017 * ini.h: Allow pure c++ in the header file.
3018
24cbae7f
RC
30192001-11-21 Robert Collins <rbtcollins@hotmail.com>
3020
3021 * install.cc (do_install): Write a version 2 installed.db file.
3022 * package_db.cc (packagedb::packagedb): Read version 1 and 2 installed.db files.
3023
7939f6d1
RC
30242001-11-21 Robert Collins <rbtcollins@hotmail.com>
3025
3026 * Makefile.in (OBJS): Add package abstraction objects.
3027 * choose.cc: Include package abstraction headers.
3028 (read_installed_db): Use packagedb class and ignore installed sources.
3029 * cygpackage.cc: New file.
3030 * cygpackage.h: New file.
3031 * filemanip.h (get_file_size): Use unixy types.
3032 * package.h: New file.
3033 * package.cc: New file.
3034 * package_db.cc: New file.
3035 * package_db.h: New file.
3036 * package_meta.cc: New file.
3037 * package_meta.h: New file.
3038
33bc0053
RC
30392001-11-21 Robert Collins <rbtcollins@hotmail.com>
3040
3041 * REAME: Updates to wishlist.
3042
12ccadc0
RC
30432001-11-16 Robert Collins <rbtcollins@hotmail.com>
3044
3045 * README: Updated and added my list of wishlist and todo items.
3046
ca9506cc
RC
30472001-11-14 Robert Collins <rbtcollins@hotmail.com>
3048
3049 * Makefile.in (OBJS): Include io_stream_memory in setup.exe.
3050 * archive_tar.cc (archive_tar::write): New prototype.
3051 (archive_tar::seek): New method.
3052 * archive.h (archive_tar_file): Update write() and add seek().
3053 (archive_tar): Ditto.
3054 * archive_tar_file.cc (archive_tar_file::write): New prototype.
3055 (archive_tar_file::seek): New method.
3056 * compress_bz.cc (compress_bz::write): New prototype.
3057 (compress_bz::seek): New function.
3058 * compress_bz.h (compress_bz): Update write() and add seek().
3059 * compress_gz.cc (compress_gz::write): New prototype.
3060 (compress_gz::seek): New function.
3061 * compress_gz.h (compress_gz): Update write() and add seek().
3062 * geturl.cc: Include io_stream headers.
3063 (GUBuf): Remove.
3064 (get_url_to_string): Use a io_stream_memory buffer instead of GUBuf.
3065 * io_stream.h (io_stream_seek_t): New enum.
3066 (io_stream): Update write() and add seek().
3067 * io_stream_cygfile.cc (io_stream_cygfile::write): New prototype.
3068 (io_stream_cygfile::seek): New function.
3069 * io_stream_cygfile.h (io_stream_cygfile): Update write() and add seek().
3070 * io_stream_file.cc (io_stream_file::write): New prototype.
3071 (io_stream_file::seek): New function.
3072 * io_stream_file.h (io_stream_file): Update write() and add seek().
3073
2db33f10
RC
30742001-11-13 Brian Keener <bkeener@thesoftwaresource.com>
3075
3076 * localdir.cc: Add headers unistd.h and port.h.
cef493d7 3077 (save_local_dir): Expand search logic to include local directory for
2db33f10
RC
3078 location of file last-cache.
3079 (dialog_cmd): Skip IDD_ROOT when downloading and use Back button.
cef493d7 3080 (do_local_dir): Expand search logic to include local directory for file
2db33f10
RC
3081 last-cache.
3082 * res.rc (IDD_CHOOSE_DIALOG): Add hotkey to View button.
cef493d7 3083 * Source.cc (dialog_cmd): Skip IDD_ROOT if select Download from
2db33f10 3084 Internet.
cef493d7 3085 (do_source): Default to Install from Internet on first entry or
2db33f10
RC
3086 previous selection if backing up from IDD_ROOT or IDD_LOCAL_DIR.
3087
03a6c5b1
RC
30882001-11-13 Robert Collins <rbtcollins@hotmail.com>
3089
3090 * choose.cc (find_tar_ext): Only match at the end of the string.
3091 (getpkgbyname): Prevent NULL pointer dereference.
3092
b24c88b3
RC
30932001-11-13 Robert Collins <rbtcollins@hotmail.com>
3094
3095 * Makefile.in (CFLAGS): Add warnings and -Werr.
3096 (WARNONLY_FLAGS): For sources that produce (harmless) errors no matter what.
3097 (OBJS): Add io_stream class' objects.
3098 (autoload.o): Use WARNONLY_FLAGS.
3099 (inilex.o): Ditto.
3100 (iniparse.o): Ditto.
3101 * archive.cc: New file.
3102 * archive.h: New file.
3103 * archive_tar.cc: New file.
3104 * archive_tar.h: New file.
3105 * archive_tar_file.cc: New file.
3106 * autoload.c: Fix compiler warnings (unused, deprecated conversion).
3107 * choose.cc: Use io_stream.h, not mount.h.
3108 Run indent.
3109 (find_tar_ext): Rewritten to use strstr, and to accept .tar as an extension.
3110 (read_installed_db): Use io_streams.
3111 * choose.h: Run indent.
3112 * compress.cc: New file.
3113 * compress.h: New file.
3114 * compress_bz.cc: New file.
3115 * compress_bz.h: New file.
3116 * compress_gz.cc: New file.
3117 * compress_gz.h: New file.
3118 * concat.cc: Run indent.
3119 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3120 * concat.h: Run indent.
3121 * desktop.cc: Run indent.
3122 Include mklink2.h rather than redefining by hand.
3123 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3124 (etc_profile): Fix compiler warning (deprecated conversion).
3125 (make_link): Fix compiler warning (deprecated conversion).
3126 Tidy up use of args variable - consolidate into argbuf.
3127 (start_menu): Fix compiler warning (deprecated conversion).
3128 (desktop_icon): Fix compiler warning (deprecated conversion).
3129 (make_etc_profile): Fix compiler warning (deprecated conversion).
3130 (uexists): Fix compiler warning (deprecated conversion).
3131 (check_desktop): Fix compiler warning (deprecated conversion).
3132 (check_startmenu): Fix compiler warning (deprecated conversion).
3133 * dialog.cc: Run indent.
3134 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3135 (fatal): Fix compiler warning (deprecated conversion).
3136 * dialog.h: Run indent.
3137 * diskfull.cc: Run indent.
3138 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3139 * download.cc: Run indent.
3140 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3141 (download_one): Fix compiler warning (signed vs unsigned comparison).
3142 * filemanip.h: Run indent.
3143 * find.cc: Run indent.
3144 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3145 (find): Fix compiler warning (deprecated conversion).
3146 * find.h: Run indent.
3147 * fromcwd.cc: Run indent.
3148 * geturl.cc: Run indent.
3149 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3150 (dialog_cmd): Return a value.
3151 (dialog_proc): Remove unused variables.
3152 Return a value.
3153 (get_url_to_file): Fix compiler warning (deprecated conversion).
3154 * geturl.h: Run indent.
3155 * hash.cc: Run indent.
3156 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3157 * hash.h: Run indent.
3158 * ini.cc: Run indent.
3159 Use io_streams.
3160 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3161 (do_ini): Use io_streams for local io.
3162 * ini.h: Run indent.
3163 * inilex.l (ignore_line): Fix compiler warning (is not a prototype).
3164 Fix compiler warning (brackets for truth assignment).
3165 * install.cc: Run indent.
3166 Fix compiler warning (/* in comment).
3167 Use io_streams.
3168 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3169 (dialog_cmd): Return a value.
3170 (dialog_proc): Return a value.
3171 (start_tics): Deleted - was unused.
3172 (badrename): Fix compiler warnings (unused, deprecated conversion).
3173 (standard_dirs): Fix compiler warning (deprecated conversion).
3174 (exists): Remove.
3175 (uninstall_one): Convert to io_streams.
3176 (install_one): Convert to io_streams.
3177 (do_install): Convert to io_streans.
3178 Fix compiler warning (deprecated conversion).
3179 * io_stream.cc: New file.
3180 * io_stream.h: New file.
3181 * io_stream_cygfile.cc: New file.
3182 * io_stream_cygfile.h: New file.
3183 * io_stream_file.cc: New file.
3184 * io_stream_file.h: New file.
3185 * localdir.cc: Run indent.
3186 Use io_streams.
3187 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3188 (get_root_dir_now): Remove.
3189 (save_local_dir): Convert to io_streams.
3190 (dialog_cmd): Return a value.
3191 (do_local_dir): Convert to io_streams.
3192 (log.cc): Run indent.
3193 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3194 (log): Fix compiler warning (deprecated conversion).
3195 (log_save): Fix compiler warning (deprecated conversion).
3196 * log.h: Run indent.
3197 (log): Fix compiler warning (deprecated conversion).
3198 (log_save): Fix compiler warning (deprecated conversion).
3199 * main.cc: Run indent.
3200 Don't include "netio.h".
3201 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3202 (netio_test): Remove.
3203 (sid_auth): Fix compiler warning (partially bracketed initialiser).
3204 (WinMain): Return a value.
3205 * mkdir.cc: Run indent.
3206 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3207 * mklink2.c: Run indent.
3208 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3209 (mkcygsymlink): New function.
3210 * mklink2.h: New file.
3211 * mount.cc: Run indent.
3212 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3213 (create_mount): Remove unused variables.
3214 (cygpath): Fix compiler warning (signed vs unsigned comparison).
3215 * mount.h: Run indent.
3216 * msg.cc: Run indent.
3217 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3218 (msg): Fix compiler warning (deprecated conversion).
3219 (mbox): Fix compiler warning (deprecated conversion).
3220 * msg.h: Run indent.
3221 (msg): Fix compiler warning (deprecated conversion).
3222 * net.cc: Run indent.
3223 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3224 (dialog_cmd): Return a value.
3225 * netio.cc: Run indent.
3226 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3227 (auth_cmd): Return a value.
3228 * netio.h: Run indent.
3229 * nio-file.cc: Run indent.
3230 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3231 (NetIO_File::NetIO_File): Fix compiler warning (deprecated conversion).
3232 * nio-file.h: Run indent.
3233 * nio-ftp.cc: Run indent.
3234 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3235 * nio-ftp.h: Run indent.
3236 * nio-http.cc: Run indent.
3237 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3238 * nio-http.h: Run indent.
3239 * nio-ie5.cc: Run indent.
3240 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3241 * nio-ie5.h: Run indent.
3242 * other.cc: Run indent.
3243 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3244 (dialog_cmd): Return a value.
3245 * port.h: Run indent.
3246 * postinstall.cc: Run indent.
3247 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3248 (cmd): Fix compiler warning (deprecated conversion).
3249 (eun): Fix compiler warning (deprecated conversion).
3250 * root.cc: Run indent.
3251 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3252 * simpsock.cc: Run indent.
3253 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3254 * simpsock.h: Run indent.
3255 * site.cc: Run indent.
3256 Use io_streams.
3257 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3258 (get_root_dir_now): Remove.
3259 (save_site_url): Convert to io_streams.
3260 (dialog_cmd): Return 0.
3261 (get_initial_list_idx): Convert to io_streans.
3262 * source.cc: Run indent.
3263 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3264 (check_if_enable_next): Remove.
3265 (load_dialog): Remove unused variables.
3266 (save_dialog): Ditto.
3267 (dialog_cmd): Return a value.
3268 * splash.cc: Return a value.
3269 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3270 (dialog_cmd): Return a value.
3271 * state.cc: Run indent.
3272 (cvsid): Fix compiler warnings (unused, deprecated conversion).
3273 * state.h: Run indent.
3274 * tar.h: Remove.
3275 * tar.cc: Remove.
3276
398dd7b2
CF
32772001-11-12 Christopher Faylor <cgf@redhat.com>
3278
3279 * desktop.cc (start_menu): Change start menu name to "Cygwin".
3280 (check_startmenu): Ditto.
3281
c29ee141
CF
32822001-11-11 Christopher Faylor <cgf@redhat.com>
3283
3284 * choose.cc (parse_filename): Finish reorganization by correctly
3285 decrementing p in memmove.
3286
3a8276de
CF
32872001-11-11 Christopher Faylor <cgf@redhat.com>
3288
3289 * choose.cc (parse_filename): Reorganize code to work around gcc
3290 optimization problem.
3291
6eea52fb
RC
32922001-11-09 Gareth Pearce <tilps@hotmail.com>
3293
3294 * choose.cc (set_action): Allow skip as an option for installed
3295 packages that have version number not listed in setup.ini.
3296
cf99b153
RC
32972001-11-10 Robert Collins <rbtcollins@hotmail.com>
3298
3299 * choose.cc (set_cation): Backout last change.
3300 (choose_caption): Ditto.
3301
55e204f6
RC
33022001-11-10 Robert Collins <rbtcollins@hotmail.com>
3303
3304 * ini.h (actions): Remove - transferred to choose.h.
3305 (views): Ditto.
3306 * choose.h: Protect class's from "C" compilers.
3307 (actions): New enum, from ini.h. This may not be the 'right' place
3308 but that place doesn't exist yet.
3309 (_views): New enum, from ini.h.
cef493d7 3310 * choose.cc (set_action): Handle installed packages with a version not in
55e204f6
RC
3311 setup.ini.
3312 (choose_caption): Ditto.
3313 * iniparse.y: Rearrange header order to handle new ini.h.
3314
33152001-11-10 Robert Collins <rbtcollins@hotmail.com>
3316
3317 * ini.h (_Info): Fix compiler warnings (signed vs unsigned comparison).
3318 (registry_category): Fix compiler warning (deprecated conversion).
3319 * iniparse.y (registry_category): Ditto.
3320 * choose.cc (cvsid): Fix compiler warnings (unused, deprecated conversion).
3321 (add_requried): Remove unused variable.
3322 (choose_caption): Handle all enumeration values via a default.
3323 (paint): Fix compiler warnings (unused, deprecated conversion).
3324 (scroll_common): Fix compiler warnings (unused, signed vs unsigned comparison).
3325 (list_clicK): Fix compiler warnings (signed vs unsigned comparison).
3326 (note_width): Fix compiler warnings (deprecated conversion).
3327 (keep_or_skip): Fix compiler warnings (unused).
3328 (_view::mode_caption): Fix compiler warnings (deprecated conversion).
3329 (set_view_mode): Fix compiler warnings (unused).
3330 (create_listview): Fix compiler warnings (unused, incorrect format, reaches
3331 end of function).
3332 (dialog_proc): Fix compiler warnings (unused).
3333 (read_installed_db): Fix compiler warnings (unused, deprecated conversion).
3334 * choose.h (_header): Fix compiler warnings (deprecated conversion).
3335 (_view): Ditto.
3336
67a55ad9 33372001-11-08 Pavel Tsekov <ptsekov@syntrex.com>
cef493d7 3338
67a55ad9
RC
3339 * simpsock.h (SimpleSocket::invalidate): Declare new method.
3340 * simpsock.cc (SimpleSocket::invalidate): Implement new method.
3341 (SimpleSocket::SimpleSocket): Initialize buf to zero. Do not allocate
3342 memory for buf in the constructor.
3343 (SimpleSocket::~SimpleSocket): Use SimpleSocket::invalidate().
3344 (SimpleSocket::printf): Use SimpleSocket::write() instead of send().
3345 (SimpleSocket::write): Check object consistency - return -1 on error.
3346 invalidate() the object on socket write error.
3347 (SimpleSocket::fill): Check object consistency - return -1 on error.
3348 invalidate() the object if socket read error is encountered and there
3349 is no more data available in the internal read buffer.
3350 Allocate memory for the internal read buffer.
3351 (SimpleSocket::gets): Return zero (NULL pointer) if error is encountered
3352 during fill() and no more data is available in the internal read buffer.
3353 (SimpleSocket::read): Check object consistency - return -1 on error.
3354 invalidate() the object if socket read error is encountered.
3355 * nio-ftp.cc (NetIO_FTP:NetIO_FTP): Allow 125 as valid response code to
3356 the RETR command (fix for MS IIS ftp server 5 - possibly others too).
3357 (NetIO_FTP::ok): Check if the SimpleSocket object is ok().
3358 (NetIO_FTP::read): Use NetIO_FTP::ok().
3359 * nio-http.cc: Check for valid return value of SimpleSocket::gets().
3360 (NetIO_HTTP::ok): Check if the SimpleSocket object is ok().
3361
5898e300
RC
33622001-11-09 Robert Collins <rbtcollins@hotmail.com>
3363
3364 * simpsock.cc (cvsid): Avoid compiler warnings (not used, deprecated conversion).
3365 (SimpleSocket::SimpleSocket): Avoid compiler warnings (deprecated conversion).
3366 (SimpleSocket::printf): Ditto.
3367 (SimpleSocket::write): Ditto.
3368 * simpsock.h (SimpleSocket): Avoid compiler warnings for constructor,
3369 printf and write.
3370 * nio-ftp.cc (cvsid): Avoid compiler warnings (not used, deprecated conversion).
3371 (NetIO_FTP::NetIO_FTP): Remove unused variable done.
3372 * nio-http.cc (cvsid): Avoid compiler warnings (not used, deprecated conversion).
3373
8e58f8fd
RC
33742001-11-07 Charles Wilson <cwilson@ece.gatech.edu>
3375
3376 * geturl.cc (get_url_to_string): clean up memory leak
3377 (get_url_to_file): ditto
cef493d7 3378
4b4002ab
RC
33792001-11-06 Robert Collins <rbtcollins@hotmail.com>
3380
3381 * localdir.cc (dialog_cmd): Go back to IDD_ROOT in every case.
3382 * source.cc (dialog_cmd): Go forward to IDD_ROOT in every case.
3383
94525fd9
RC
33842001-11-06 Pavel Tsekov <ptsekov@syntrex.com>
3385
3386 * fromcwd.cc (found_file): Free() memory containing the version and
3387 filepath information for a given package, before replacing the pointers which
3388 reference this memory.
3389
33902001-11-06 Robert Collins <rbtcollins@hotmail.com>
ca83c665
RC
3391
3392 * fromcwd: Fix compiler warnings for cvsid.
3393 (canonicalize_version): Fix compilter warnings.
3394 (do_fromcwd): Ditto.
3395 * version.h: Fix compiler warnings for canonicalize_version.
3396
ce1f9ec2
RC
33972001-11-03 Robert Collins <rbtcollins@hotmail.com>
3398
3399 * res.rc (IDD_CHOOSE): Move the view caption to the right hand side.
3400
89d82ec7
RC
34012001-11-02 Robert Collins <rbtcollins@hotmail.com>
3402
3403 * res.rc (IDD_CHOOSE): Tweak for use on a 640x480 screen.
3404
c8fea72a
RC
34052001-11-02 Robert Collins <rbtcollins@hotmail.com>
3406
8114d309
RC
3407 * choose.cc (set_action): Correctly allow skip for any uninstalled package.
3408
34092001-11-02 Robert Collins <rbtcollins@hotmail.com>
3410
cef493d7 3411 * choose.cc (default_trust): Change the "Required" forced install category to
8114d309 3412 "Base".
c8fea72a 3413
f557695e
RC
34142001-11-02 Robert Collins <rbtcollins@hotmail.com>
3415
3416 * choose.cc: Ran indent.
3417 (set_action): When the requested trust level is missing and the level was not
3418 user requested, set the action to ACTION_SAME_CURR.
3419
9a60dafc
CF
34202001-11-01 Christopher Faylor <cgf@redhat.com>
3421
cef493d7 3422 * Makefile.in (mingw_getopt.o): Fix typo in non-verbose compilation.
f557695e
RC
3423
34242001-11-02 Robert Collins <rbtcollins@hotmail.com>
3425
3426 * choose.cc (_view::init_headers): Resync with the paint logic.
9a60dafc 3427
878faffd
RC
34282001-11-02 Robert Collins <rbtcollins@hotmail.com>
3429
cef493d7 3430 * choose.cc (add_required): Allow SKIP and SRC_ONLY for currently installed
878faffd
RC
3431 packages.
3432
05bfdf26
RC
34332001-11-02 Robert Collins <rbtcollins@hotmail.com>
3434
3435 * choose.cc (default_trust): Autoset currently installed packages per the user's
3436 selection of prev/curr/exp.
3437
0b9af00c
RC
34382001-11-02 Robert Collins <rbtcollins@hotmail.com>
3439
3440 * splash.cc (dialog_proc): Return TRUE as specified in the WIN32 API.
3441
7cefe128
RC
34422001-11-02 Pavel Tsekov <ptsekov@syntrex.com>
3443
3444 * geturl.cc (is_showing): Remove.
3445 (is_local_install): New static variable. Controls whether the
3446 progress dialog and the supporting thread will be created.
3447 (dialog_proc): Return TRUE to WM_INITDIALOG as specified by the WIN32 API.
3448 (init_dialog): Remove usage of SetForegroundWindow and is_showing.
cef493d7 3449 This prevents the progress dialog to gain control over the
7cefe128
RC
3450 application and fixes the "setup.exe going to background" problem.
3451 (progress): Use is_local_install.
3452 (get_url_to_string): Set is_local_install.
3453 (dismiss_url_status_dialog): Use is_local_install.
3454 * install.cc (dialog_proc): Return TRUE as specified in WIN32 API.
3455 (init_dialog): Remove usage of SetForegroundWindow.
cef493d7 3456 This prevents the progress dialog to gain control over the
7cefe128
RC
3457 application and fixes the "setup.exe going to background" problem.
3458
42a99ed1
RC
34592001-11-02 Robert Collins <rbtcollins@hotmail.com>
3460
3461 * choose.cc (list_click): Change r to row for clarity.
3462 When we shrink the list below 1 page, scroll to the top of the list.
3463 (_view::click): Return the actual change for contractions.
3464 (dialog_proc): Return TRUE to WM_INITDIALOG as specified by the Win32 API.
3465
45c2d7d3
RC
34662001-11-02 Robert Collins <rbtcollins@hotmail.com>
3467
3468 * choose.cc (dialog_cmd): Swap cygwin root selection and local dir selection order.
3469 * localdir.cc: Ran indent.
3470 (get_root_dir_now): New function.
3471 (save_local_dir): New function.
3472 (dialog_cmd): Use it and swap cygwin root selection and local dir selection order.
3473 (do_local_dir): If there is a saved local dir, read it in.
3474 * net.cc (dialog_cmd): Swap cygwin root selection and local dir selection order.
3475 * root.cc (dialog_cmd): Ditto.
3476 * source.cc (dialog_cmd): Ditto.
3477
2399c54d
RC
34782001-11-01 Robert Collins <rbtcollins@hotmail.com>
3479
3480 * choose.cc(list_vscroll): Return 0 as required by win32.
3481 (list_hscroll): Ditto.
3482 (list_click): Ditto.
3483
8e4402a9
RC
34842001-11-01 Robert Collins <rbtcollins@hotmail.com>
3485
3486 * argv.cc: Remove.
3487 * argv.h: Remove.
3488 * main.cc(WinMain): Use __argv to retrieve command line parameters.
3489 * Makefile,in: Remove argv.o.
3490
c168185f
RC
34912001-11-01 Matt Hargett <matt@use.net>
3492
cef493d7
CF
3493 * geturl.cc (progress): Change int to unsigned int to eliminate
3494 lint warnings.
3495 * (get_url_to_string): Check for NULL pointer.
3496 * mount.cc (find2): Use free instead of delete for malloc'd
3497 memory.
3498 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Fix memory leak.
c168185f 3499
f97a1ece
RC
35002001-10-31 Robert Collins <rbtcollins@hotmail.com>
3501
3502 * choose.cc(_view::insert_under): Handle linen > nlines and lines[linen] with neither
3503 a package nor a category. The lines[linen] bug was reported by Matt (matt@usa.net).
3504 (read_installed_db): Bugfix for testing whether a package has a source tarball.
3505 Reported by Matt (matt@usa.net).
cef493d7 3506 * geturl.cc(dialog): Rename gw_dialog to local_gw_dialog to avoid programmer
f97a1ece
RC
3507 confusion and lint errors. Reported by Matt (matt@usa.net).
3508
d52ed64b
RC
35092001-10-31 Robert Collins <rbtcollins@hotmail.com>
3510
cef493d7 3511 * argv.cc: New file, converts arguments for -mwindows programs. (Simplified derivation
d52ed64b
RC
3512 from dcrt0.cc.)
3513 * argv.h: New file.
3514 * Makefile,in: Add argv.o and mingw_getopt.o to setup.exe object list.
3515 Add mingw_getopt.o build rule.
3516 * main.cc(WinMain): Initialise argv and argc for use by getopt.
3517
392ba1ba
CF
35182001-10-27 Christopher Faylor <cgf@redhat.com>
3519
3520 * res.rc: Rearrange info on top line slightly.
3521
31324d15
CF
35222001-10-27 Christopher Faylor <cgf@redhat.com>
3523
3524 * desktop.cc (make_passwd_group): Move file creation earlier in the
3525 process to ensure that passwd-grp.bat reflects desired operation.
3526
35272001-27-10 Trevor Forbes <t4bs@hotmail.com>
3528
3529 * postinstall.cc (each): Remove "*.done" file else rename will fail.
3530
ee411d77
CF
35312001-10-16 Christopher Faylor <cgf@redhat.com>
3532
3533 * res.rc: Oops. Take 640x480 screen size into account.
3534
e74944da
CF
35352001-10-16 Christopher Faylor <cgf@redhat.com>
3536
3537 * res.rc: Enlarge chooser screen.
3538
e368cfb9
CF
35392001-10-12 Christopher Faylor <cgf@redhat.com>
3540
3541 * Makefile.in: Accomodate changes to w32api_include macro.
3542
a6ba3670
CF
35432001-10-12 Christopher Faylor <cgf@redhat.com>
3544
3545 * Makefile.in: Use correct flags for windres.
3546
683e96f6
CF
35472001-10-12 Christopher Faylor <cgf@redhat.com>
3548
3549 * Makefile.in (CFLAGS): Remove -nostdinc from CFLAGS.
3550
2c18c00b
CF
35512001-10-12 Christopher Faylor <cgf@redhat.com>
3552
3553 * choose.cc (pick_line::paint): Reorganize after botched patch.
3554
0f61a05a
CF
35552001-10-12 Christopher Faylor <cgf@redhat.com>
3556
3557 * choose.cc (pick_line::paint): Add missing declaration.
3558
308d6f3e
CF
35592001-10-10 Ralf Habacker <Ralf.Habacker@freenet.de>
3560
3561 * choose.cc (pick_line::paint): Add package name to sdesc for display.
3562
3bcf85be
RC
3563Wed Sep 26 21:39:00 Robert Collins rbtcollins@hotmail.com
3564
3565 * choose.cc (_view::insert_pkg): Correctly exit loop.
3566 * iniparse.y (register_category): Always insert new categories.
3567
fb2cd8f6
CF
3568Fri Sep 21 13:56:32 2001 Christopher Faylor <cgf@cygnus.com>
3569
3570 * inilex.l (yylex): For comments, eat all characters up to, but not
3571 including newline.
3572
127b32e1
CF
3573Sun Aug 26 12:50:01 2001 John Marshall <jmarshall@acm.org>
3574
3575 * fromcwd.cc (found_file): Use correct package name when adding an
3576 unknown package rather than random stack garbage.
3577
2cd555aa
CF
3578Sun Aug 12 14:25:21 2001 Christopher Faylor <cgf@cygnus.com>
3579
3580 * desktop.cc (make_passwd_group): .bat files need \r\n endings.
3581
4254cc64
CF
3582Wed Aug 8 13:53:47 2001 Christopher Faylor <cgf@cygnus.com>
3583
3584 * desktop.cc (etc_profile): Leave environment variables untouched.
3585
acbae401
CV
35862001-08-07 Corinna Vinschen <corinna@vinschen.de>
3587
3588 * autoload.c: Add dynamic load statements for NT/W2K
3589 advapi32 functions not available in 9x/ME.
3590 * main.cc (set_default_dacl): New function.
3591 (WinMain): Call `set_default_dacl' if running on NT/W2K.
3592
969a294c
CF
3593Sat Aug 4 21:35:53 2001 Christopher Faylor <cgf@cygnus.com>
3594
3595 * ini.h (_CategoryPackage): Change pkg field to pkgname for
3596 consistency.
3597 * choose.cc: Use pkgname field when referencing _CategoryPackage
3598 throughout.
3599 (fill_missing_category): Don't add excluded packages.
3600 (default_trust): Ditto.
3601 (_view::insert_pkg): Ditto.
3602 * iniparse.y (register_category): Use consistent variable name.
3603
9eeb0e83
ED
36042001-07-09 Egor Duda <deo@logos-m.ru>
3605
3606 * choose.cc: Use system foreground color for text output.
3607
06560feb
CF
3608Sat Jul 7 00:40:28 2001 Christopher Faylor <cgf@cygnus.com>
3609
3610 * choose.cc (set_action): Use default trust for determining reinstall
3611 and source only.
3612 (default_trust): Set default trust.
3613 (pick_line::paint): Allow source selection when reinstalling or
3614 retrieving.
3615
1fb09149
CF
3616Fri Jul 6 18:08:49 2001 Christopher Faylor <cgf@cygnus.com>
3617
3618 * choose.cc (isinstalled): Modify to properly accomodate special case
3619 of "download only".
3620 (set_action): Check downloaded components, not installed components if
3621 "download only".
3622 (set_existence): Always include full list of files when "download
3623 only".
3624
14cfffa5
CF
3625Fri Jul 6 00:37:05 2001 Christopher Faylor <cgf@cygnus.com>
3626
3627 * choose.cc (pick_line::paint): Properly display "na" field when no
3628 source exists.
3629
f54385f6
CF
3630Thu Jul 5 00:34:23 2001 Christopher Faylor <cgf@cygnus.com>
3631
3632 * choose.cc (scan2): Ensure that older versions do not show up in
3633 "Test" slot.
3634
85b1fb54
CF
3635Mon Jul 2 15:47:59 2001 Christopher Faylor <cgf@cygnus.com>
3636
3637 * choose.cc (set_action): Allow "Skip" action if trust != installed.
3638 * res.rc: Fix copyright.
3639
2dada532
CF
3640Sat Jun 30 14:05:21 2001 Michael A Chase <mchase@ix.netcom.com>
3641
3642 * res.rc (IDD_LOCAL_DIR): Change caption to match the other dialog
3643 boxes.
06c6d195 3644 (IDD_CHOOSE): Adjust horizontal size so package names are visible.
2dada532
CF
3645
3646 * choose.cc: Restore some more changes from 2001-06-25, throughout.
3647 (paint): Wrap some excessively long lines.
3648 (pick_line::paint): Ditto. Move the arrow in the "Current" column
3649 right to where it belongs. Move the source checkbox slightly to the
3650 right.
3651 (do_choose): List categories and required packages in setup.log.full.
3652
3653Sat Jun 30 23:04:59 2001 Christopher Faylor <cgf@cygnus.com>
3654
3655 * choose.cc (scan2): Restore source scanning eliminated by previous checkin.
3656
1b13eeec
CF
3657Sat Jun 30 15:18:33 2001 Christopher Faylor <cgf@cygnus.com>
3658
3659 * ini.h (struct _Info): Add "derived" element.
3660 * choose.cc (scan2): Try to place unknown tar files into proper slot
3661 when package exists in setup.ini but tar file does not.
3662
9307254d
RC
3663Sat Jun 30 13:39:00 2001 Robert Collins <rbtcollins@hotmail.com>
3664
3665 * choose.cc (create_listview): Call set_view_mode with VIEW_CATEGORY.
3666 (do_choose): Log the first category name.
3667
3467d79f
CF
3668Fri Jun 29 23:07:44 2001 Christopher Faylor <cgf@cygnus.com>
3669
3670 *ini.h: Reapply 2001-06-25 changes.
3671 * choose.cc (add_required): Ditto. Default to "Keep" state if
3672 UNINSTALL and product is installed. Default to curr state if SKIP,
3673 etc.
3674 (keep_or_skip): New function. Returns skip or keep state depending on
3675 installed state of package.
3676 (default_trust): Use keep_or_skip to set state.
3677 (_view::insert_pkg): Use calloc to allocate lines.
3678 (set_view_mode): Adapt 2001-06-25 change to set_full_list here.
3679
8f53e82a
RC
3680Sat Jun 30 11:01:00 2001 Robert Collins <rbtcollins@hotmail.com>
3681
1fb09149 3682 * choose.cc: Remove globals full_list, headers, package_indexes and
8f53e82a
RC
3683 nindexes.
3684 Add globals cat_headers, pkg_headers and chooser.
3685 (add_required): New function.
3686 (paint): Use the chooser for header details.
3687 Call into the chooser to paint each line.
1fb09149 3688 (list_click): Use new global variables.
8f53e82a
RC
3689 Call into the chooser to handle the click.
3690 Repaint the entire view if packages have been added or removed.
3691 (note_width): Get passed a headers struct rather than using a global
3692 variable.
3693 (fill_missing_category): New function.
3694 (default_trust): Skip non-"Required" or "Misc" packages.
3695 (pick_line::set_line (Package *)): New function.
3696 (pick_line::set_line (Category *)): New function.
3697 (pick_line::paint): New function.
3698 (pick_line::click): New function.
3699 (_view::_view): New function.
3700 (_view::set_view_mode): New function.
3701 (_view::mode_caption): New function.
3702 (_view::set_headers): New function.
3703 (_view::init_header): New function.
3704 (_view::insert_pkg): New function.
3705 (_view::insert_category): New function.
3706 (_view::insert_at): New function.
3707 (_view::insert_under): New function.
3708 (_view::clear_view): New function.
3709 (viewsplusplus): New function.
3710 (_view::client): New function.
3711 (set_view_mode): Use new chooser functionality.
3712 (set_full_list): Use new global variables.
3713 (create_listview): Instantiate chooser.
3714 Remove all hardcoded headers[] code.
3715 (dialog_cmd): On trust changes, check dependencies.
3716 (getcategorybyname): New function.
3717 (getpackagecategorybyname): New function.
3718 (scan2): Use case-insensitive package comparison.
3719 (do_choose): Use fill_missing_category ().
3720 Show some category data.
3721 * ini.h: Protect against multiple inclusion.
3722 (views) New enum.
3723 (_CategoryPackage): New struct.
3724 (_Category): New struct.
3725 (_Package): Change category to Category * from char *.
3726 (extern Category category): New global variable.
3727 (extern in ncategories): Ditto.
3728 (getcategorybyname): New prototype.
3729 (catpackagecategorybyname): New prototype.
3730 (register_category): New prototype.
3731 (add_category): New prototype.
3732 * iniparse.y: Parse multiple categories per package.
2dada532
CF
3733 (category): New global variable.
3734 (ncategories): New global variable.
8f53e82a
RC
3735 (new_package): Compare package against NULL, not 0.
3736 (new_requirement): Source formatting fix.
3737 (register_category): New function.
3738 (add_category): New function.
3739 * res.rc: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW.
3740 IDC_CHOOSE_VIEWCAPTION: New control.
3741 * resource.h: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW.
3742 IDC_CHOOSE_VIEWCAPTION: New control.
3743 Increment _APS_NEXT_CONTROL_VALUE.
3744
26a27c14
CF
3745Mon Jun 25 00:56:37 2001 Michael A Chase <mchase@ix.netcom.com>
3746
e19ad6a3 3747 * choose.cc (paint): Wrap excessively long lines.
26a27c14
CF
3748 (list_click): Ditto.
3749 (create_listview): Ditto.
3750 (do_choose): Ditto. Replace TABs and remove CRs in lines written to
3751 setup.log.full. Allow "Yes" for source exists in setup.log.full when
3752 installing from local directories.
3753
97312777
CF
3754Mon Jun 25 00:56:37 2001 Christopher Faylor <cgf@cygnus.com>
3755
5f9f0d8d
CF
3756 * choose.cc (set_action): Only clear srcpicked when moving to next
3757 state. Allow source installation if it exists in the current "trust"
3758 state. Don't move to skip state when package is installed.
97312777
CF
3759 (list_click): Don't allow source clicking when no source is available.
3760 (set_full_list): Display package when not is_full_action.
3761 * ini.h (is_full_action): Define.
3762
72fd1d1e
CF
3763Sun Jun 17 12:06:14 2001 Christopher Faylor <cgf@cygnus.com>
3764
3765 * install.cc (check_for_old_cygwin): New function. First stab at
3766 checking for old cygwin versions.
3767 (do_install): Call check_for_old_cygwin if there were no errors during
3768 the install.
3769
41ac91b5 3770Sat Jun 16 11:33:51 2001 Michael A Chase <mchase@ix.netcom.com>
86202506
CF
3771
3772 * choose.cc (_Info::_Info): Test _source paramenter for non-NULL rather
3773 than zeroed "source" element.
3774
80429b97
CF
3775Fri Jun 15 20:54:43 2001 Christopher Faylor <cgf@cygnus.com>
3776
3777 * choose.cc (scan2): Insert unknown tar archives, found on disk, into
3778 the highest available "hole" in the trust array.
3779
654ea642
CF
3780Fri Jun 15 00:20:48 2001 Christopher Faylor <cgf@cygnus.com>
3781
3782 * choose.cc (set_existence): Use pointer method for indexing in trust
3783 array.
3784 (create_listview): Ditto.
3785 (scan2): Ditto. Also, use consistent variable name for indexing into
3786 trust array.
3787 * ini.h (Package): Reorganize info array for easier scanning.
3788
e98d90bd
CF
3789Fri Jun 15 00:01:51 2001 Christopher Faylor <cgf@cygnus.com>
3790
3791 * choose.cc (isinstalled): Eliminate special download only test.
3792 (set_action): Don't move to next state if in ACTION_SAME range and not
3793 incrementing.
3794 (choose_caption): Display "Retrieve" rather than "Reinstall" when just
3795 downloading.
3796 (do_choose): Sort packages after all packages have been read.
3797 Accomodate the fact that first element in trust array is empty so that
3798 log files don't report the wrong trust value.
3799 * iniparse.y (new_package): Malloc space for package name or suffer
3800 memory corruption.
3801
38c97581
CF
3802Thu Jun 14 22:43:59 2001 Robert Collins <rbtcollins@hotmail.com>
3803
3804 * ini.h (Dependency): New structure. Declare new function.
3805 * inilex.l (yylex): Detect new setup.ini options - category and requires.
3806 * iniparse.y: Declare new setup.ini token values.
3807 (yyparse): Parse new token values.
3808 (new_requirement): New function.
3809
3810Thu Jun 14 22:43:26 2001 Christopher Faylor <cgf@cygnus.com>
3811
3812 * choose.cc (read_installed_db): Eliminate obsolete code.
3813
3ae6c15c
CF
3814Thu Jun 14 22:11:53 2001 Christopher Faylor <cgf@cygnus.com>
3815
3816 * choose.cc (set_action): Set trust on "redo".
3817 (_Info::_Info): New constructor.
3818 (read_installed_db): Use new constructor. Use trusts type for
3819 iterator.
3820 * ini.h (struct _Info): Label struct, add constructor.
3821 (Package): Make installed_ix a type 'trusts.'
3822 * install.cc (uninstall_one): Unset any installed info for current
3823 package.
3824 (install_one): Allocate new Info struct for installed reflecting new
3825 installed info.
3826 (do_install): Don't output line to installed.db if package is being
3827 uninstalled.
3828
9c0a9876
CF
3829Thu Jun 14 20:33:01 2001 Robert Collins <rbtcollins@hotmail.com>
3830
3831 * choose.cc (getpkgbyname): Use consistent method for scanning package
3832 array.
3833
68b27c12
CF
3834Wed Jun 13 23:33:08 2001 Christopher Faylor <cgf@cygnus.com>
3835
3836 * choose.cc: Add some comments.
3837 (getpkgbyname): Use strcasecmp for comparisons.
3838
07108cc2
CF
3839Wed Jun 13 16:07:00 2001 Christopher Faylor <cgf@cygnus.com>
3840
f0984dcb 3841 * install.cc (do_install): Avoid checking for download action if
07108cc2
CF
3842 package wasn't currently retrieved.
3843
c46a33a9
CF
3844Wed Jun 13 11:27:22 2001 Christopher Faylor <cgf@cygnus.com>
3845
3846 * choose.cc: Eliminate extra array throughout. Use element in package
3847 structure instead. Use pointers rather than array indexes where
3848 appropriate.
3849 (set_action): New function to set next action based on current.
3850 (choose_caption): New function. Returns display caption.
3851 (check_existence): Change arguments. Use pointer to 'info' structure.
3852 (set_existence): Use pointer rather than array index.
3853 (default_trust): Use trusts enum for second argument.
3854 (set_full_list): Honor exclude element in package structure.
3855 (build_labels): Eliminate.
3856 (base): Make global. Use const char * argument.
3857 (get_package_version): Eliminate.
3858 (getpkgbyname): New function.
3859 (read_installed_db): Use parse_filename to get version info.
3860 * desktop.cc (make_passwd_group): Use getpkgbyname function.
3861 * download.cc (get_file_size): const argument.
3862 (do_download): Use is_download_action to determine when something
3863 should be downloaded.
3864 * filemanip.h: Add some functions.
3865 * ini.cc (do_ini): Use NULL rather than 0 for pointer assignment.
3866 * ini.h: Use enums for actions and trusts.
3867 (is_download_action): New macro.
3868 (is_upgrade_action): Ditto.
3869 (is_uninstall_action): Ditto.
3870 (struct Package): Add new fields.
3871 * inilex.l (yylex): Detect new setup.ini options.
3872 * iniparse.y: Declare new tokens.
3873 (yyparse): Detect exclude keyword. Fill out version field even if
3874 version == 0.
3875 (new_package): Use greater granularity when allocating package array to
3876 avoid repeated calls to realloc.
3877 * install.cc (exists): const argument.
3878 (uninstall_one): Take pkg argument.
3879 (install_one): Ditto. Eliminate unneeded arguments which can be
3880 derived from package info.
3881 (do_install): Iterate over package array using a pointer. Use
3882 is_download_action to control when package should be downloaded.
3883 * tar.cc (tar_open): const argument.
3884 * tar.h: Refloect const argument.
3885
7cc06fd3
CF
38862001-05-31 Michael Chase mchase@ix.netcom.com
3887
3888 * main.cc (WinMain): Add setup version to starting setup.log entry
3889
9522028b
CF
3890Tue May 29 21:37:58 2001 Yukihiko Sohda <sohda@is.titech.ac.jp>
3891
3892 * inilex.l: Add + to list of valid string characters.
3893
e9b1aaa7
CF
3894Mon May 28 20:54:50 2001 Christopher Faylor <cgf@cygnus.com>
3895
3896 * Makefile.in: Remove more stuff in the clean target.
3897
8e1299fa
CF
3898Mon May 28 18:24:59 2001 Christopher Faylor <cgf@cygnus.com>
3899
3900 * Makefile.in: Correctly generate iniparse.h.
3901
85553593
CV
3902Tue Mar 6 19:14:00 2001 Corinna Vinschen <corinna@vinschen.de>
3903
3904 * geturl.cc (get_url_to_file): Add parameter `allow_ftp_auth'.
3905 * geturl.h: Change declaration of `get_url_to_file' accordingly.
3906 * netio.cc (NetIO::NetIO): Add parameter `allow_ftp_auth'.
3907 Set member `ftp_auth'.
3908 (NetIO::open): Add parameter `allow_ftp_auth'. Use it in calls
3909 to constructors of derived classes.
3910 (NetIO::get_ftp_auth): New method.
3911 * netio.h: Change class definition accordingly.
3912 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Add parameter `allow_ftp_auth'.
3913 Take global variables `net_ftp_user' and `net_ftp_passwd' into account.
3914 Add code for ftp authentication retry.
3915 * nio-ftp.h: Change class definition accordingly.
3916 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Add parameter `allow_ftp_auth'.
3917 Add code for ftp authentication retry in case of proxy connection.
3918 * nio-http.h: Change class definition accordingly.
3919 * res.rc: Add FTP authentication dialog.
3920 * resource.h: Add new constants used in res.rc.
3921 * state.h: Add variables `net_ftp_user' and `net_ftp_passwd'.
3922
c4174b9c
CF
3923Sun May 27 17:12:23 2001 Christopher Faylor <cgf@cygnus.com>
3924
3925 * res.rc (IDD_SPLASH): Add a copyright year.
3926
0af2d779
CF
3927Sun May 27 15:42:18 2001 Christopher Faylor <cgf@cygnus.com>
3928
3929 * Makefile.in: Make iniparse.y produce a c++ file.
3930 * choose.cc (set_existence): Revert 2001-05-27 change.
3931 * ini.cc: Remove "C" from declaration of yyparse.
3932 * iniparse.y (yyparse): Fill out version field by default when a binary
3933 install is detected and no version has been set yet.
3934 * install.cc (do_install): Mount things earlier so that we can use
3935 proper mount table settings. Don't remove mounts since they are now
3936 honored.
3937 * mount.cc (create_mount): Reread the mount table after establishing a
3938 new mount.
3939 (read_mounts): Explicitly clear root_here to allow multiple uses of
3940 this function. Ensure that there is no garbage in the table when we've
3941 exhausted all of the mounts in the registry.
3942 (cygpath): Accomodate ./ in path.
3943
85b43844
CF
3944Sun May 27 02:59:07 2001 Christopher Faylor <cgf@cygnus.com>
3945
0af2d779
CF
3946 Use parse_filename method to parse filenames throughout. Use
3947 get_root_dir to retrieve the current root directory throughout. Set
3948 const in argument list, where appropriate, throughout.
3949 * choose.cc (set_existence): Detect case of uninstalled package with no
3950 version.
85b43844
CF
3951 (parse_filename): New function.
3952 * filemanip.h (fileparse): New structure.
3953 * mount.cc (read_mounts): Remember where we found the root mount.
3954 (set_root_dir): New function.
3955 (get_root_dir): Ditto.
3956 * mount.h: Declare new functions.
3957 * site.cc (get_root_dir_now): Renamed from get_root_dir.
3958 (save_site_url): Use new function name.
3959 (get_initial_list_idx): Ditto.
3960
08f8c762
CF
3961Sat May 26 21:23:59 2001 Christopher Faylor <cgf@cygnus.com>
3962
3963 * choose.cc: Use a constant throughout to deal with chooser icon
3964 length.
3965 * res.rc (IDD_CHOOSE): Increase size of chooser box.
3966
47f8d8b3
CF
39672001-05-07 Brian Keener <bkeener@thesoftwaresource.com>
3968
3969 * choose.cc (do_choose): Fix incorrect assignment of trust setting to
3970 use when Redownload or Sources Only selected.
3971
6a748750
CF
3972Thu May 10 22:35:59 2001 Christopher Faylor <cgf@cygnus.com>
3973
3974 Reformat file after botched patch formatting.
3975 * choose.cc (which_trust): Eliminate variable.
3976 (default_trust): Don't set which_trust.
3977 (do_choose): Use selected trust when reinstalling or installing source.
3978
a351e48c
CF
3979Thu May 10 21:04:18 2001 Christopher Faylor <cgf@cygnus.com>
3980
3981 Change concat to cygpath throughout.
3982 Change map_filename to cygpath throughout.
3983 * concat.cc (vconcat): New function.
3984 (concat): Use vconcat.
3985 * concat.h: Reflect above.
3986 * install.cc (map_filename): Eliminate.
3987 (install_one): Free dest_file.
3988 * mount.cc (find2): Expect input key to be pointing to mount record.
3989 (in_table): New function.
3990 (is_admin): Move from root.cc.
3991 (read_mounts): New function.
3992 (path_prefix_p): New function.
3993 (cygpath): New function.
3994 * mount.h: Define new functions and structure.
3995 * root.cc (in_table): Move to mount.cc.
3996 (do_root): Call read_mounts to initialize root stuff and mount table.
3997 * site.cc (get_root_dir): Ditto.
3998
e227ee24
CF
39992001-05-09 Matt Hargett <matt@use.net>
4000
4001 * Makefile.in: Remove *.rc from clean.
4002
25fd2965
CF
4003Tue May 8 23:33:38 2001 Christopher Faylor <cgf@cygnus.com>
4004
4005 * choose.cc (scan2): Fix incorrect setting of TRUST_CURR rather than
4006 TRUST_PREV which produced "0" versions.
4007
42bf5b92
CF
40082001-05-07 Brian Keener <bkeener@thesoftwaresource.com>
4009
4010 * resource.h: Add new field IDC_CHOOSE_INST_TEXT. Modify
4011 _APS_NEXT_CONTROL_VALUE to account for addition of
4012 IDC_CHOOSE_INST_TEXT.
4013 * res.rc (IDD_CHOOSE): Modify choose dialog to use new field
4014 IDC_CHOOSE_INST_TEXT for screen text. Modify choose Dialog to allow
4015 hot keys to select Prev, Curr, Exp.
4016 * ini.h: Add new actions for ACTION_REDO and ACTION_SRC_ONLY. Modify
4017 define for LOOP_PACKAGES to include new actions ACTION_REDO and
4018 ACTION_SRC_ONLY.
4019 * choose.cc: Add new Trusts for TRUST_REDO and TRUST_SRC_ONLY.
4020 (paint): Modify to check TRUST_SRC_ONLY when determining Bitmap for
4021 source Checkbox to use.
4022 (build_labels): Add logic to allow for selection of Source only
4023 Download/ReDownload/Install/Reinstall and also to Redownload/Reinstall
4024 current version binary.
4025 (dialog_proc): Add conditional display for file selection prompt based
4026 on download vs install using IDC_CHOOSE_INST_TEXT.
4027 (do_choose): Add new logic for TRUST_REDO and TRUST_SRC_ONLY selection
4028 and modify logic for TRUST_UNINSTALL, TRUST_KEEP, and TRUST_NONE to
4029 handle the instance where Source Download/Install was selected. Modify
4030 log file to store appropriate information regarding Action selected and
4031 the new actions that were added (I.E.: ACTION_REDO and
4032 ACTION_SRC_ONLY).
4033 * download.cc: Add include for <unistd.h> and "port.h".
4034 (download_one): Modify parameter list to include the selected action
4035 for the file to be downloaded. Modify size check against expected size
4036 to include check for ACTION_REDO and ACTION_SRC_ONLY. Modify rename of
4037 .tmp file to also remove the destination file if exists due to ability
4038 to redownload source and binary now.
4039 (do_download): Modify to also use ACTION_REDO and ACTION_SRC_ONLY in
4040 calculation of Download Bytes. Modify to also use ACTION_REDO and
4041 ACTION_SRC_ONLY in determining files selected for download.
4042 * install.cc (uninstall_one): Add check to treat a Reinstall like an
4043 upgrade so current version will be uninstalled prior to reinstall.
4044 (do_install): Add logic to handle ACTION_REDO and ACTION_SRC_ONLY for
4045 uninstalling and installing binary and source packages.
4046 * desktop.cc (make_passwd_group): Modify logic to account for a Source
4047 only cygwin install when checking for cygwin to determine need for
4048 mkpasswd and mkgroup.
4049
4050Mon May 7 23:33:30 2001 Matt Hargett <matt@use.net>
8a09aa99
CF
4051
4052 * winsup/cinstall/res.rc: Added accelerators and improved focus order.
4053 Removed WS_DISABLED from "OK" buttons to accomodate default focus
4054 changes in net.cc and source.cc.
4055 * winsup/cinstall/net.cc (dialog_proc): If no radio button is selected,
4056 a default is selected.
4057 * winsup/cinstall/source.cc (dialog_proc): Ditto.
4058 (check_if_enable_next): Removed. No longer needed since a radio button
4059 will always be selected.
4060 (load_dialog): Removed call to check_if_enable_next.
4061 (dialog_cmd): Ditto. Also added default to switch.
4062
87bdba0c
CF
4063Tue Apr 24 23:42:02 2001 Christopher Faylor <cgf@cygnus.com>
4064
4065 * res.rc: Resize affected text.
4066
8293fc16
CF
4067Tue Apr 24 23:35:31 2001 Christopher Faylor <cgf@cygnus.com>
4068
4069 * net.cc (do_net): Default to direct download.
87bdba0c 4070 * res.rc: Move default selections to the top.
8293fc16 4071
ed96c6da
EB
40722001-04-18 Earnie Boyd <earnie@users.sourceforge.net>
4073
4074 * win32.h: Remove the definitions for _UNION_NAME and _STRUCT_NAME.
4075 Must now include <windows.h> and not the pieces.
4076 * choose.cc (create_listview): Clean up type mismatch problems.
4077 * dialog.h (NEXT(id)): Ditto.
4078 * geturl.cc (dialog): Ditto.
4079 * install.cc (dialog): Ditto.
4080 * splash.cc (load_dialog): Ditto.
4081
fe94cc29
CF
4082Wed Apr 18 18:59:21 2001 Christopher Faylor <cgf@cygnus.com>
4083
4084 * tar.cc (class gzbz): Define dummy virtual functions.
4085
fb087b80
CF
4086Wed Apr 18 16:01:21 2001 Christopher Faylor <cgf@cygnus.com>
4087
4088 * Makefile.in: Add bz2 include/library support.
4089 * filemanip.h: New file.
fe94cc29
CF
4090 * choose.cc (find_tar_ext): New function. Returns TRUE if .tar.gz or
4091 .tar.bz2 found.
fb087b80
CF
4092 (scan2): Reorganize to use find_tar_ext, accomodating .bz2 extension.
4093 (read_installed_db): Ditto.
4094 (do_choose): Ditto.
4095 * fromcwd.cc (found_file): Ditto.
4096 (do_fromcwd): Ditto.
4097 * tar.cc (class gzbz): New super class for uncompression support.
4098 (gz): New class for gzip support.
4099 (bz): New class for bzip2 support.
4100 (tar_open): Use gzbz class to control file opening.
4101 (tar_ftell): Ditto for returning position in file.
4102 (skip_file): Ditto for reading file.
4103 (tar_next_file): Ditto.
4104 (tar_read_file): Ditto.
4105 (tar_close): Ditto for close.
4106
4107 * zlib/configure.in: Force NM substitution.
4108
4109 * source.cc (do_source): Default to "Install from Internet".
4110
88bcaf07
CF
41112001-03-16 Brian Keener <bkeener@thesoftwaresource.com>
4112
4113 * nio-file.cc (NetIO_File::NetIO_File): Use `get_file_size' instead of
4114 `stat'.
4115 * choose.cc (list_click): Correct inability to select source code for
4116 download.
4117 (scan2): Modify to skip source tarballs when scanning disk for
4118 installable packages.
4119
ef45c299
CV
41202001-03-10 Chris Abbey <chris_abbey@yahoo.com>
4121
4122 * install.cc: install sources into /usr/src instead
4123 of /, also include the sizes of source tarballs
4124 in total_bytes.
4125 * download.cc: include sizes of source tarballs in
4126 total_download_bytes.
4127
9fe1181b
CV
4128Tue Mar 6 19:31:00 2000 Corinna Vinschen <corinna@vinschen.com>
4129
4130 * download.cc (get_file_size): Remove `static'.
4131
2bfdb848
CV
4132Tue Mar 6 19:11:00 2000 Corinna Vinschen <corinna@vinschen.com>
4133
4134 * tar.cc (tar_open): Use `get_file_size' instead of `stat'.
4135
60c632b3
CV
41362001-03-06 Brian Keener <bkeener@thesoftwaresource.com>
4137
4138 * choose.cc (paint): Modify message for nothing to download vs
4139 nothing to install/update based on installation method.
4140 (list_click): Modify to skip versions in selection process if
88bcaf07 4141 installing from local directory and installation file does not exist.
60c632b3
CV
4142 Also leaves Source Action set to N/A if the source file does not exist
4143 and installing from local directory.
4144 (check_existence): New method to check current existence of installation
4145 files based on selected installation method.
4146 (set_existence): New method to set the current existence of installation
4147 files based on selected installation method.
4148 (best_trust): Modify decision process for best trust to base decision on
4149 current trust selected (IE: Prev, Curr, or Test), existence of file and
4150 installation method selected.
4151 (default_trust): Add logic to capture the current trust level and the
4152 trust selected for the given package.
88bcaf07 4153 (set_full_list): Expand decision criteria for displaying a package in
60c632b3
CV
4154 the selection list to include file existence/non-existence and selected
4155 installation method.
4156 (build_labels): Modify criteria for label addition to include
4157 installation method and file existence/non-existence.
88bcaf07 4158 (create_listview): Modify to establish package trust level for each
60c632b3
CV
4159 package before setting up the display list. Also modification to set
4160 current trust button as the default.
88bcaf07 4161 (dialog_cmd): Set response for Prev, Curr, Test button push to perform
60c632b3
CV
4162 a reset of the selection list in addition to setting the default trust.
4163 (get_package_version): New method to provide reusable code for
4164 determining the package version from the file name for a specified
4165 trust.
4166 (scan2): Modify to use new method get_package_version and
4167 also enhance handling of the build for the structures package and
4168 extra.
4169 (read_installed_db): Modify to use the new method
4170 get_package_version and also enhance handling of the build for the
4171 structures package and extra.
88bcaf07 4172 (do_choose): Add additional initialization of package and extra
60c632b3
CV
4173 structures. Modify to use read_installed_db all the time despite
4174 install method. Modify output to setup.log.full log file to increase
4175 readability by adding additional spacing, expanded code and available
4176 versions.
4177 * ini.h: Add new fields install_exists, source_exists and
88bcaf07 4178 partial_list_display to the structure definition for package.
60c632b3
CV
4179 * res.rc (IDD_CHOOSE): Modify choose dialog Prev, Curr, and Test
4180 pushbuttons by replacing with Radio Buttons thus allowing the
4181 operator to better determine which is selected.
4182
2f9645a1
CV
41832001-02-20 Brian Keener <bkeener@thesoftwaresource.com>
4184
88bcaf07 4185 * download.cc (do_download): Add new variables total_download_bytes and
2f9645a1
CV
4186 total_download_bytes_sofar for download progress meter. Add loop
4187 to accumulate the total bytes to download from the selected packages.
4188 * geturl.cc: Add state.h and diskfull.h to include list. Add new
4189 variables gw_iprogress, gw_pprogress, gw_progress_text,
4190 gw_pprogress_text, and gw_iprogress_text to allow for addition of
4191 total packages download progress meter and disk full percent
4192 progress meter. Add variables total_download_bytes and
4193 total_download_bytes_sofar for use by progress meters.
88bcaf07
CF
4194 (dialog_proc): Add new variables gw_iprogress, gw_pprogress,
4195 gw_progress_text, gw_pprogress_text, and gw_iprogress_text to
4196 allow for addition of total packages download progress meter and disk
4197 full percent progress meter.
2f9645a1
CV
4198 (init_dialog): Ditto.
4199 (progress): Ditto.
4200 (get_url_to_file): Ditto.
4201 * geturl.h: Add external definition for total_download_bytes and
4202 total_download_bytes_sofar.
88bcaf07 4203 * res.rc: Add two additional progress meters (IDC_DLS_IPROGRESS)
2f9645a1
CV
4204 and (IDC_DLS_PPROGRESS) and three text objects (IDC_DLS_PROGRESS_TEXT)
4205 and (IDC_DLS_IPROGRESS_TEXT, IDC_DLS_PPROGRESS_TEXT) for use in the
4206 download meters.
88bcaf07 4207 * resource.h: Add new fields for progress meters and text and update
2f9645a1
CV
4208 _APS_NEXT_CONTROL_VALUE.
4209
b41962a3
CV
4210Wed Feb 21 13:05:00 2000 Corinna Vinschen <vinschen@redhat.com>
4211
4212 * download.cc (get_file_size): Check for INVALID_HANDLE_VALUE instead
4213 for NULL.
4214
4215Wed Feb 21 11:21:00 2000 Corinna Vinschen <vinschen@redhat.com>
01954c34
CV
4216
4217 * download.cc (download_one): Add missing parenthesis.
4218
88a77116
CV
4219Mon Feb 19 18:59:00 2000 Corinna Vinschen <vinschen@redhat.com>
4220
4221 * download.cc (get_file_size): New function. Eliminates the need
4222 to call `stat'.
4223 (download_one): Call `get_file_size' instead of `stat'. This
4224 workarounds a problem with mingw's `stat' call.
4225
577f35ed
EB
42262001-02-07 Earnie Boyd <earnie@users.sourceforge.net>
4227
4228 * Makefile.in: (%.o: %.rc): Specify --include-dir $(w32api_include).
4229 This is to allow cinstall to build with 2.95.2-7 and to make the
4230 use of headers consistent.
4231
38f5563e
DD
42322000-12-26 Earnie Boyd <earnie_boyd@yahoo.com>
4233
4234 * Makefile.in (autoload.o): Add target to specify -fno-inline-functions
4235
c0a7e0f2
DD
4236Tue Dec 26 03:46:00 2000 Matt Hargett <matt@use.net>
4237
4238 * winsup/cinstall/res.rc: Added accelerators and improved focus
4239 order.
4240
72826a5b
CF
42412000-12-10 Egor Duda <deo@logos-m.ru>
4242
4243 * choose.cc (paint): Use system background color for text output.
4244
4245Sun Dec 10 19:05:25 2000 Christopher Faylor <cgf@cygnus.com>
4246
4247 * Makefile.in: Use CXX for linking and for compiling .cc files.
4248 * configure.in: Find correct c++ compiler.
4249 * configure: Regenerate.
4250
67bebcb5
DD
42512000-11-17 DJ Delorie <dj@redhat.com>
4252
4253 * splash.cc (load_dialog): Make message more obvious.
4254 * res.rc: Ditto.
4255
25fb9139
CF
4256Fri Nov 17 17:15:21 2000 Christopher Faylor <cgf@cygnus.com>
4257
4258 * Makefile.in: Use g++ to link so that libstdc++.a gets used. This is
4259 necessary for newer compilers.
4260
ef2007fd
CV
4261Wed Nov 9 2:19:00 2000 Corinna Vinschen <vinschen@redhat.com>
4262
4263 * desktop.cc: Include "ini.h" and "version.h".
4264 (make_passwd_group): Skip the function on 9x/ME boxes when an
4265 older version of Cygwin has been installed which doesn't
4266 support mkpasswd/mkgroup on 9x/ME.
4267 * install.cc: Move the `LOOP_PACKAGES' and `pi' macros to...
4268 * ini.h: ...here.
4269
277b4d56
CV
4270Wed Nov 8 17:10:00 2000 Corinna Vinschen <vinschen@redhat.com>
4271
4272 * desktop.cc (make_passwd_group): Don't exit when started
4273 on 9x/ME since mkpasswd/mkgroup are usable on 9x/ME now.
4274
f8a6415f
DD
4275Sun Nov 5 12:51:42 2000 Jason Tishler <jt@dothill.com>
4276
4277 * install.cc (do_install): Add call to set_cygdrive_flags to sync
4278 the mount modes.
4279 * mount.cc (set_cygdrive_flags): New function.
4280 (get_cygdrive_flags): Ditto.
4281 (default_cygdrive): Ditto.
4282 (set_cygdrive_flags): Ditto.
4283 * mount.h: Add prototype for set_cygdrive_flags.
4284
3b9077d4
DD
42852000-10-23 DJ Delorie <dj@redhat.com>
4286
4287 * ini.h: add source actions
4288 * fromcwd.cc: check for available sources
4289 * res.rc: add checkbox bitmaps
4290 * resource.h: ditto
4291 * check-*.bmp: new
4292 * choose.cc: add source column
4293 * download.cc: download sources if called for
4294 * install.cc: [un]install sources too
4295
1b1b33ac
DD
42962000-10-22 DJ Delorie <dj@redhat.com>
4297
4298 * choose.cc (build_labels): Don't skip TRUST_PREV completely; only
4299 ignore it wrt full_list if there's already a version installed.
4300 (do_choose): Sort the list.
4301 (package_sort): New.
4302
2a1a01e0
DD
43032000-10-12 DJ Delorie <dj@redhat.com>
4304
4305 * res.rc: Add more error strings.
4306 * resource.h: Ditto.
4307 * iniparse.y (new_package): re-initialize if needed.
4308 * download.cc (do_download): Keep track of errors; notify and
4309 allow retry.
4310 * install.cc (do_install): Ditto.
4311
1a9886fe
DD
43122000-10-05 DJ Delorie <dj@redhat.com>
4313
4314 * Makefile.in: fix %.cc rule
4315
40aef45e
DD
43162000-10-04 DJ Delorie <dj@redhat.com>
4317
4318 * desktop.cc: quote HOME and USER, don't . ./.profile
4319
4320 * choose.cc (build_labels): don't include in partial list just
4321 because there's a *previous* version available.
4322
4323 * install.cc (do_install): if installing from local directory with
4324 setup.ini and the file isn't found, look in "." also. Note errors.
4325
dd3f7f9b
DD
43262000-10-02 DJ Delorie <dj@redhat.com>
4327
4328 * ini.cc (do_ini): save setup.ini locally
4329
43302000-10-02 Chris Abbey <cabbey@bresnanlink.net>
4331
4332 * desktop.cc: quote escapes in prompt
4333
fee2a8d0
DD
43342000-10-02 Jason Tishler <jt@dothill.com>
4335
4336 * root.cc (is_admin): New function.
4337 (read_mount_table): Check for administrative priviledges and set
4338 installation scope as appropriate.
4339
a03db251
DD
43402000-09-28 DJ Delorie <dj@redhat.com>
4341
4342 * nio-ftp.cc (ftp_line): handle continuations more robustly
4343
b151e01e 43442000-09-14 Brian Keener <bkeener@thesoftwaresource.com>
0b758d4c
DD
4345
4346 * res.rc: increased the size of the site dialog (IDD_SITE) & the
4347 corresponding list box to provide for more URL's to be listed.
4348 Modified the position of the Back, Next and Cancel buttons to
4349 correspond to the new size of the dialog.
4350
d07591a3
DD
43512000-09-13 DJ Delorie <dj@redhat.com>
4352
4353 * install.cc (do_install): update disk fullness once per package
4354 to improve performance
4355
4356 * choose.cc (create_listview): call ReleaseDC
4357
89725f30
DD
4358Mon Sep 11 22:40 2000 Harold L Hunt II <harold@compasstechnologies.com>
4359
4360 * mkdir.cc: Create directories when ERROR_FILE_NOT_FOUND is
4361 returned, as it seems Samba 2.0.6+ returns this instead of
4362 ERROR_PATH_NOT_FOUND
88bcaf07 4363
6fbc690d
CF
4364Mon Sep 11 19:35:24 2000 Christopher Faylor <cgf@cygnus.com>
4365
4366 * site.cc (get_initial_list_idx): Don't default to saved URL if it
4367 refers to sources.
4368
13d27274
DD
43692000-09-07 DJ Delorie <dj@redhat.com>
4370
4371 * splash.cc: use version.h, not local decl
4372 * res.rc: add "old version" message
4373 * resource.h: ditto
4374 * version.h: new
4375 * fromcwd.cc (canonicalize_version): make global
89725f30
DD
4376 * iniparse.y: add setup-version support, fix bug in blank line
4377 handling
4378
13d27274
DD
4379 * inilex.l: add [exp] as alias for [test], add setup-version
4380 * Makefile.in (version.c): add setup-version tag
4381
4382 * desktop.cc (do_desktop): remove 1.1 version number
4383 (do_desktop_setup): ditto
4384
4385 * ini.cc (do_ini): zero out package list just in case we redo it.
4386
8cfbc487
DD
43872000-09-07 Jeffrey Juliano <juliano@cs.unc.edu>
4388
4389 * choose.cc (list_click): Check for nindexes==0; if so, return.
4390
c92e1307
DD
43912000-09-06 Andrej Borsenkow <Andrej.Borsenkow@mow.siemens.ru>
4392
4393 * localdir.cc: new, local package directory selection dialog; cd
4394 into selected directory
4395 * Makefile.in (OBJS): add localdir.o
4396 * dialog.h: add prototype for do_local_dir
4397 * main.cc (WinMain): initialize local_dir to cwd; add call to
4398 do_local_dir
4399 * net.cc (dialog_cmd): make DO_LOCAL_DIR next dialog
4400 * source.cc (dialog_cmd): ditto
4401 * res.rc: add DO_LOCAL_DIR dialog; remove "current directory" from
4402 presented choices in IDD_SOURCE; add IDS_ERR_CHDIR error string
4403 * resource.h: defines for DO_LOCAL_DIR dialog; define IDS_ERR_CHDIR
4404 * root.cc (dialog_cmd): make DO_LOCAL_DIR previous dialog
4405 * state.h: add local_dir variable
4406
44072000-09-06 Brian Keener <bkeener@thesoftwaresource.com>
50225eae
DD
4408
4409 * desktop.cc: added logic to handle to the new dialog and to
4410 default the setting for the new checkboxes based on whether the
4411 desktop icon or start menu link already exist.
4412 (desktop_icon): correction to desktop directories for desktop icon
4413 creation. Additional logic added for Win95 which does not appear
4414 to have Common Directories so if Common selected and null uses
4415 normal directory.
4416 (start_menu): Additional logic added for Win95 which does not
4417 appear to have Common Directories so if Common selected and null
4418 uses normal directory.
4419 (do_desktop_setup): moved the saving of the icon, creation of the
4420 bat file, profile, passwd, Start Menu link and desktop shortcut to
4421 this method from do_desktop. Made the creation of the desktop
4422 icon and start menu link conditional on settings of new dialog
4423 created for desktop.
4424 * install.cc (do_install): changed next from IDD_S_DESKTOP to
4425 IDD_DESKTOP.
4426 * main.cc (WinMain): changed case IDD_S_DESKTOP to IDD_DESKTOP.
4427 * res.rc: added new resource to create a desktop dialog with 2
4428 checkboxes for creating the desktop icon and start menu link.
4429 * resource.h: changed IDD_S_DESKTOP to IDD_DESKTOP and added two
4430 new controls: IDC_ROOT_MENU and IDC_ROOT_DESKTOP for new dialog.
4431 * state.h: added root_menu and root_desktop for use in dialog.
4432
4a83b7b0
DD
44332000-08-29 DJ Delorie <dj@redhat.com>
4434
4435 * choose.cc (scan_downloaded_files): scan for existing files, so
4436 that the user only sees new downloads.
4437
4438 * nio-ie5.cc (NetIO_IE5): pre-check for wininet.dll, enable dial-up
4439 * site.cc (do_site): if we can't download the mirror list, go back
4440 to the net setup box to choose another transport.
4441 * autoload.c: add more functions
4442 * Makefile.in (ALL_DEP_LDLIBS): remove wininet.a
4443 * resource.h: add WININET message
4444
4445 * net.cc (do_net): no longer default to IE5
4446 * simpsock.h (class SimpleSocket): new, simplify socket operations
4447 * simpsock.cc: ditto
4448 * nio-http.h: new, for direct http protocol
4449 * nio-http.cc: ditto
4450 * nio-ftp.h: new, for direct http protocol
4451 * nio-ftp.cc: ditto
4452 * netio.cc (set_url): move initialization here to handle redirections
4453 (open): add direct http/ftp
4454 * netio.h (NetIO::set_url): new
4455
4456 * log.cc (log_save): create directory for log if needed
4457
4458 * hash.cc, hash.h: new
4459 * Makefile: add hash.o
4460 * choose.cc: enable "uninstall" option
4461 * download.cc: invert action test to accomodate uninstalling
4462 * ini.h: add ACTION_UNINSTALL
4463 * install.cc: add uninstall functionality
4464 * res.rc: make install tag changeable
4465 * resource.h: add uninstall resources
4466
4467 * res.rc: update mirror list URL
88bcaf07 4468
50f64a4b
DD
44692000-08-24 DJ Delorie <dj@redhat.com>
4470
89b1a15b
DD
4471 * log.cc, log.h: new files
4472 * Makefile.in (OBJS): add log.o
4473 * tar.cc: use exit_setup instead of exit
4474 * dialog.cc (fatal): use exit_setup instead of ExitProcess
4475 * msg.cc (fatal): ditto
4476 * install.cc (dialog_cmd): ditto
4477 * ini.cc (do_ini): ditto
4478 * main.cc (main): add logging
4479 * source.cc (do_source): ditto
4480 * root.cc (do_source): ditto
4481 * site.cc (do_site): ditto
4482 * other.cc (do_other): ditto
4483 * net.cc (do_net): ditto
4484 * choose.cc (do_choose): ditto
4485 * download.cc (do_download): ditto
4486 * install.cc (do_install): ditto
4487 * msg.cc (fatal): ditto
4488
4489 * res.rc: mark password boxes as *being* password boxes.
4490
50f64a4b
DD
4491 * fromcwd.cc (canonicalize_version): use multiple buffers so that multiple
4492 calls won't use the same buffer.
4493 * choose.cc (create_listview): don't default to full list if no changes
4494 (base): return computed value, not temporary :-(
4495 (do_choose): don't use installed.db if we're only downloading.
4496
348860fa
DD
44972000-08-23 DJ Delorie <dj@redhat.com>
4498
4499 * nio-ie5.cc (NetIO_IE5): Fix authentication logic
4500 * nio-ie5.h (flush_io): new
4501 * netio.cc (load_dialog): note when we're initializing the dialog
4502 box, and ignore changes to the edit fields then.
4503
5f48f258
DD
45042000-08-21 DJ Delorie <dj@redhat.com>
4505
4506 * README: Update
4507
4508 * fromcwd.cc (found_file): don't remember the canonicalized version
4509
4510 * choose.cc (paint): print "nothing to do" message when list is empty.
4511 (build_labels): Use version "0.0" if no version is available.
4512 (create_listview): default to full list if nothing to install/update.
4513 (base): new, returns basename of file
4514 (read_installed_db): compare base names, not full paths
4515
713bbe5f
DD
45162000-08-11 DJ Delorie <dj@redhat.com>
4517
4518 * choose.cc: add new chooser dialog
4519 * fromcwd.cc: use IDD_CHOOSE
4520 * ini.cc: use IDD_CHOOSE
4521 * main.cc: use IDD_CHOOSE
4522 * ini.h: cosmetic changes
4523 * res.rc: add choose dialog, bitmaps
4524 * choose-spin.bmp: new
4525 * choose-rtarrow.bmp: new
4526 * resource.h: add choose dialog controls
4527
4528 * mount.cc: remove debug statement
88bcaf07 4529
2e9cbac5
DD
45302000-08-08 DJ Delorie <dj@redhat.com>
4531
4532 * Makefile.in (version.c): make version checking more robust
4533 * splash.cc (load_dialog): handle case where there's no version
4534
8507f105
DD
45352000-08-07 DJ Delorie <dj@redhat.com>
4536
4537 * (all): add cvsid tags
4538 * Makefile.in: generate version.c from ChangeLog, add splash.o
4539 * splash.o: new
4540 * res.rc: add splash screen
88bcaf07 4541
f5d0464b
DD
45422000-08-02 DJ Delorie <dj@redhat.com>
4543
4e8ff53f
DD
4544 * net.cc: remove proxy password code
4545 * res.rc: remove proxy user/pass from net, add auth dialogs
4546 * netio.cc,h: add sys/proxy auth methods
4547 * nio-ie5: use them, check for http status codes
4548 * state.h: add system authorization
4549
f5d0464b
DD
4550 * concat.cc (concat): canonicalize x:// to x:/ (exception to ://
4551 meaning an url)
4552
76cbfa85
DD
45532000-08-02 Norman Vine <nhv@yahoo,com>
4554
4555 * msg.cc (mbox): added MB_TOPMOST to MessageBox type flags
4556
e92c4436
DD
45572000-08-01 DJ Delorie <dj@redhat.com>
4558
bf74c544
DD
4559 * postinstall.cc (each): don't rename files we ignore
4560 (do_postinstall): set CYGWINROOT to root_dir, chdir there
4561
e92c4436
DD
4562 * desktop.cc: have /etc/profile call ~/.profile and ~/.bashrc
4563
a6100861
DD
45642000-07-31 DJ Delorie <dj@redhat.com>
4565
4566 * desktop.cc: reverse PATH so /usr/bin precedes /bin
4567
b11b49f3
DD
45682000-07-18 DJ Delorie <dj@redhat.com>
4569
a99bdfd8
DD
4570 * autoload.c: new, autoload dlls that might not be available.
4571 * Makefile.in (OBJS): add autoload.o
4572
4573 * res.rc: rewrite root options (text/binary, system/user) to be
4574 more obvious.
4575
b5b282c4
DD
4576 * site.cc (get_site_list): trim displayed URL, sort by domain
4577
4578 * net.cc (do_net): make IE5 default to checked, for now
4579
b11b49f3
DD
4580 * choose.cc (do_choose): sort packages correctly
4581 * ini.cc (do_ini): handle parse errors more gracefully
4582 (yyerror): ditto
4583 (fprintf): line buffer output
b5b282c4 4584 (do_ini): if we can't load setup.ini, go back to the site list.
b11b49f3
DD
4585 * ini.h: add "unknown" trust level
4586 * inilex.l: absorb unknown trust levels and key/value pairs,
4587 add line number logic
4588 * iniparse.y: handle parse errors more gracefully.
4589 * install.cc: skip packages with no valid install entry
4590
1fd6d0a2
DD
45912000-07-17 DJ Delorie <dj@cygnus.com>
4592
4593 * coding standards fixups, many files
4594 * mkdir.cc: warn about deletions *before* deleting them
4595
ed3e8b9b
DD
45962000-07-17 Jeff Juliano <juliano@cs.unc.edu>
4597
4598 * res.rc (IDD_OTHER_URL): reorder to give default focus to entry
4599
4600 * other.cc (dialog_cmd): save download site URL
4601 * site.cc (get_root_dir): new
4602 (save_mirror_site): new
4603 (dialog_cmd): save download site URL
4604 (get_site_list): make list big enough to add prev site
4605 (get_initial_list_idx): new, read last-used URL from file and
4606 append it to site_list
4607 (do_site): call get_initial_list_idx
4608
4609 * concat.cc (concat): avoid segfault when first parm is null
88bcaf07 4610
f57c332f
DD
46112000-07-13 DJ Delorie <dj@cygnus.com>
4612
4613 * postinstall.cc: new
4614 * Makefile.in: add postinstall.o
4615 * concat.h: add backslash ()
4616 * concat.cc: ditto
4617 * desktop.cc (etc_profile): don't do postinstall
4618 (backslash): moved to concat.cc
4619 (uexists): new
4620 (make_postinstall_script): run directly
4621 (do_desktop): chain to do_postinstall
4622 * dialog.h: add exit_msg, do_postinstall
4623 * download.cc: use exit_msg
4624 * install.cc: ditto
4625 * main.cc: add postinstall, exit_msg
4626 * resource.h: add postinstall
d6cda811 4627 * README: add more to-do items
f57c332f 4628
3a8e3956
DD
46292000-07-12 DJ Delorie <dj@cygnus.com>
4630
4631 * desktop.cc: add /etc/postinstall/ support
1a18aed7 4632 * install.cc: add more "standard" directories
3a8e3956 4633
e0c3d906
DD
46342000-07-11 DJ Delorie <dj@cygnus.com>
4635
4636 * desktop.cc: create /etc/profile
ad09bcd9
DD
4637 * desktop.cc: fix include syntax
4638 * Makefile.in: add auto-dependencies
24e259bb
DD
4639 * root.cc: support system vs user
4640 * desktop.cc: ditto
4641 * mount.h: ditto
4642 * mount.cc: ditto
4643 * install.cc: ditto
4644 * res.rc: ditto
4645 * resource.h: ditto
4646 * state.h: ditto
84d58d4c 4647 * desktop.cc: make sure we use backslashes, not slashes.
bf1d5889
DD
4648 * desktop.cc: don't set PATH in cygwin.bat, create /etc/passwd
4649 * geturl.cc: change math for percentage to avoid overflow
4650 * install.cc: ditto
4651 * download.cc: post "download complete" message.
4652 * root.cc: pre-fill in defaults if needed, don't start
4653 browse at root_dir unless it's set.
a3f48e18 4654 * desktop.cc: quote $PATH in case it has spaces in it
88bcaf07 4655
904d24fe
DD
46562000-07-10 DJ Delorie <dj@cygnus.com>
4657
4658 * Makefile.in: add desktop.o and mklink2.o
4659 * dialog.h: add do_desktop
4660 * install.cc: create standard directories, call do_desktop
4661 * res.rc: add cygwin.ico as a file also
4662 * desktop.cc: new, do shortcuts, batch files, and icons
4663 * mklink2.c: new, for COM
1ab805b8 4664 * README: update to-do list
904d24fe 4665
04d6e06b
DD
46662000-07-10 DJ Delorie <dj@cygnus.com>
4667
4668 * ini.cc (do_ini): don't worry about timestamps if we're not
88bcaf07 4669 actually installing.
04d6e06b 4670
5601a13d
DD
46712000-07-09 DJ Delorie <dj@cygnus.com>
4672
4673 * Makefile.in: add -I$(srcdir) for ini.h
4674
23c9e63c
DD
46752000-07-06 DJ Delorie <dj@cygnus.com>
4676
4677 * Replace everything with a new GUI version
4678 * zlib/gzio.c: add gzctell() for progress displays
4679
46802000-06-22 DJ Delorie <dj@cygnus.com>
4681
4682 * setup.c (tarx): re-add call to write_pkg()
4683
aa32874b
DD
46842000-06-07 DJ Delorie <dj@cygnus.com>
4685
4686 * cygcalls.c: new, call cygwin1.dll functions directly
4687 * cygcalls.h: header for same
4688 * Makefile.in: add cygcalls.[ch], remove mount/cygpath/umount
4689 exes, fix cinstall.rc dependencies.
4690 * path.c: remove unneeded code
4691 * setup.c: use cygcalls instead of xcreate_process.
4692 uncompress embedded files with zlib
4693 add "-d" for "download only"
4694 add "-h" for help
4695 postpone mount changes until very end
4696 add download progress indicators
4697 pack multi-column listings more
4698 auto-delete temp files
4699 customize banner message according to options
4700 prompt user for text/binary mounts
4701 add warnings about empty setup directory, root installs, etc
4702
99d1bf2d
DD
47032000-05-24 DJ Delorie <dj@cygnus.com>
4704
4705 * tar.c: New file; built-in tar using zlib.
4706 * tar.h: New file; header for same.
4707 * ctar.c: New file; test program for same.
4708 * Makefile.in: add built-in tar, remove tar.exe and gzip.exe
4709 * path.c (pathcat): convert slashes and canonicalize, instead of aborting
4710 * setup.c (tarx): add support for built-in tar
4711 (main): accept unix-style slashes, check root dir for drive letters,
4712 warn about installing in /, make sure cwd is empty for internet installs,
4713 defer mounts to end of install, support built-in tar.
4714
55650749
CF
4715Fri May 19 23:44:37 2000 Christopher Faylor <cgf@cygnus.com>
4716
4717 Fix compiler warnings throughout.
4718 * pkg.c (init_pkgs): Make static 'stuff' global_pkgstuff for use in
4719 get_pkg_stuff.
4720 * setup.c: Make 'root' global.
4721 (istargz): Return pointer to "stem" of matched .tar.gz file.
4722 (tarx): Special case cygwin-20000301 to == cygwin-1.1.0.tar.gz. Remove
4723 bogus check_for_installed check.
4724 (recurse_dirs): Add preliminary support for .bat file execution.
4725 (create_uninstall): Eliminate unneeded parameter.
4726 (do_start_menu): Ditto.
4727 (mkmount): Ditto.
4728 (get_pkg_stuff): Ditto. Check for currently installed cygwin by
4729 scanning for the version number. Eliminate unneeded argument to
4730 create_uninstall.
4731 (getdownloadsource): Add 'name' to list of names rather than url.
4732 (main): Eliminate unneeded argument in get_pkg_stuff. Eliminate
4733 unneeded argument in mkmount and do_start_menu.
4734
f4dda8f0
DD
47352000-05-18 DJ Delorie <dj@cygnus.com>
4736
4737 * setup.c (optionprompt): allow multi-column, clean up message
4738 about more options, be more robust about user input.
4739 (getdownloadsource): make the mirror URL a macro.
4740 (main): do mounts after done prompting user.
4741
62844d84
CF
4742Tue May 2 00:56:41 2000 Christopher Faylor <cgf@cygnus.com>
4743
4744 * setup.c (cleanup): Inverse order of deletion stands a better chance
4745 of deleting cygpath.exe. Still seems to suffer from occasional races,
4746 though.
4747 (cleanup_on_signal): Perform convoluted dance to accomodate win95 and
4748 w2k.
4749 (output_file): Defend against an unlikely handle leak.
4750 (main): Don't set up signal handling until we have something special to
4751 do.
4752
ad6749c8
CF
4753Mon May 1 17:56:32 2000 Christopher Faylor <cgf@cygnus.com>
4754
4755 * path.c (kill_cygpath): Delete function.
4756 (exit_cygpath): Make more defensive so that it can be called at any
4757 time.
4758 (cygpath_pipe): Don't set up signal here. Do it in main().
4759 * setup.c (istargz): New function.
4760 (recurse_dirs): Look for *.gz pattern rather than *tar.gz since *tar.gz
4761 inexplicably fails on samba mounted partitions. Use istargz to match
4762 tar.gz tail.
4763 (processdirlisting) Use istargz to match tar.gz tail.
4764 (cleanup): Renamed from filedel.
4765 (cleanup_on_signal): New function. Called on CTRL-C.
4766 (main): Record handle of main thread so that it can be suspended when
4767 CTRL-C occurs. Set up cleanup_on_signal signal handler.
4768
460cf7b6
CF
4769Mon May 1 11:05:07 2000 Christopher Faylor <cgf@cygnus.com>
4770
4771 * setup.c (do_start_menu): Don't concatenate paths to already built
4772 paths.
4773
9e76799c
CF
4774Sun Apr 30 22:37:34 2000 Christopher Faylor <cgf@cygnus.com>
4775
4776 * path.c (exit_cygpath): Wait for subprocess to exit before returning.
4777 (cygpath_pipe): Don't call exit_cygpath. Let main atexit routine do
4778 that.
4779 * pkg.c (init_pkgs): Accept root argument. Make registry key "cygwin
4780 root"-specific.
4781 * setup.c (filedel): Call exit_cygpath here so that we can be assured
4782 that cygpath subprocess has died. This allows us to delete cygpath.exe
4783 and cygwin1.dll.
4784 (optionprompt): Initialize response to -1 so that second screen of
4785 mirrors will appear.
4786 (get_pkg_stuff): Don't attempt to use HKCLU. Pass root to init_pkgs.
4787 * setup.h: Reflect init_pkgs prototype change.
4788
2cf65e6e
CF
4789Sat Apr 29 23:53:30 2000 Christopher Faylor <cgf@cygnus.com>
4790
4791 * pkg.c (init_pkgs): Accept an argument to control what root registry
4792 key should be used.
4793 * setup.c (get_pkg_stuff): Use HKCLU registry key if default fails.
4794 * setup.h: Reflect init_pkgs prototype change.
4795
4796Sat Apr 29 23:27:14 2000 Christopher Faylor <cgf@cygnus.com>
4797
4798 * error.c (winerror): Respond to gcc warning.
4799 * path.c (cygpath_pipe): Ditto.
4800 * setup.c (filedel): Call sa_cleanup on deleteme.
4801 (create_shortcut): Coerce argument to eliminate compiler warning.
4802 (tarx): Use installed version of cygwin1.dll, overriding tar file name.
4803 (refmatches): New function. Tests if ref is contained in a list of
4804 packages to install.
4805 (filematches): New function. Tests if filename matches one of a list
4806 of packages to install.
4807 (recurse_dirs): Accept list of packages to install. Generalize tar.gz
4808 test to accomodate _tar.gz.
4809 (prompt): Ensure that stdout is flushed prior to asking for input.
4810 (findhref): Initialize variables to quiet a compiler warning.
4811 (processdirlisting): Accept list of packages to install. Special case
4812 cygwin tar file version number.
4813 (downloaddir): Accept list of packages to install.
4814 (downloadfrom): Ditto.
4815 (create_uninstall): Eliminate unneeded variables. Quote arguments to
4816 regtool.
4817 (do_start_menu): Don't create uninstall bat file if updating or user
4818 specified a list of packages.
4819 (mkmount): Eliminate unneeded variables.
4820 (get_pkg_stuff): New function. Checks for previous unversioned
4821 installation.
4822 (main): Accept -u and -f options and package names on the command line.
4823 Use get_pkg_stuff to initialize package information. Umount /etc.
4824 Call recurse_dirs and downloadfrom with list of package to install.
4825 Ensure that all /usr/local directories are created. Output
4826 installation time to setup.log.
4827 * setup.h: Add some prototypes.
4828 * xsystem.c (xcreate_process): Eliminate unneeded variable.
4829
4cf88dd9
CF
4830Sat Apr 29 12:43:08 2000 Christopher Faylor <cgf@cygnus.com>
4831
4832 * setup.c (optionprompt): Don't overlap display of already seen options
4833 on next page.
4834 (geturl): Print name of site which we're connecting to rather than "ftp
4835 site".
4836 (processdirlisting): Avoid URLs that contain a /. or ./ . Is this
4837 test too simplistic?
4838 (do_start_menu): Use pathcat to build path to <root>\bin to avoid
4839 problems when user chooses x:\ as their root.
4840 (main): For now, default to "non-update" mode. Allow -u option to
4841 signify an update.
4842
36591a07
CF
4843Sat Apr 29 00:26:06 2000 Christopher Faylor <cgf@cygnus.com>
4844
4845 * pkg.c: New file.
4846 * setup.c (tarx): Skip already installed or older packages. Report
4847 when a package has been updated.
4848 (processdirlisting): Skip already installed or older packages.
4849 (main): Detect -f option for forced installation. Initialize pkg stuff
4850 if appropriate.
4851 * setup.h: Add pkg definitions.
4852
c298ea4a
CF
4853Thu Apr 27 14:21:30 2000 Christopher Faylor <cgf@cygnus.com>
4854
4855 * setup.c (findhref): Return NULL on empty string. Eat any trailing
4856 ";something".
4857 (processdirlisting): Attempt to limit recursively processing the same
4858 directory.
4859
f4cafa7e
CF
4860Thu Apr 27 11:42:23 2000 Christopher Faylor <cgf@cygnus.com>
4861
4862 * setup.c (filedel): New function.
4863 (output_file): Keep track of files extracted from setup.exe for
4864 subsequent deletion.
4865 (tarx): Close process handle of child tar process or suffer handle
4866 leak.
4867 (getdownloadsource): Close mirror file so that it can be unlinked.
4868 (processdirlisting): Return total number of files extracted.
4869 (main): Initialize array of files to delete. Ensure that files are
4870 closed on exit. Make the directory that setup.exe is started from ==
4871 the directory where temporary files are placed. Issue an error if no
4872 files were found to download.
4873 * xsystem.c (xcreate_process): Close the thread handle. Close the
4874 process handle if we waited for it to exit.
4875
cd475210
CF
4876Thu Apr 27 09:54:19 2000 Christopher Faylor <cgf@cygnus.com>
4877
4878 * setup.c (main): Change version number output.
4879
7dff5e71
CF
4880Thu Apr 27 09:23:17 2000 Christopher Faylor <cgf@cygnus.com>
4881
4882 * setup.c (tarx): Use full path name to tar executable.
4883 (main): Build full pathname to tar executable. Create /usr/local/etc
4884 by default.
4885
99437fdb
CF
4886Wed Apr 26 22:16:57 2000 Christopher Faylor <cgf@cygnus.com>
4887
4888 * setup.c (findhref): Change method for scanning for href= to choose
4889 the last one on the line. This is still not foolproof and probably
4890 will need to be changed eventually. Don't abort if no "size" field is
4891 evident.
4892 (processdirlisting): Fix boolean algebra.
4893
0f562d55
CF
4894Wed Apr 26 01:10:39 2000 Christopher Faylor <cgf@cygnus.com>
4895
4896 * main.c (tarx): Add some code for future task of unmounting
4897 directories encountered in tar file.
4898
4356382d
CF
4899Sat Apr 22 16:37:03 2000 Christopher Faylor <cgf@cygnus.com>
4900
4901 * setup.c (findhref): Decode file size, when appropriate.
4902 (needfile): New function. Returns 1 when file should be
4903 downloaded.
4904 (processdirlisting): Always download if file size does not
4905 match. Prompt when download fails for some reason.
4906 (getdownloadsource): Accomodate findhref argument changes.
4907
6ab1ce6c
CF
4908Sat Apr 22 15:13:42 2000 Christopher Faylor <cgf@cygnus.com>
4909
4910 Throughout, use global session handle rather than reinitializing for
4911 each connect. Don't pass session as an argument to setup.c functions.
4912 * setup.c (geturl): Only issue "Connecting to.." message when using
4913 http or first time for ftp since subsequent connections will be fast.
4914 (processdirlisting): Allocate space for "N" when user has specified
4915 "N"ever option so that it can be subsequently freed.
4916 (main): Abort if we can't get the list of mirrors.
4917
37ee316b
CF
4918Thu Apr 20 16:41:42 2000 Christopher Faylor <cgf@cygnus.com>
4919
4920 * setup.c (main): Umount /bin and /lib.
4921
a59fb4fa
CF
4922Wed Apr 19 13:34:44 2000 Christopher Faylor <cgf@cygnus.com>
4923
4924 * setup.c (main): Create an empty /var/run/utmp.
4925
75f4b861
CF
4926Tue Apr 18 19:16:56 2000 Christopher Faylor <cgf@cygnus.com>
4927
4928 * Makefile.in: Add umount to list of files to include in setup.exe.
4929 * setup.c (xumount): New function for unmounting directories.
4930 (main): Unmount /usr.
4931 (mkmount): Unmount "unix directory" before trying to figure out where
4932 to create the directory.
4933
d4a66789
CF
4934Tue Apr 18 17:28:55 2000 Christopher Faylor <cgf@cygnus.com>
4935
4936 * setup.c (mkmount): Use xcreate_process to start mount process,
4937 avoiding the shell.
4938 (main): Don't do buffering on stdout or prompts won't be displayed
4939 correctly if running in a cygwin shell with CYGWIN=tty.
4940
a6c3982d
CF
4941Tue Apr 18 15:35:19 2000 Christopher Faylor <cgf@cygnus.com>
4942
4943 * setup.c (main): Remove the CYGWIN environment variable before
4944 starting any cygwin programs.
4945
0ffd5e3b
CF
4946Mon Apr 17 19:20:52 2000 Vadim Egorov <egorovv@mailandnews.com>
4947
4948 * setup.c (geturl): Use alternative method for finding filename part of
4949 a URL.
4950 (processdirlisting): Accomodate strange output from non-MS ftp proxy.
4951 (downloaddir): Unlink file containing dir listing.
4952 (downloadfrom): Ditto.
4953
3e54bcf9
CF
4954Mon Apr 17 00:00:49 2000 Christopher Faylor <cgf@cygnus.com>
4955
4956 * setup.c (main): Disallow running setup.exe from the "root".
4957
005b73c4
CF
4958Sun Apr 16 18:50:58 2000 Christopher Faylor <cgf@cygnus.com>
4959
2cf65e6e 4960 Use "warning" function, where appropriate, to output warnings.
005b73c4
CF
4961 * setup.c (warning): New function -- outputs warning to console and log
4962 file.
4963 (tarx): Fix index used to reset file protection.
4964 (main): Open the log file earlier so that more stuff can be sent to it.
4965
36dc5fc8
CF
4966Sat Apr 15 20:05:33 2000 Christopher Faylor <cgf@cygnus.com>
4967
4968 * setup.c (processdirlisting): Make "N" option a little less aggressive.
4969
c73320de
CF
4970Fri Apr 14 11:11:29 2000 Christopher Faylor <cgf@cygnus.com>
4971
4972 * setup.c (tarx): Wait to after tar has completed to reset protections
4973 or suffer races with tar process.
4974
68cdfc92
CF
4975Thu Apr 13 12:51:19 2000 Christopher Faylor <cgf@cygnus.com>
4976
4977 * Makefile.in: Eliminate duplicate -nostdinc from CFLAGS.
4978 * setup.c (create_uninstall): Create the uninstall .bat file in the
4979 "root" so that we can remove the /bin directory. Add bin\cygwin.bat to
4980 list of files to be deleted. Fix directory detection for determining
4981 when to use 'rmdir'.
4982 (do_start_menu): Add /usr/local/bin to the path.
4983 (main): Add slop to files.array allocation so that we don't have to
4984 worry about reallocating the array when it grows too large when doing
4985 some trivial "pushes". Add /tmp and /usr/local/{bin,lib} to list of
4986 files.
4987
35d18861
CF
4988Thu Apr 13 01:59:44 2000 Christopher Faylor <cgf@cygnus.com>
4989
4990 * setup.c (processdirlisting): Fix handling of "A" for "A"lways
4991 download.
4992
20904de1
CF
4993Thu Apr 13 01:11:45 2000 Christopher Faylor <cgf@cygnus.com>
4994
4995 * path.c (kill_cygpath): New cleanup function.
4996 (exit_cygpath): New cleanup function.
4997 (cygpath_pipe): New function. Sets up cygpath in the background for
4998 translating filenames.
4999 (pathcvt): Use background cygpath for file translation.
5000 * setup.c (tarx): New function. Called to extract tar files, capture
5001 logging output, and translate it to Windows format.
5002 (recurse_dirs): Use 'tarx' function to extract files.
5003 (create_uninstall): Use file list built up by tarx rather than reading
5004 the log file.
5005 (mkmount): Add ability to mount root.
5006 (main): Track elapsed install time. Mount root.
5007 * starry.h: Add index field to strarry for tracking of tarx's usage of
5008 this structure.
5009 * xsystem.c (xcreate_process): Return proces handle when not waiting.
5010
c1246750
CF
5011Mon Apr 10 22:44:56 2000 Christopher Faylor <cgf@cygnus.com>
5012
5013 * path.c: New file.
5014 (pathfp): New function. Preliminary work for new -f cygpath
5015 functionality.
5016 * Makefile.in: Add new file.
5017 (pathcvt): Move to new file.
5018 (dtoupath): Ditto.
5019 (utodpath): Ditto.
5020 (pathcat): Ditto.
5021 * setup.c (processdirlisting): Always open file in text mode.
5022 (create_uninstall): Ditto.
5023 (getdownloadsource): Ditto.
5024 (main): Ditto.
5025
4b40edd0
CF
5026Mon Apr 10 20:33:40 2000 Christopher Faylor <cgf@cygnus.com>
5027
5028 * xsystem.c: New file.
5029 * Makefile.in: Accomodate new file.
5030 * setup.c (xsystem): Move to new file.
5031 (recurse_dirs): Accept handle to output log file. Don't use ">"
5032 redirection to trap tar output. Use supplied handle instead.
5033 (create_uninstall): Accept FILE pointer to opened log file. Don't
5034 unlink log file here.
5035 (do_start_menu): Accept FILE pointer to pass to create_uninstall.
5036 (main): Open log file here and pass it to various functions. Unlink
5037 when done.
5038
6f8e3b45
CF
5039Mon Apr 10 17:15:52 2000 Christopher Faylor <cgf@cygnus.com>
5040
5041 Change occurrences of .usr.bin to .bin throughout.
5042 * setup.c (geturl): Increase number of retries to 20. Let user know
5043 what's going on during long connects.
5044 (processdirlisting): Accept "A"lways and "N"ever as update options.
5045 (create_uninstall): Load cygwin1.dll from the current directory rather
5046 than \bin.
5047 (main): Add some expository text.
5048
2a907b70
CF
5049Sun Apr 9 20:59:15 2000 Christopher Faylor <cgf@cygnus.com>
5050
5051 * Makefile.in: Change method for compressing cygwin1.dll to avoid
5052 creating a cygwin1.dll in the current directory. Ensure the addition
5053 of -nostdinc to MINGW_CFLAGS.
5054
c4285a3c
CF
5055Sun Apr 9 02:15:47 2000 Christopher Faylor <cgf@cygnus.com>
5056
5057 * Makefile.in: Augment clean target.
5058
ea615d51
RP
5059Fri Apr 7 17:04:02 Ron Parker <rdparker@sourceware.cygnus.com>
5060
5061 * README: Added info about non-working mingw implementation
c1246750 5062 * gzip.exe.gz: Replace with a version from the same build as the other
ea615d51 5063 tools.
c1246750 5064 * tar.exe.gz: Replace with a version from the same build as the other
ea615d51 5065 tools.
c1246750 5066 * mount.exe.gz: Add to repository until, mingw can build setup.
ea615d51
RP
5067 * cygpath.exe.gz: ditto
5068 * cygwin1.dll.gz: ditto
c1246750
CF
5069 * setup.c: Overwrite /bin and /lib mounts. Generate working shortcut
5070 for Win9x. Display only a screenfull of options at a time. Call all
5071 tools with an absolute path.
5072 * setup.dsp: Restore the carriage returns, MS Developer Studio needs
5073 them.
ea615d51
RP
5074 * setup.dsw: ditto
5075 * zlib.dsw: ditto
5076
51954e74
CF
5077Thu Apr 6 19:15:27 2000 Christopher Faylor <cgf@cygnus.com>
5078
c1246750
CF
5079 * Makefile.in: Add "-nostdinc" to regular CFLAGS. Add target to grab
5080 cygwin1.dll from ../cygwin subdirectory.
51954e74
CF
5081 * gzip.exe.gz: Update.
5082 * tar.exe.gz: Update.
5083
7b777418
CF
5084Wed Apr 5 10:52:08 2000 Christopher Faylor <cgf@cygnus.com>
5085
5086 * Makefile.in: Use ZLIB variable as a target.
5087
4306b490
CF
5088Sat Apr 1 22:49:09 2000 Christopher Faylor <cgf@cygnus.com>
5089
5e7eb909
CF
5090 * Makefile.in: Eliminate traces of cygwinisms. Don't link with
5091 libmsvcrt.a. It's unneeded. Build .rc file on the fly from various
5092 sources.
4306b490
CF
5093 * configure.in: Locate correct objcopy.
5094 * configure: Regenerate.
5095
739457f4
CF
5096Sat Apr 1 20:48:09 2000 Christopher Faylor <cgf@cygnus.com>
5097
5098 * Makefile.in: New file.
5099 * configure.in: New file.
5100 * configure: New file.
5101 * zlib/Makefile.am: New file.
5102 * zlib/configure.in: New file.
5103 * zlib/aclocal.m4: New file.
5104 * zlib/acinclude.m4: New file.
5105 * zlib/configure: Regenerate from configure.in.
5106 * zlib/Makefile.in: Regenerate from Makefile.am
8507f105
DD
5107
5108%%% $Id$
5109$Revision$
This page took 0.593683 seconds and 5 git commands to generate.