X-Git-Url: https://cygwin.com/git/?a=blobdiff_plain;f=ChangeLog;h=634f974982b909c0ac9b14a14d4934a696883717;hb=ec13f13ca57fba24a53d873e9aa80527fc0b8134;hp=3edc7988e6c1cc818dd814a774988a3720f7e71a;hpb=57219197debafa0c3276338a95a5138c670d2a7a;p=cygwin-apps%2Fsetup.git diff --git a/ChangeLog b/ChangeLog index 3edc7988..634f9749 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,1774 @@ +2002-07-15 Robert Collins + + * package_version.cc (packageversion::sources): Implement this. + * download.cc (do_download_thread): Support multiple files per package. + +2002-07-15 Robert Collins + + * package_version.h (packageversion::sources): Support multiple files in + a single package version. + * package_version.cc (_packageversion::accessible): Ditto. + (packageversion::source): Ditto. + +2002-07-15 Robert Collins + + * iniparse.y: Implement support for multiple source files for a source + package. + * IniDBBuilder.h (IniDBBuilder::buildSourceFile): Ditto. + * IniDBBuilderPackage.h (IniDBBuilder::buildSourceFile): Ditto. + * IniDBBuilder.cc (IniDBBuilder::buildSourceFile): Ditto. + * IniDBBuilderPackage.cc (IniDBBuilder::buildSourceFile): Implement a + stub as preparation. + +2002-07-13 Robert Collins + + * PickPackageLine.cc (PickPackageLine::click): Set requirements for + packages under all circumstances - slightly higher overheader, simpler + code. + * download.cc (do_download_thread): Correctly download source + packages. + * package_meta.cc (checkForInstalled): Remove. + (checkForUpgradeable): Ditto. + (checkForSatisfiable): Ditto. + (processOneDependency): Ditto. + (packagemeta::set_requirements): Move guts to packageversion. + * package_version.cc (checkForInstalled): Copied from package_meta.cc. + (checkForUpgradeable): Ditto. + (checkForSatisfiable): Ditto. + (processOneDependency): Ditto. + (packageversion::set_requirements): Ditto. + * package_version.h (packageversion::set_requirements): Declare. + +2002-07-13 Robert Collins + + * IniDBBuilder.cc (IniDBBuilder::buildBeginBuildDepends): Implement. + (IniDBBuilder::buildBeginBinary): Implement. + * IniDBBuilder.h (IniDBBuilder::buildBeginBuildDepends): Declare. + (IniDBBuilder::buildBeginBinary): Ditto. + * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildBeginBuildDepends): + Implement. + (IniDBBuilderPackage::buildBeginBinary): Ditto. + * IniDBBuilderPackage.h (IniDBBuilderPackage::buildBeginBuildDepends): + Declare. + (IniDBBuilderPackage::buildBeginBinary): Ditto. + * inilex.l: Recognise Build-Depends-Indep, [,], >, < and remove + T_UNKNOWN. + * iniparse.y: Full support for parsing a debian Sources file in-line in + setup.ini. + * package_version.cc (packageversion::binaries): Implement. + * package_version.h (packageversion::binaries): Declare list of what + packages are created from a given source package. + (_packageversion::binaries): Ditto. + +2002-07-10 Robert Collins + + * iniparse.y: Add basis for support for parsing a debian Sources file. + * inilex.l: Ditto. + +2002-07-09 Robert Collins + + Change custom container code for packagedb::packages to STL containers + throughout. + * IniDBBuilderPackage.cc: Ditto. + * PickView.cc: Ditto. + * choose.cc: Ditto. + * desktop.cc: Ditto. + * download.cc: Ditto. + * install.cc: Ditto. + * package_db.cc: Ditto. + * package_db.h: Ditto. + * Makefile.am: Remove list.h references. + * list.h: Remove. + +2002-07-08 Max Bowsher + + * PickView.cc (PickView::PickView): Set font of package list header to + the same as used in the rest of the package list. + +2002-07-08 Robert Collins + + * install.cc (NoReplaceOnReboot): New command line option to prevent + replacing in use files. + (install_one_source): Check the option and use it. + * README: Update TODO lists. + +2002-07-08 Robert Collins + + * PickCategoryLine.cc: Change bucket to use STL container syntax + throughout. + (PickCategoryLine::paint): Use new Category type syntax. + * PickCategoryLine.h: Use STL vectors rather than custom containers + throughout. + * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageCategory): + Use new add_category syntax. + * PickView.cc (PickView::insert_pkg): Use new Category type syntax. + (PickView::insert_category): Ditto. + (PickView::init_headers): Ditto. + * category.cc: Trim obsolete code. + * category.h: Replace interconnecting class with a typedef to + facilitate leveraging STL maps. + * choose.cc (fill_missing_category): Use updated pkg.add_category + syntax. + (default_trust): Use new Category type syntax. + (set_view_mode): Ditto. + (create_listview): Ditto. + * package_db.cc (categories): Ditto. + * package_db.h: Update headers list to include needed headers. + (packagedb::categories): Replace custom list with STL map. + * package_meta.cc: Use new Category type syntax throughout. + (packagemeta::add_category): Implement new syntax. + * package_meta.h: Remove commented out source. + (packagemeta::add_category): Update syntax to decouple interface from + packagedb. + +2002-07-06 Christopher Faylor + + * site.cc (do_download_site_info_thread): Correct spelling error. + +2002-07-06 Robert Collins + + * PickCategoryLine.h: Include required header list.h. + * PickPackageLine.cc (PickPackageLine::paint): Adjust to use STL + containers for listing of packages per category and vice verca. + * PickView.cc (PickView::insert_pkg): Ditto. + (PickView::insert_category): Ditto. + * String++.h (String::caseless): STL helper to allow trivial containers + of Strings with case insensitive comparisons. + * category.h: Adjust to use STL containers for listing of packages per + category and vice verca. + * choose.cc (fill_missing_category): Ditto. + (default_trust): Ditto. + (ChooserPage::OnNext): Ditto. + * package_meta.cc (CategoryPackage::~CategoryPackage): Remove. + (packagemeta::packagemeta): Adjust for new category list name. + (packagemeta::~packagemeta): Adjust to use STL containers for listing + of packages per category and vice verca. + (packagemeta::set_action): Ditto. + * package_meta.h (CategoryPackage): Remove. + (packagemeta): Adjust to use STL containers for listing of packages per + category and vice verca. + +2002-07-05 Robert Collins + + * io_stream.cc: Use STL containers rather than custom ones. + (io_stream::registerProvider): Ditto. + (findProvider): Ditto. + +2002-07-05 Robert Collins + + * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource): + Use STL collections for download site collections. + (IniDBBuilderPackage::add_correct_version): Ditto. + (IniDBBuilderPackage::process_src): Ditto. + * PickPackageLine.cc (PickPackageLine::click): Use the packageversion + accessible() call to abstract package availability. + * choose.cc (scanAVersion): Use STL collections for download site + collections. + * download.cc (check_for_cached): Ditto. + (download_one): Ditto. + * package_meta.cc (packagemeta::set_action): Use the packageversion + accessible() call to abstract package availability. + * package_source.h: Use STL containers rather than custom containers. + (site): Create a == operator to allow STL container use. + (packagesource::sites): Use STL containers rather than custom + containers. + * package_version.cc (_packageversion::accessible): Use STL containers + for download site containers. + +2002-07-05 Robert Collins + + * LogFile.cc: Use STL containers rather than custom containers. + (filedef): Create == and < operators for STL use. + (files): Convert to an STL set. + (LogFile::setFile): Use STL operations on files. + (LogFile::exit): Ditto. + +2002-07-05 Robert Collins + + * ini.cc (do_remote_ini): Use STL collection for site collection. + * site.cc: Include site.h first to ensure it's parsable standalone. + Use STL algorithms. + (site_list): Convert to an STL container. + (all_site_list): Ditto. + (site_list_type::site_list_type): Implement copy constructor. + (site_list_type::operator=): Implement assignment operator. + (site_list_type::operator ==): Implement. + (site_list_type::operator <): Ditto. + (save_dialog): Use STL collection calls for site collection. + (save_site_url): Ditto. + (get_site_list): Ditto. + (get_saved_sites): Ditto. + (do_download_site_info_thread): Ditto. + (SitePage::OnNext): Ditto. + (SitePage::PopulateListBox): Ditto. + (SitePage::OnMessageCmd): Ditto. + * site.h: Use STL vectors instead of custom code. + (site_list_type::site_list_type): Declare. + (site_list_type::operator=): Ditto. + (site_list_type::operator ==): Ditto. + (site_list_type::operator !=): Ditto. + (site_list_type::operator <): Ditto. + (site_list_type::operator <=): Ditto. + (site_list_type::operator >): Ditto. + (site_list_type::operator >=): Ditto. + (site_list): Convert to an STL container. + (all_site_list): Ditto. + +2002-07-05 Robert Collins + + * choose.cc (default_trust): Check package accessibility before + triggering an install. (Suggested by Pavel). + +2002-07-03 Pavel Tsekov + + * compress_gz.cc (compress_gz::construct): Always initialize key members + to ensure the destructor does the right thing. + +2002-07-03 Pavel Tsekov + + * filemanip.cc (parse_filename): Do not try to parse empty + strings (filenames). + * package_db.cc (packagedb::packagedb): For each line check if sscanf() + extracted good package name and filename. + +2002-07-03 Robert Collins + + * package_meta.cc (packagemeta::set_requirements): Automatically select + version of dependent packages that satisfies the requirements. + Use processOneDependency to trigger the install of those packages. + (checkForInstalled): Check that the package remains installed. + (processOneDependency): Helper function for dependent packages. + * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackage): Add more + debug information. + Clear out all current state on new packages. + (IniDBBuilderPackage::add_correct_version): Copy the dependency list + across. + +2002-07-02 Robert Collins + + * Makefile.am (inilint_SOURCES): Add PackageSpecification sources. + nb: inilint is still incomplete, as the packageversion code is not + ready for database-less linking. + * site.cc (get_site_list): When the same site is reentered by the user + replace the old one. (Suggested by John Marshall). + +2002-07-02 Robert Collins + + * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource): + Clear out package selections when generating implicit source packages. + * PackageSpecification.cc (PackageSpecification::satisfies): Implement. + (PackageSpecification::_operators::satisfies): Implement. + * PackageSpecification.h (PackageSpecification::_operators::satisfies): + Worker function for testing versions. + +2002-07-01 Robert Collins + + * IniDBBuilder.cc (IniDBBuilder::buildPackageRequirement): Remove. + * IniDBBuilder.h (IniDBBuilder::buildPackageRequirement): Ditto. + * IniDBBuilderPackage.cc: Use the STL algorithms. + Change cpv to cbpv throughout. Adjust -> to ., and use the new accessor + functions for the same variable throughout. + (IniDBBuilderPackage::IniDBBuilderPackage): Initialise new members. + (IniDBBuilderPackage::buildPackage): Use new cygpackage syntax, + and set an empty source package. + (IniDBBuilderPackage::buildPackageInstall): Use the new source member + to record an install package. + (IniDBBuilderPackage::buildPackageSource): Move source package logic + out from process_src, as it now occurs at separate times. + (IniDBBuilderPackage::buildPackageRequirement): Remove. + (IniDBBuilderPackage::buildSourceName): Use renamed package + specifiation accessor for clarity. + (IniDBBuilderPackage::buildSourceNameVersion): Ditto. + (IniDBBuilderPackage::add_correct_version): Use STL iterators rather + than custom code. + Remove source package references. + (IniDBBuilderPackage::process_src): Remove source package code as it's + now handled separately. + Set Path information before merging versions, to prevent dangling + pointers. + * IniDBBuilderPackage.h (IniDBBuilderPackage::buildPackageRequirement): + Remove. + (IniDBBuilderPackage::cpv): Remove. + (IniDBBuilderPackage::cbpv): New generic binary working variable. + (IniDBBuilderPackage::cspv): Ditto, but for source packages. + (IniDBBuilderPackage::csp): Source package variable for disjoint + source packages. + * Makefile.am (AM_CFLAGS): Remove -Winline to allow stl set code + to compile. If it compiles cleanly in gcc 3.1, then reinstate. + * PickPackageLine.cc: Adjust packageversion accessors to the new + reference calls. (i.e. -> to .) throughout. + (PickPackageLine::paint): Use accessible() for clarity. + Use new split out source package logic. + (PickPackageLine::click): Ditto. + * PickView.cc (PickView::init_headers): Adjust packageversion accessors + to the new reference calls. (i.e. -> to .) throughout. + Use new split out source package logic. + * choose.cc: Don't depend on a specific package type. + Adjust packageversion accessors to the new reference calls. (i.e. -> to + .) throughout. + (set_existence): Use accessible () for clarity. + (default_trust): Simplify a little. + (scanAVersion): Factored out code from scan_downloaded_files for + clarity. + (scan_downloaded_files): Factor out inner loop for clarity. + (ChooserPage::OnNext): Don't dump the dependency list, + it's parsing is robust now!. + * cygpackage.cc (createInstance): Use a factory method to create new + objects. + (cygpackage::cygpackage): Make this private for use by the factory. + (cygpackage::setCanonicalVersion): Renamed from set_canonical_version. + Remove key usage as it's obsolete. + * cygpackage.h (cygpackage): Inherit from _packageversion, not + packageversion. + (cygpackage::createInstance): New factory. + (cygpackage::cygpackage): Make private. + * desktop.cc (make_passwd_group): Use new packageversion reference. + * download.cc (do_download_thread): Use changeRequested() for clarity. + Use new packageversion reference calls. + * iniparse.y (REQUIRES): Reuse the packageList code and dump the one-off + requires code. + * install.cc: Adjust -> to ., and use the new accessor functions for + packageversion throughout. + * package_db.cc: Adjust -> to ., and use the new accessor functions for + packageversion throughout. + (packagedb::packagedb): Use the new cygpackage factory. + (packagedb::flush): Leverage String to remove buffer overflow chance in + sprintf. + (packagedb::findBinary): Find a binary meta package that has a version + matching a given specification. + (packagedb::findSource): Ditto, but for source. + * package_db.h (packagedb::findBinary): Declare. + (packagedb::findSource): Ditto. + * package_meta.cc: Adjust packageversion accessors to the new + reference calls. (i.e. -> to .) throughout. + Include the package_meta header first to ensure it parses standalone. + Use the STL algorithms. + (packagemeta::packagemeta): Create a copy constructor to allowing + cloning binary package metadata to source package metadata. + (packagemeta::~packagemeta): Use the STL coleltion code rather than + custom collection code. + (packagemeta::add_version): Ditto. + (packagemeta::set_installed): Ditto. + (packagemeta::SDesc): Ditto. + (hasSDesc): Helper function for find_if. + (checkForInstalled): Ditto. + (checkForUpgradeable): Ditto. + (checkForSatisfiable): Ditto. + (packagemeta::action_caption): Update for split out source packages. + (packagemeta::set_action): Ditto. + (packagemeta::set_requirements): Support multi-valued dependency + lists - a|b & c|d - with versioned package specifications. + (packagemeta::accessible): Helper member to improve abstraction. + (packagemeta::sourceAccessible): Ditto. + * package_meta.h: Adjust packageversion accessors to the new + reference calls. (i.e. "->" to "." and"*" to "" ) throughout. + (packagemeta::packagemeta): Declare copy constructor. + Remove self initialising members. + (packagemeta::set_action): Update parameters for new packageversion. + (packagemeta::trustp): Ditto. + (packagemeta::versions): Becomes an STL set. + * package_source.h (packagesource::Cached): Const correctness change. + * package_version.cc: Rewrite the packageversion interface to remove + the cygpackage nonvirtual members, and provide a copy by value, + pointer semantics reference counting wrapper class to ease use and + comparison of packageversions. + Change existing packageversion class to _packageversion throughout. + (_defaultversion): A trivial concrete class to prevent specialcasing + the default constructor for packageversion; + (packageversion::packageversion): Implement. + (packageversion::~packageversion): Ditto. + (packageversion::operator=): Ditto. + (packageversion::operator !): Ditto. + (packageversion::operator bool): Ditto. + (packageversion::operator ==): Ditto. + (packageversion::operator !=): Ditto. + (packageversion::operator <): Ditto. + (packageversion::Name): Ditto. + (packageversion::Canonical_version): Ditto. + (packageversion::setCanonicalVersion): Ditto. + (packageversion::getfirstfile): Ditto. + (packageversion::getnextfile): Ditto. + (packageversion::SDesc): Ditto. + (packageversion::set_sdesc): Ditto. + (packageversion::LDesc): Ditto. + (packageversion::set_ldesc): Ditto. + (packageversion::sourcePackage): Ditto. + (packageversion::sourcePackageSpecification): Ditto. + (packageversion::setSourcePackageSpecification): Ditto. + (packageversion::depends): Ditto. + (packageversion::predepends): Ditto. + (packageversion::recommends): Ditto. + (packageversion::suggests): Ditto. + (packageversion::replaces): Ditto. + (packageversion::conflicts): Ditto. + (packageversion::provides): Ditto. + (packageversion::picked): Ditto. + (packageversion::pick): Ditto. + (packageversion::changeRequested): Ditto. + (packageversion::uninstall): Ditto. + (packageversion::source): Ditto. + (packageversion::accessible): Ditto. + (_packageversion::sourcePackage): Ditto. + (_packageversion::accessible): Ditto. + (_packageversion::changeRequested): Ditto. + * package_version.h: Rewrite the packageversion interface to remove + the cygpackage nonvirtual members, and provide a copy by value, + pointer semantics reference counting wrapper class to ease use and + comparison of packageversions. + Change existing packageversion class to _packageversion throughout. + (Dependency): Remove. + (packageversion): New wrapper class. + (_packageversion): Renamed from packageversion. + (_packageversion::setCanonicalVersion): New method. + (_packageversion::sourcePackage): Ditto. + (_packageversion::sourcePackageSpecification): Ditto. + (_packageversion::setSourcePackageSpecification): Ditto. + (_packageversion::changeRequested): Ditto. + (_packageversion::bin): Rename to source. + (_packageversion::src): Remove. + (_packageversion::accessible): New method. + (_packageversion::references): Allow reference counting. + (_packageversion::sourceVersion): Cached the best-match source + package version. + +2002-06-27 Robert Collins + + * compress_bz.h (compress_bz::position): Track how much has been read. + * compress_bz.cc (compress_bz::compress_bz): And initialise it. + (compress_bz::read): Track amount read by the client. + (compress_bz::tell): And report it when asked. + +2002-06-27 Robert Collins + + * Makefile.am (snapshot): Automate snapshot creation some more. + +2002-06-27 Robert Collins + + * msg.cc (msg): Use vsnprintf to avoid buffer overflows. + (mbox): Ditto. + * ini.cc (fprintf): Ditto. + * log.cc (log): Ditto. + * package_db.cc (packagedb::sourcePackages): Split out source packages + from binary packages. + * package_db.h: Ditto. + +2002-06-27 Robert Collins + + * PackageSpecification.h: New file. Abstracts the ability to refer + to another package, by name, or name and version. + * PackageSpecification.cc: Ditto. + * IniDBBuilder.cc (IniDBBuilder::buildPackageInstall): Simplify. + (IniDBBuilder::buildPackageSource): Ditto. + (IniDBBuilder::buildBeginDepends): New method for versioned + dependencies. + (IniDBBuilder::buildBeginPreDepends): Likewise, for dependencies to be + satisfied before pre-install. + (IniDBBuilder::buildPriority): New method, for getting the package + Priority. + (IniDBBuilder::buildInstalledSize): How much disk space does it need? + (IniDBBuilder::buildMaintainer): Who maintains the package? + (IniDBBuilder::buildArchitecture): What platform is it for? + (IniDBBuilder::buildInstallSize): How big is the binary download? + (IniDBBuilder::buildInstallMD5): Whats the MD5 on the binary? + (IniDBBuilder::buildSourceMD5): Whats the MD5 on the source package? + (IniDBBuilder::buildBeginRecommends): What other packages are + recommended with this one? + (IniDBBuilder::buildBeginSuggests): And suggested? + (IniDBBuilder::buildBeginReplaces): What packages does this replace? + (IniDBBuilder::buildBeginConflicts): And collide with? + (IniDBBuilder::buildBeginProvides): What virtual packages (or obsolete + package names) does this provide? + (IniDBBuilder::buildDescription): Grab a multi line description one + line at a time. + (IniDBBuilder::buildSourceName): What source package should be used to + install the source for this binary package? + (IniDBBuilder::buildSourceNameVersion): Is a specific version needed? + (IniDBBuilder::buildPackageListAndNode): Add another AND clause to a + list of package specifications. + (IniDBBuilder::buildPackageListOrNode): Add another OR clause. + (IniDBBuilder::buildPackageListOperator): Add a versioning operator + to the current specification. + (IniDBBuilder::buildPackageListOperatorVersion): What version does the + operator act on? + * IniDBBuilder.h: Declare all the IniDBBuilder.cc changes. + * IniDBBuilderPackage.cc: As for IniDBBuilder.cc. + (IniDBBuilderPackage::IniDBBuilderPackage): Iniitialize new members. + (IniDBBuilderPackage::process_src): Streamline and split out + functionality. + (IniDBBuilderPackage::setSourceSize): From process_src. + * IniDBBuilderPackage.h: Declare the IniDBBuilderPackage.cc changes. + (IniDBBuilderPackage::currentSpec): Track the in-progress specifiation. + (IniDBBuilderPackage::currentOrList): Track the current Or list. + (IniDBBuilderPackage::currentAndList): Track the current And list. + * IniParseFeedback.cc (IniParseFeedback::progress): Provide completion + progress on parsing. + (IniParseFeedback::iniName): Tell what ini filename we are currently + processing. + * IniParseFeedback.h: Declare IniParseFeedback.cc changes. + * IniParseFindVisitor.cc (IniParseFindVisitor::IniParseFindVisitor): + Make the feedback object non-const to allow mutating methods which are + needed when the object has state. + (IniParseFindVisitor::visitFile): Tell the caller the name of each + .ini found. + Initialise the parser with the feedback object to allow it to tell of + progress. + * IniParseFindVisitor.h: Declare IniParseFindVisitor.cc changes. + * Makefile.am (inilinst_SOURCES): Add more requisite classes. + (setup_SOURCES): Add the new PackageSpecification sources. + * ScanFindVisitor.cc (ScanFindVisitor::visitFile): Use the new + builder syntax to setup binary package details. + * choose.cc: Use the LogSingleton calls throughout. + * configure.in: Create the INILINT substitution correctly for recent + autotool configurations. + * cygpackage.cc (cygpackage::getfirstfile): Return an empty String + rather than a string built from an int. Thanks to Pavel Tsekov for + identifying the bug. + (cygpackage::getnextfile): Ditto. + * download.cc: Use LogSIngletion calls throughout. + (validateCachedPackage): A refactoring of the + check_for_cached code to eliminate duplciation. + (check_for_cached): Use validateCachedPackage to check packages. + * ini.cc (GuiParseFeedback): Provide gui feedback on ini name and + parsing progress. + (do_remote_ini): Ditto. + * ini.h (ini_init): Pass a IniParseFeedback to the parser, to allow + progress reporting. + * inilex.l: Identify new symbols - operators, and multi line plain text. + Releases files. + * inilintmain.cc (show_help): Provide basic infomation on inilint. + * iniparse.y: Adjust for the new builder syntax, and process debian + Release files. + * io_stream_file.cc: Always include mkdir.h. + * list.h: Factor index location into a private routine. + (list::findindex): Implement this. + * mkdir.cc (mkdir_p): Make the use of WIN32 code conditional on mingw + builds. NB: This breaks cygwin build functionality still. + * package_meta.cc: Use the LogSingleton calls throughout. + (packagemeta::set_requirements): Adjust for object changes in + dependencies. + * package_meta.h (packagemeta::packagemeta): Initialise new members. + (packagemeta::architecture): What platform does this package run on? + This may need to move in the future to a per packagefile object. + (packagemeta::priority): What priority does this package have? + * package_source.h (packagesource::packagesource): Initialise new + members. + (packagesource::installedSize): How much space does the package need? + (packagesource::setInstalledSize): Tell the amount. + (packagesource::_installedSize): And store it. + * package_version.cc (packageversion::sourcePackage): return the + source package. + (packageversion::setSourcePackage): And set it. + * package_version.h: Declare the package_version.cc changes. + (packageversion::depends): New package specification AND list. + (packageversion::predepends): Ditto. + (packageversion::recommends): Ditto. + (packageversion::suggests): Ditto. + (packageversion::replaces): Ditto. + (packageversion::conflicts): Ditto. + (packageversion::provides): Ditto. + (packageversion::sourcePackage): What source package is needed? + * threebar.cc (ThreeBarProgressPage::SetText4): Set the label beside + the bottom bar. + * threebar.h: Declare the threebar.cc change. + +2002-06-27 John Marshall + + * res.rc (SETUPINI_MISSING): Make trailing spaces visible. + * site.cc (SitePage::OnMessageCmd): Ditto + +2002-06-15 Robert Collins + + * nio-ie5.cc (NetIO_IE5::NetIO_IE): Allow cached data. + +2002-06-15 Robert Collins + + * package_meta.cc (packagemeta::set_action): When installing packages + with no binaries, choose the source package. + +2002-06-10 Robert Collins + + * IniParseFindVisitor (IniParseFindVisitor::visitFile): Apply Max + Bowshers fix for the crash with a root level setup.ini. + * README: Update todos. + +2002-05-26 Ralf Habacker + + * archive_tar.cc (archive_tar::next_file_name()): fixed broken + GNU long name extension support. + +2002-05-27 Robert Collins + + * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Don't + unescape 0 length strings. + +2002-05-20 Robert Collins + + * package_meta.cc (packagemeta::set_action): Don't allow reinstall + when local with no cached file, and install the default source if the + default version has no binary. + +2002-05-19 Robert Collins + + * IniDBBuilderPackage.cc (IniDBBuilderPackage::IniDBBuilderPackage): New + method. + (IniDBBuilderPackage::buildVersion): Provide a warning when a newer + setup version created the ini file. + * IniDBBuilderPackage.h (IniDBBuilderPackage::IniDBBuilderPackage): New + method. + * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Use the new + feedback strategy. + * IniParseFindVisitor.h (IniParseFindVisitor::IniParseFindVisitor): + Require a feedback strategy. + * Makefile.am (setup_SOURCES): Add IniParseFeedback sources. + * Makefile.in: Regenerate. + +2002-05-19 Robert Collins + + * io_stream_file.cc (io_stream_file::remove): Use the SetFileAttributes + trick to delete read only files. + * io_stream_cygfile.cc (io_stream_cygfile::remove): Use file:// to + remove files. + * Makefile.am (release): Tweak to be more helpful. + * Makefile.in: Regenerate. + +2002-05-19 Robert Collins + + * Makefile.am (release): Tweak to be more helpful. + * Makefile.in: Regenerate. + +2002-05-19 Robert Collins + + * Makefile.am (release): Tweak to be more helpful. + * Makefile.in: Regenerate. + +2002-05-19 Robert Collins + + * choose.cc (scan_downloaded_files): When a non-installed version + has neither bin nor src cached files for local installs, + remove the version from availability. + +2002-05-19 Robert Collins + + * ini.cc (do_remote_ini): Save uncompressed ini's correctly. + +2002-05-19 Robert Collins + + * rsync: New support library, contains librsync. This is not (yet) + rsync interoperable. + * configure.in: --with-rsync to enable rsync support. (Not complete). + * Makefile.am: Enable building with rsync. + * Makefile.in: Regenerate. + * configure: Ditto. + * IniDBBuilder.cc (IniDBBuilder::buildPackageInstall): Pass the md5 as + an array. + (IniDBBuilder::buildPackageSource): Ditto. + * IniDBBuilder.h: Ditto. + * IniDBBuilderPackage.cc: Ditto. + * IniDBBuilderPackage.h: Ditto. + * FindVisitor.cc: New file. + * FindVisitor.h: New file, interface for visiting a file system + aggregate. + * IniParseFindVisitor.cc: New file. + * IniParseFindVisitor.h: New file, concrete FindVisitor that parses + found setup.ini's. + * README: Update TODO's. + * String++.cc (String::String): New constructor for inter- + operability. + (String::substr): New method. + * String++.h: Ditto. + * choose.cc (scan2): Remove. + (scan_downloaded_files): Simplify. + * dialog.h: Include parsing pre-requirements. + * download.cc (check_for_cached): Fullname was used incorrectly - fix. + * filemanip.cc (parse_filename): -src packages where incorrectly parsed. + * find.cc: Rewrite. Now uses a Visitor pattern and is re-entrant. + * find.h: Ditto. + * fromcwd.cc: Remove unneeded includes. + (is_test_version): Remove. + (found_file): Remove. + (SetupFindVisitor): Trivial visitor to detect setup.ini's. + (found_ini): Remove. + (do_fromcwd): Remove commented code that has be replaced elsewhere. + * ini.cc (local_ini): Remove. + (findBuilder): Remove. + (find_routine): Remove. + (do_local_ini): Use new IniParseFindVisitor. + * iniparse.y: Typecase MD5 arrays, as we know they are allocated as + unsigned char. + * postinstall.cc: Remove non-core includes. + (run_script_in_postinstall): Remove. + (RunFindVisitor): Trivial Visitor, runs each found script. + (do_postinstall): Use new find syntax. + +2002-05-14 Christopher Faylor + + * ini.cc (find_routine): Don't clear buffer it it's NULL. + +2002-05-14 Christopher Faylor + + * filemanip.h (trail): Declare. + * filemanip.cc (trail): New function. + (find_tar_ext): Use trail() instead of strstr(). + * fromcwd.cc (check_ini): Ditto. + * ini.cc (find_routine): Ditto. Don't tack local_dir to path since it + should now be fully qualified. Set ini_filename. Reset error_buf and + error_count for any subsequent ini file parsing. + (ini_filename): New static variable for parse error reporting. + (yyerror): Use full path of setup.ini in error message. Subtract one + from line number if at bol. + * find.cc (found_part): Eliminate. + (find_sub): Call for_each with full path found rather than just file + component. + (find): Don't calculate found_part. + * inilex.l (ini_init): Flush input buffer and reset line number. + (yybol): New function. Exports YY_AT_BOL. + * iniparse.y: Increase stack depth to allow more tokens to be processed. + (yyparse): Remove newline from error condition to allow subsequent + per-line error processing to proceed normally. + +2002-05-14 Christopher Faylor + + * find.cc (find_sub): Be more defensive in preserving trailing parts of + components when doing recursive directory searches or calling user + supplied for_each(). + * ini.cc (find_routine): Don't assume that any path name with + "setup.ini" in it is actually a setup.ini file. Only honor trailing + components. Copy path argument to temporary storage when unescaping + to prevent nuking of argument. + +2002-05-12 Robert Collins + + * CONTRIBUTORS: New file. + +2002-04-02 Gary R. Van Sickle + + * choose.cc: Run indent. + (nextbutton): Remove static variable. + (default_trust): Remove use of nextbutton. + (set_view_mode): Ditto. + (create_listview): Add IDC_CHOOSE_PREV and IDC_CHOOSE_NEXT to ta[] so + rbset() sets the prev/next/curr radio buttons properly. + (dialog_cmd): Delete function. + (dialog_proc): Delete function. Move WM_INITDIALOG functionality to + ChooserPage::OnInit. + (do_choose): Delete function. Move pre-DialogBox() code to + ChooserPage::OnInit(), post-DialogBox() code to ChooserPage::OnNext. + (WM_APP_START_CHOOSE): Remove define. + (WM_APP_CHOOSE_IS_FINISHED): Remove define. + (do_choose_thread): Delete function. + (ChooserPage::OnActivate): Delete method. + (ChooserPage::OnMessageApp): Delete method. + (ChooserPage::OnInit): New method. + (ChooserPage::OnNext): New method. + (ChooserPage::OnBack): New method. + (ChooserPage::OnMessageCmd): New method. + * choose.h: Run indent. + (ChooserPage::OnMessageApp): Delete declaration. + (ChooserPage::OnActivate): Ditto. + (ChooserPage::OnMessageCmd): New declaration. + (ChooserPage::OnInit): Ditto. + (ChooserPage::OnNext): Ditto. + (ChooserPage::OnBack): Ditto. + * desktop.cc (DesktopSetupPage::OnBack): Replace use of IDD_CHOOSER + with IDD_CHOOSE. + * fromcwd.cc (do_fromcwd): Replace use of IDD_CHOOSER with IDD_CHOOSE. + * ini.cc (do_ini_thread): Replace use of IDD_CHOOSER with IDD_CHOOSE. + * res.rc (IDD_CHOOSE): Remove dialog template. + (IDD_CHOOSER): Alter dialog template to fit wizard size and format. + +2002-05-12 Robert Collins + + * LogFile.cc (endLog): Work around an apparent libg++-3 bug causing + corrupt log file entries. + * geturl.cc: Convert to the new LogSingleton logging. + +2002-05-12 Robert Collins + + * ini.cc (do_remote_ini): Use setup.bz2 if it exists in preference to + setup.ini. + +2002-05-12 Robert Collins + + * geturl.h: Declare getUrlToStream. + * geturl.cc (getUrlToStream): New function. + (get_url_to_membuf): Refactor to use getUrlToStream. + +2002-05-11 Robert Collins + + * Makefile.am: Add a release target to automate some of the routine + work. + * Makefile.in: Regenerate. + +2002-05-11 Robert Collins + + * choose.cc (scan_downloaded_files): On local installs remove all + mirror sites if no cached copy of a package is found. + +2002-05-10 Robert Collins + + * Makefile.in: Regenerate. + * iniparse.y: Use left recursion, not right in the lines rule to + avoid stack overflows. + * README: Update TODO's. + * io_stream_file.cc: Native builds need to include sys/stat.h + +2002-05-06 John Marshall + + * site.cc (SitePage::OnMessageCmd): recalculate navigation + button activation when "Add" is pressed. + (SitePage::CheckControlsAndDisableAccordingly): tweak comment. + +2002-05-07 Robert Collins + + * Makefile.am (inlint_SOURCES): Add conditional objects to inilint + depending on platform. + Add file:// support. + * configure.in: Set conditional MINGWTARGET if compiling against mingw + libraries. + * Makefile.in: Regenerate. + * configure: Ditto. + * io_stream_file.cc: Only use win32 calls when building for mingw. + +2002-05-05 Robert Collins + + * Makefile.am (noinst_PROGRAMS): Make inilint configurable. + * configure.in: Ditto. + Fix incorrect header checking syntax. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * Makefile.in: Regenerate. + * io_stream.cc: Remove platform specific and provider specific code. + (io_stream::registerProvider): New method, registers a Url provider with + the io_stream code. + Make all methods consistently throw invalid_argument exceptions when + a provider that is requested is not present. + (findProvider): New private function, finds a provider. + * io_stream.h: Declare io_stream::registerProvider. + * io_stream_cygfile.cc: Create a Provider class to register with + io_stream.cc. + * io_stream_file.cc: Ditto. + * archive.cc: Remove unneeded includes. + * archive_tar.cc: Remove unneeded includes. + * archive_tar.h: Add required include. + * archive_tar_file.cc: Remove unneded includes. + * choose.cc: Remove unneeded includes: + +2002-05-04 Robert Collins + + * io_stream.cc: Use the new log interface thruout. + +2002-05-04 Robert Collins + + * log.cc (log): Reimplement via LogSingleton. + (log_save): Remove. + (exit_setup): Remove. + * log.h (log_save): Remove. + (exit_setup): Remove. + * LogSingleton.cc: New file. + * LogSingleton.h: New file. + * LogFile.cc: New file. + * LogFile.h: New file. + * Makefile.am (inilint_SOURCES): Add the new log interface. + (setup_SOURCES): Add the new log interface and the concrete File + implementation. + * Makefile.in: Regenerate. + * archive.cc: Use the new log interface thruout. + * archive_tar.cc: Ditto. + * main.cc: Ditto. + * dialog.cc (fatal): Use the new log interface. + * ini.cc (do_ini_thread): Use the log interface to exit. + * isntall.cc (do_install_thread): Ditto. + * netio.cc (auth_cmd): Ditto. + * msg.cc (fatal): Ditto. + * localdir.cc (save_local_dir): Save to different files depending on + the mode, and if a root dir exists. + +2002-05-04 Robert Collins + + * IniDBBuilder.cc: New file. + * IniDBBuilder.h: New file. + * IniDBBuilderPackage.cc: New file. + * IniDBBuilderPackage.h: New file. + * PackageTrust.h: New file. + * IniState.h: Remove, wasn't thought out well enough. + * Makefile.am (inilint_SOURCES): Add more requirements. + (setup_SOURCES): Add new Builder base and concrete classes. + * Makefile.in: Regenerate. + * String++.cc (String::String): Implement int contructor. + * String++.h (String): Declare int constructor. + * archive_tar.cc (archive_tar::next_file_name): Return String() when + no filename exists. + * archive_tar.h (archive_tar_file): Remove get_next_filename method, + it's not needed. + * ini.cc: Replace IniState wuth IniDBBuilderPacakge. + (find_routine): Use new IniDBBuilder to configure the parser. + (do_local_ini): Ditto. + (do_remote_ini): Ditto. + * ini.h: Use IniDBBuilder to initialise parsing. + * inilex.l (MD5): Parse the MD5 string correctly, we had the nibbles + swapped. + (ini_init): Use an IniDBBuilder rather than static variables. + * iniparse.y: Hand off all the object creation to a builder, rather + than hardcoding the behaviour. This allows run-time configured + behaviour. + * io_stream_cygfile.h (io_stream_cygfile): Remove get_next_filename + method, it's not needed. + * io_stream_file.h (io_stream_file): Ditto. + * mount.cc (cygpath): Return String() for missing mounts. + * package_meta.cc (packagemeta::SDesc): Return String() for blank + descriptions. + * package_meta.h (trusts): Remove - replaced by PackageTrust.h. + (packagemeta::packagemeta): Fix incorrect syntax in String constructor + usage. + * cygpackage.cc (cygpackage::cygpackage): Fix incorrect syntax in + String constructor usage. + * site.h (site_list_type): Ditto. + +2002-05-03 Robert Collins + + * String++.h: Declare a << operator that accepts String objects. + * String++.cc: We need iostream for.. + (operator <<): this. Provide a << operator that accepts String objects. + * ini.cc (yyerror): Remove the "C" classifier - it's not needed. + Change from vargs to a String parameter. + * inilintmail.cc: Remove the gui related headers. + (yyerror): Implement this for parsing. + * iniparse.y: Use the new yyerror syntax. + +2002-05-03 Robert Collins + + * Makefile.am: Add IniState.h. + * Makefile.in: Regenerate. + * IniState.h: New file. + * choose.cc: Don't include ini.h - it's not needed. + * configure: Regenerate. + * desktop.cc: Don't include ini.h - it's not needed. + * download.cc: Ditto. + * fromcwd.cc: Ditto. + * ini.cc: Use IniState.h to track each parsing calling. + (find_routine): Ditto. + (do_remote_ini): Ditto. + (do_ini_thread): Ditto. + * ini.h (ini_init): Adjust parameters to include state object. + * inilex.l: Declare parser state variable. + (ini_init): Adjust parameters to include state object. + * iniparse.y: Remove obsolete setup_timestamp and setup_version + declarations. + (setup_header): Use new state variable to track time and version. + (add_correct_version): Ditto. + * install.cc: Don't include ini.h - it's not needed. + +2002-05-03 Robert Collins + + * nio-files.cc (NetIO): Use io_stream syntax for get_file_size. + * io_stream_file.cc: Don't include filemanip.h. + (io_stream_file::get_size): Implement here to remove filemanip + dependency. + * io_stream_cygfile.cc: Don't include filemanip.h. + (io_stream_cygfile::get_size): Implement here to remove filemanip + dependency. + Implement a stat based version for when win32 is not available. + * filemanip.h (get_file_size): Return size_t - it's more appropriate. + * filemanip.cc: Don't include win32.h - be platform independent. + Include strings.h and io_stream.h as part of that. + (get_file_size): Leverage io_streams and remove win32 implementation. + * download.cc (check_for_cached): Use io_stream syntax for + get_file_size. + (download_one): Ditto. + +2002-05-02 Robert Collins + + * configure.in: Correct a typo in last change. + * configure: Regenerate. + * Makefile.in: Regenerate. + +2002-05-02 Robert Collins + + * configure.in: Check for string.h and string. + * configure: Regenerate. + * Makefile.in: Regenerate. + +2002-05-01 Robert Collins + + * res.rc (IDD_SPLASH): Remove white box. + +2002-05-01 Robert Collins + + Oops! forgot to list these in the last checkin. + * inilintmain.cc: New file. + * md5.h: New file - imported md5 source, BSD style licence. + * md5.cc: New file - imported md5 source, BSD style licence. + * Exception.cc: New file. + * Exception.h: New file. + * MD5++.cc: New file. + * MD5++.h: New file. + +2002-05-01 Robert Collins + + * Makefile.am (AM_CFLAGS): Remove -mwindows, it's a linker flag. + Remove -fno-rtti, we need it for exceptions. + (AM_CXXFLAGS): Ditto. + (WARNONLY_CFLAGS): Ditto. + (EXTRA_PROGRAMS): Add with initial linter sources - not functional yet. + (setup_LDFLAGS): Add and set to -mwindows. + (setup_SOURCES): Add new sources. + * Makefile.in: Regenerate. + * README: Update TODO. + * choose.cc (scan_downloaded_files): Use ini information if it's + available. + * configure: Regenerate. + * download.cc (check_for_cached): Make reusable from elsewhere. + Throw exceptions on errors (as opposed to failures). + Check MD5 sum when it's known. + (download_one): Never force a download. + Handle corrupt package exceptions. + * ini.cc (find_routine): Reverse escape the URL to correctly identify + the site URL. + * inilex.l (MD5): Provide a parsing rule (note: lowercase is required). + * iniparse.y: Allow calculation of MD5 sums, and allow src only + packages. + (process_src): New helper function. + * isntall.cc (install_one_source): Check MD5 sums when possible. + Throw exceptions on errors. + (do_install_thread): Handle exceptions for installation calls. + * package_source.h: Store MD5 information. + * propsheet.cc (PropSheet::Create): Add a useful comment. + * res.rc (IDS_INSTALL_ERROR): Define. + (IDS_CORRUPT_PACKAGE): Define. + * resource.h (IDS_INSTALL_ERROR): Define. + (IDS_CORRUPT_PACKAGE): Define. + * rfc1738.cc (rfc1738_unescape_part): Implement. + * rfc1738.h (rfc1738_unescape_part): Declare. + +2002-04-29 Robert Collins + + * Makefile.am: Remove dependecy rules that automake emits. + Correct badly copied dependency info for manually compiled files. + (setup_SOURCES): Add all used headers. + (EXTRA_DIST): Include non compilate but required sources. + (setup_LDADD): Remove mingw32, it is autodetected. + * Makefile.in: Regenerate. + * String++.h: sys/types is a system header. + * choose.cc (do_choose_thread): Make into a Win32 thread routine. + Use ExitThread. + (ChooserPage::OnMessageApp): Use Win32 threads. (_beginthread is not + portable). + * configure: Regenerate. + * configure.in: Check for mingw32/cygwin specific headers and libraries. + * cygpackage.h: Include the win32.h header to get correct macro + definitions in all situations. + * download.cc (do_download_reflector): Make into a Win32 thread routine. + Use ExitThread. + (do_download): Use Win32 threads. + * ini.cc: Ditto. + * install.cc: Ditto. + * (WinMain): Adjust to build valid command line using application + under both mingw32 and cygwin. + * mount.cc (set)cygdrive_flags): Create new system flags if the + user requests system and the value does not exist. + * nio-http.cc: Define a _strnicmp for cygwin. + * package_db.cc: Include if it exists. + * site.cc (do_download_site_info_thread): Make into a Win32 thread + routine. + Use ExitThread. + (do_download_site-Info): Use Win32 threads. + * state.cc: Explicity declare variables to avoid header conflicts + caused by '#define extern" on cygwin. + * win32.h: Include if it exists. + (_MAX_PATH): Define as MAX_PATH when not defined by windows.h. + (_access): Define as access if not defined by windows.h. + +2002-04-27 Robert Collins + + * compress_gz.cc (compress_gz::error): EOF is not an error condition. + +2002-04-27 Robert Collins + + * Makefile.am: Add libgetopt++ to the subdirs list. + Search the libgetopt++ header directory. + Link against libgetopt++.la. + (setup_SOURCES): Remove GetOption.cc and getopt.c and Option.cc. + (setup_LDADD): Explicitly include res.o. + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * bootstrap.sh: Call libtoolize. + * configure: Regenerate. + * configure.in: Add libtool support and configure libgetopt++. + * desktop.cc (NoShortcutsOption): Turn into a BoolOption. + (DesktopSetupPage::OnInit): Use the simpler syntax. + * desktop.h: Remove dependency on Option.h, and remove NoShortcustOption + declaration. + * main.cc: Include getopt++/GetOption.h. + (main): Use simpler syntax. + * cdefs.h: Remove. + * getopt.h: Remove. + * getopt.c: Remove. + * GetOption.h: Remove. + * GetOption.cc: Remove. + * Option.h: Remove. + * Option.cc: Remove. + +2002-04-26 Robert Collins + + * Makefile.am: Add zlib and bz2lib to SUBDIRS. + +2002-04-26 Robert Collins + + * aclocal.m4: New file, cached macros. + * bootstrap.sh: New file, calls required autotools in appropriate + order. + * Makefile.am: New file, input Makefile for automake. + * Makefile,in: Now a generated file - regenerate. + * configure: Regenerate. + * configure.in: Add automake support. + * inilex.l: Change VERSION to PACKAGEVERSION to avoid a collision with + automake's VERSION define. + * iniparse.y: Ditto. + +2002-04-26 Robert Collins + + * cdefs.h: New file, imported to allow getopt.c to build without + cygwin headers. + * getopt.h: New file, imported to allow building without cygwin headers. + * getopt.c: Ditto. + * bz2lib: New directory, contains copy of bz2lib. + * cfgaux: New directory, contains autotool helper scripts. + * Makefile,in: Adjust library and target definitions for building + outside the sourceware tree. + * compress_bz.h: Use new bz2lib header location. + * mount.cc: Import key defines and enums to be independent of cygwin + headers. + * configure.in: Update to autoconf 2.53, and to be sourceware + independent. + * configure: Regenerate. + +2002-04-12 Robert Collins + + * mklink2.cc (make_link_2): Tweak to work with current w32api + headers. + +2002-04-10 Pavel Tsekov + + * version.cc (canonicalize_version): Fix a call delete[] + to delete the allocated address. + +2002-03-29 Robert Collins + + * PickView.cc (PickView::set_headers): Set last_col correctly. Thanks + to Ton van Overbeek for locating the bug area. + +2003-03-27 Robert Collins + + * PickView.cc (PickView::insert_pkg): Be more generic with + object use. + (PickView::insert_category): Ditto. + (PickView::~PickView): Create. + * PickView.h (PickView::~PickView): Declare. + +2003-03-27 Robert Collins + + * Makefile.in (OBJS): Add new commandline objects. + * desktop.cc (NoShortCutsOption): New option code. + (DesktopSetupPage::OnInit): Check whether to skip shortcuts. + * desktop.h (NoShortCutsOption): New concrete command line option class. + * main.cc (WinMain): Process command line options. + * GetOption.h: New file, singleton command line class. + * GetOption.cc: New file, implementation of the above. + * Option.h : New file, abstract option for GetOption. + * Option.cc: New file, implement constructor and destructor. + +2002-03-26 Pavel Tsekov + + * mkdir.cc (mkdir_p): Stop processing if the path is exhausted. + +2002-03-26 Ton van Overbeek + + * PickPackageLine.cc (PickPackageline::paint): Adjust clipping rectangle + to textheight, so large fonts work. + +2003-03-26 Robert Collins + + * io_stream_cygfile.cc (io_stream_cygfile::mklink): Don't translate + symlinks. + +2003-03-26 Robert Collins + + * io_stream_cygfile.cc (cwd): New static for cwd storage. + (io_stream_cygfile::normalise): New method. + (io_stream_cygfile::io_stream_cygfile): Use it. + (io_stream_cygfile::exists): Ditto. + (io_stream_cygfile::remove): Ditto. + (io_stream_cygfile::mklink): And again. + (cygmkdir_p): Yes, again. + (io_stream_cygfile::move): And once more. + * io_stream_cygfile.h (io_stream_cygfile::normalise): Declare. + (io_stream_cygfile::cwd): Ditto. + +2003-03-26 Robert Collins + + * package_meta.cc (package_meta::~package_meta): Remove duplicate. + (CategoryPackage::~CategoryPackage): Ditto. (Thanks to Ton van + Overbeek for the report). + * mklink2.cc: Moved from mklink2.c to avoid 'not a prototype error'. + Make g++ compatible. + * mklink2.c: Remove. + * site.cc (site_list_type::init): Delete the correct memory addres. + Thanks to Pavel Tsekov for tracking this down. + +2002-03-20 Robert Collins + + * win32.h: Only define alloca if it's not already. + +2002-03-20 Robert Collins + + * package_meta.h (packamgemeta::trustp): Make 'test' choice leave installed + packages alone. + * README: Update with latest requests. + * Various: MTC fixes from setup200202 branch. + +2002-03-19 Christopher Faylor + + * Makefile.in (setup_version.c): Add back magic which allows detection + of setup.exe version number. + +2002-03-17 Robert Collins + + * * PickPackageLine.cc (PickPackageLine::paint): Fix incorrect clip region + calculation on win9x systems. + +2002-03-16 Robert Collins + + * install.cc (install_one_source): Write the correct length of a string to the + lst file (Thanks to Pavel Tsekov for reporting the bug). + +2002-03-15 Robert Collins + + * choose.cc (list_click): Always refresh the entire chooser, as our + package state change mechanism is broken with the new improved list classes. + +2002-03-15 Robert Collins + + * desktop.cc (make_passwd_group): Check for .lnk suffix on /etc/passwd and + /etc/group. + +2002-03-15 Robert Collins + + * PickPackageLine.cc (PickPackageLine::DrawCheck): New method factored out from + paint(). + (PickPackageLine::paint): Use DrawCheck to draw the src tick box, and the new + bin tickbox. + (PickPackageLine::click): Handle the new bin tickbox. + * PickPackageLine.h (PickPackageLine::DrawCheck): Declare this. + * PickView.cc (pkg_headers): Add a Bin? column. + (cat_headers): Ditto. + (PickView::set_headers): Ditto. + (PickView::init_headers): Ditto. + * PickView.h (PickView): Ditto. + * choose.cc (list_click): Use the new name for src_col to set the clip rectangle. + +2002-02-24 Michael A Chase + + * io_stream_cygfile.cc (io_stream_cygfile::mklink): Fix up Robert's + fixup. + +2002-02-24 Michael A Chase + + * desktop.cc (make_link): Add "file://" prefix to io_stream::mkpath_p() + call. + (make_passwd_group): Ditto. + * localdir.cc (save_local_dir): Ditto. + * io_stream_cygfile.cc (io_stream_cygfile::mklink): Wrap long lines. + Add "cygfile://" prefix to io_stream::open() calls. + +2002-02-24 Robert Collins + + * log.cc (log_save): Fix creating /var/log. + * packate_meta.cc (standard_dirs): Remove duplicate '/''s. + +2002-02-24 Gary R. Van Sickle + + * res.rc (STRINGTABLE): Add IDS_CYGWIN_SETUP and + IDS_CYGWIN_SETUP_WITH_PROGRESS strings. + * resource.h: Add IDS_CYGWIN_SETUP and + IDS_CYGWIN_SETUP_WITH_PROGRESS IDs. + + * splash.cc (OnInit): Qualify SetWindowText() call with global scope + operator (::SetWindowText()). + + * threebar.cc: Run indent. + (cistring.h): Add include. + (SetText1, SetText2, SetText3): Qualify SetWindowText() call with + global scope operator. + (SetBar2): Add logic for writing percent complete into window title. + + * window.h: Run indent. + (SetWindowText): New function. + (String): Add forward declaration. + * window.cc: Run indent. + (String++.h): Add include. + (SetWindowText): New function. + +2002-02-24 Robert Collins + + * README: Update TODO list. + * install.cc (install_one): Fix src package location. + (do_install_thread): Fix creating directories. + +2002-02-19 Robert Collins + + * choose.cc: Include cygpackage.h for scan2 use. + (set_existence): Ignore setup.ini mirrors when installing from cwd. + (scan2): Process any valid file. + Add cache entries when a file matching a setup.ini listed version is found. + * filemanip.cc (parse_filename): Remove pkgtar - not used anywhere else. + * filemanip.h (filemanip::pkgtar): Remove. + * package_meta.cc (CategoryPackage::~CategoryPackage): New method. + (packagemeta::~packagemeta): Move from package_meta.h + Remove and delete all version and category information. + * package_meta.h (CategoryPackage): Create a destructor. + (packagemeta::~packagemeta): Move to .cc file. + +2002-02-19 Robert Collins + + * install.cc (install_one_source): Make NULL cached package names cause + errors. + +2002-02-18 Michael A Chase + + * desktop.cc (make_passwd_group): Don't create passwd-grp.bat + unnecessarily. + +2002-02-18 Michael A Chase + + * log.cc (log_save): Put "\n" at end of log lines instead of "'". + +2002-02-19 Robert Collins + + * mount.cc (create_mount): Avoid a const char*->char* warning. + (read_mounts): Ditto. + +2002-02-05 Jason Tishler + + * download.cc (do_download_thread): Fix off-by-one error. + +2002-02-19 Robert Collins + + * configure.in (CXXFLAGS): Substitute at configure time, not runtime. + * configure (CXXFLAGS): Regenerate. + * Makefile.in (iniparse.o): Build via default rules - no errors now. + * README: TODO list updates. + +2002-02-19 Michael A Chase + + * String++.cc (String::concat):: Remove. + (String::vconcat):: Ditto. + * String++.h (String::concat):: Remove. + (String::vconcat):: Ditto. + * archive_tar.cc: Don't include concat.h. + * archive_tar_file.cc: Don't include concat.h. + * compress_bz.cc (compress_bz::peek): Don't log unneeded messages. + (compress_bz::seek): Ditto. + (compress_bz::~compress_bz): Ditto. + * compress_gz.cc (compress_gz::peek): Ditto. + (compress_gz::error): Ditto. + (compress_gz::~compress_gz): Ditto. + * concat.cc (vconcat): Remove. + (concat): Ditto. + * concat.h (vconcat): Remove. + (concat): Ditto. + * desktop.cc (desktop_icon): Use new cygpath. + (make_etc_profile): Ditto. + (uexists): Ditto. + (make_passwd_group): Ditto. + (save_icon): Ditto. + (check_desktop): Remove concat use. + (check_start_menu): Ditto. + * download.cc (download_one): Use new mkpath_p correctly. + Use LOG_PLAIN. + * fromcwd.cc: Don't include concat.h. + * geturl.cc (get_url_to_membuf): Use String log() call. + (get_url_to_file): Ditto. + * install.cc: Don't include concat.h. + (uninstall_one): Use LOG_PLAIN. + (replace_one): Ditto. + (install_one_source): Ditto. + (install_one): More char to String conversion. + (do_install_thread): Use new cygpath. + Use new create_mount. + * io_stream.cc (io_stream::move): Use new log(). + * io_stream_cygfile (io_stream_cygfile::io_stream_cygfile): Use new cygpath. + (io_stream_cygfile::exists): Ditto. + (io_stream_cygfile::remove): Ditto. + (io_stream_cygfile::mklink): Ditto. + (io_stream_cygfile::write): Ditto. + (cygmkdir_p): Ditto. + (io_stream_cygfile::move): Ditto. + * io_stream_file.cc: Don't include log.h. + (io_stream_file::write): Don't log unneeded messages. + * localdir.cc: Don't include concat.h. + (LocalDirPage::OnNext): Use LOG_PLAIN. + * log.cc: Don't include log.h. + (exit_setup): Use new cygpath. + * log.h (log_level): Add new level LOG_PLAIN. + * main.cc (WinMain): Use new log(). + * mount.cc (SLASH_P): New macro from concat.h. + (cygpath): Make String version globally visible. + Remove varargs version. + * mount,h: Ditto. + * msg.cc (mbox): Use LOG_PLAIN. + * net.cc (NetPage::OnNext): Ditto. + * nio-ftp.cc (ftp_line): Use new log(). + * nio-http.cc: Don't include log.h. + (retry_get): Use alternative url variable. + * package_db.cc: Don't include concat.h. + (packagedb::flush): Don't use concat. + * package_meta.cc: Don't include concat.h. + (packagemeta::uninstall): Use new cygpath. + * postinstall.cc (do_postinstall): Ditto. + * root.cc (RootPage::OnNext): Use LOG_PLAIN. + * script.cc: Don't include concat.h. + (init_run_script): Use new cygpath. + (run_script): More char * to String conversion. + (try_run_script): Ditto. + * site.cc: Don't include concat.h. + (SitePage::OnNext): Use LOG_PLAIN. + (SitePage::OnMessageCmd): Use new log(). + * source.cc (SourcePage::OnDeactivate): Use LOG_PLAIN. + +2002-02-19 Robert Collins + + * Makefile.in (OBJS): Add new object. + * PickCategoryLine.cc (PickCategoryLine::paint): Print a "+" before the name. + * PickCategoryLine.h (PickCategoryLine::bucket): Use the String class. + * PickLine.h (Pickline::key): Change to a String to help plug leaks. + (PickLine::Pickline): Accept a String for the key. + * PickPackageLine.cc (PickPackageLine::paint): Convert all char use to Strings. + * PickPackageLine.h (PickPackageLine::PickPackageLine): The key is automatically + initialisednow. + * PickView.cc (PickView::note_width): Convert all char * use to Strings. + (PickView::init_header): Move category length checking out of the inner loop for + efficiency. + Convert all char use to Strings. + * PickView.h: Include the String++ header. + (PickView::note_width): Update the prototype. + * String++.cc: New file, implements a reference counting string class. + * String++.h: New file, declares a reference counting string class. + * archive.cc: Include String++ instead of concat. + (archive::extract_file): Convert char * usage to Strings. + * archive.h: Inlude the String++ header. + (archive::extract_file): Update prototype. + (archive::next_file_name): Convert to a String. + (archive::linktarget): Ditto. + * archive_tar.cc (archive_tar::next_file_name): Convert to String usage. + (archive_tar::linktarget): Ditto. + * arhive_tar.h: Update the copyright. + Explicitly include the relevant headers. + (tar_map_result_type): Convert to String usage. + (archive_tar::next_file_name): Update prototype. + (archive_tar::linktarget): Ditto. + * category.cc (Category::Category): Update initialisers. + Convert to String usage. + (Categorycmp): Update to String usage. + * category.h: Include the String++ header. + (Category::Category): Update to String usage. + (Category::name): Ditto. + (Category::key): Ditto. + * choose.cc: Remove concat.h, it's not needed. + (scan2): Update to String usage. + (do_choose): Ditto. + * cygpackage.cc: Update includes for use of String class. + (cygpackage::cygpackage): Update for String usage. + (cygpackage::set_canonical_version): Ditto. + (cygpackage::destroy): Ditto. + (cygpackage::getfirstfile): Ditto. + (cygpackage::getnextfile): Ditto. + (cygpackage::Name): Ditto. + (cygpackage::Vendor_version): Ditto. + (cygpackage::Package_version): Ditto. + (cygpackage::Canonical_version): Ditto. + (cygpackage::set_sdesc): Ditto. + (cygpackage::set_ldesc): Ditto. + * cygpackage.h: Include String++.h for parsing this file. + (cygpackage::cygpackage): Update for String usage. + (cygpackage::set_canonical_version): Ditto. + (cygpackage::destroy): Ditto. + (cygpackage::getfirstfile): Ditto. + (cygpackage::getnextfile): Ditto. + (cygpackage::Name): Ditto. + (cygpackage::Vendor_version): Ditto. + (cygpackage::Package_version): Ditto. + (cygpackage::Canonical_version): Ditto. + (cygpackage::set_sdesc): Ditto. + (cygpackage::set_ldesc): Ditto. + (cygpackage::name): Ditto. + (cygpackage::vendor): Ditto. + (cygpackage::packagev): Ditto. + (cygpackage::canonical): Ditto. + (cygpackage::fn): Ditto. + (cygpackage::sdesc): Ditto. + (cygpackage::ldesc): Ditto. + * desktop.cc: Update includes for use of String class. + (batname): Update for String usage. + (iconname): Ditto. + (make_link): Ditto. + (start)menu): Ditto. + (desktop_icon): Ditto. + (make_cygwin_bat): Ditto. + (make_etc_profile): Ditto. + (uexists): Ditto. + (make_passwd_group): Ditto. + (save_icon): Ditto. + (check_desktop): Ditto. + (check_startmenu): Ditto. + * dialog.cc (eget): Update for String usage. + (egetString): New function. + (eset): New variant for Strings. + * dialog.h: Include String++.h for parsing this file. + (egetString): New function. + (eset): New variant for Strings. + * diskfull.cc (diskfull): Update for String usage. + * diskfull.h: Include String++.h for parsing this file. + (diskfull): Update for String usage. + * download.cc: Update includes for use of String class. + (check_for_cached): Update for String usage. + (download_one): Ditto. + * filemanip.cc (get_file_size): Ditto. + (base): Ditto. + (parse_filename): Ditto. + (backslash): Ditto. + * filemanip.h: Include String++.h for parsing this file. + (fileparse): Update for String usage. + (base): Ditto. + (parse_filename): Ditto. + Don't consider '_' to be a separator. + (backslash): Ditto. + * find.cc: Update includes for use of String class. + (find_sub): Make more flexible. + (find): Update for String usage. + * find.h (find): Use Strings. + * fromcwd.cc (found_file): Update for String usage. + * geturl.cc: Ditto. + (init_dialog): Ditto. + (get_url_to_membuf): Ditto. + (get_url_to_string): Ditto. + (get_url_to_file): Ditto. + * geturl.h: Ditto. + (get_url_to_membuf): Ditto. + (get_url_to_string): Ditto. + (get_url_to_file): Ditto. + * hash.h: Ditto. + (add_subdirs): Ditto. + * ini.cc: Update includes for String usage. + (find_routine): Update for String usage. + (do_remote_ini): Ditto. + (do_ini_thread): Ditto. + * ini.h (ini_init): Ditto. + * inilex.l: Update includes for String usage. + (ini_init): Update for String usage. + * iniparse.y: Ditto. + (add_correct_version): Ditto. + * install.cc: Update includes for String usage. + (install_one_source): Update for String usage. + (uninstall_one): Ditto. + (replace_one): Ditto. + (install_one_source): Ditto. + (do_install_thread): Ditto. + * io_stream.cc: Update includes for String usage. + (io_stream::open): Update for String usage. + (io_stream::mkpath_p): Ditto. + (io_stream::remove): Ditto. + (io_stream::mklink): Ditto. + (io_stream::move_copy): Ditto. + (io_stream::move): Ditto. + (io_stream::exists): Ditto. + * io_stream.h: Update includes to allow correct parsing. + (io_stream::open): Update for String usage. + (io_stream::mkpath_p): Ditto. + (io_stream::remove): Ditto. + (io_stream::mklink): Ditto. + (io_stream::move_copy): Ditto. + (io_stream::move): Ditto. + (io_stream::exists): Ditto. + * io_stream_cygfile.cc: Update includes for String usage. + (get_root_dir_now): Update for String usage. + (io_stream_cygfile::io_stream_cygfile): Ditto. + (io_stream_cygfile::~io_stream_cygfile): Ditto. + (io_stream_cygfile::exists): Ditto. + (io_stream_cygfile::remove): Ditto. + (io_stream_cygfile::mklink): Ditto. + (cygmkdir_p): Ditto. + (io_stream_cygfile::set_mtime): Ditto. + (io_stream_cygfile::move): Ditto. + (io_stream_cygfile::get_size): Ditto. + * io_stream_cygfile.h: Update includes for String usage. + (io_stream_cygfile::io_stream_cygfile): Update for String usage. + (io_stream_cygfile::~io_stream_cygfile): Ditto. + (io_stream_cygfile::exists): Ditto. + (io_stream_cygfile::remove): Ditto. + (io_stream_cygfile::mklink): Ditto. + (cygmkdir_p): Ditto. + (io_stream_cygfile::set_mtime): Ditto. + (io_stream_cygfile::move): Ditto. + (io_stream_cygfile::get_size): Ditto. + (io_stream_cygfile::fname): Ditto. + (io_stream_cygfile::lmode): Ditto. + * io_stream_file.cc: Update includes for String usage. + (io_stream_file::io_stream_file): Update for String usage. + (io_stream_file::~io_stream_file): Ditto. + (io_stream_file::exists): Ditto. + (io_stream_file::remove): Ditto. + (io_stream_file::mklink): Ditto. + (io_stream_file::set_mtime): Ditto. + (io_stream_file::move): Ditto. + (io_stream_file::get_size): Ditto. + * io_stream_file.h: Update includes for String usage. + * io_stream_file.cc: Update includes for String usage. + (io_stream_file::io_stream_file): Update for String usage. + (io_stream_file::~io_stream_file): Ditto. + (io_stream_file::exists): Ditto. + (io_stream_file::remove): Ditto. + (io_stream_file::mklink): Ditto. + (io_stream_file::set_mtime): Ditto. + (io_stream_file::move): Ditto. + (io_stream_file::get_size): Ditto. + (io_stream_file::fname): Ditto. + (io_stream_file::lmode): Ditto. + * localdir.cc: Update includes for String usage. + (save_local_dir): Update for String usage. + (check_if_enable_next): Ditto. + (load_dialog): Ditto. + (browse_cb): Ditto. + (LocalDirPage::OnInit): Ditto. + (LocalDirPage::OnNext): Ditto. + * log.cc: Update includes for String usage. + (struct LogEnt): Update for String usage. + (log): Ditto. + (log_save): Ditto. + (exit_setup): Ditto. + * log.h: Update includes for String usage. + (log_level): Update for String usage. + (log): Ditto. + (log_save): Ditto. + * main.cc (WinMain): Update for String usage. + * mklink2.c (make_link_2): Update for String usage. + * mklink2.h (make_link_2): Update for String usage. + * mount.cc: Update includes for String usage. + (mount_table): Update for String usage. + (find2): Ditto. + (create_mount): Ditto. + (remove1): Ditto. + (remove_mount): Ditto. + (read_mounts): Ditto. + (set_root_dir): Ditto. + (get_root_dir): Ditto. + (path_prefix_p): Ditto. + (cygpath): Ditto. + * mount.h: Update includes for String usage. + (create_mount): Update for String usage. + (remove_mount): Ditto. + (cygpath): Ditto. + (set_root_dir): Ditto. + (get_root_dir): Ditto. + * msg.cc (mbox): Ditto. + * net.cc (NetPage::OnNext): Ditto. + * package_db.cc (packagedb::flush): Ditto. + (packagedb::packages): Ditto. + (packagedb::categories): Ditto. + * package_db.h: Update includes for String usage. + (packagedb::packages): Update for String usage. + (packagedb::categories): Ditto. + * package_meta.cc: Update includes for String usage. + (hash::add_subdirs): Update for String usage. + (packagemeta::uninstall): Ditto. + (packagemeta::SDesc): Ditto. + (packagemeta::action_caption): Ditto. + * package_meta.h: Update includes for String usage. + (packagemeta::packagemeta): Update for String usage. + (packagemeta::~packagemeta): Ditto. + (packagemeta::uninstall): Ditto. + (packagemeta::SDesc): Ditto. + (packagemeta::action_caption): Ditto. + (package_source.cc site::site): Ditto. + (packagesource::set_canonical): Ditto. + (packagesource::set_cached): Ditto. + * package_source.h: Update includes for String usage. + (site::site): Update for String usage. + (packagesource::set_canonical): Ditto. + (packagesource::set_cached): Ditto. + (packagesource::packagesource): Ditto. + (packagesource::sites): Ditto. + (packagesource::cached): Ditto. + * package_version.h: Update includes for String usage. + (Dependency): Update for String usage. + (packageversion): Ditto. + * postinstall.cc: Update includes for String usage. + (do_postinstall): Update for String usage. + * res.rc (IDD_LOCAL_DIR): Fix typo again! + * rfc1738.cc (rfc1738_escape_part): Update for String usage. + * rfc1738.h: Update includes for String usage. + (rfc1738_escape_part): Update for String usage. + * root.cc: Update includes for String usage. + (check_if_enable_next): Update for String usage. + (save_dialog): Ditto. + (browse_cb): Ditto. + (directory_is_absolute): Ditto. + (directory_is_rootdir): Ditto. + (directory_has_spaces): Ditto. + (RootPage::OnInit): Ditto. + (RootPage::OnNext): Ditto. + * script.cc: Update includes for String usage. + (init_run_script): Update for String usage. + (run): Ditto. + (run_script): Ditto. + (try_run_script): Ditto. + * script.h: Update includes for String usage. + (run_script): Update for String usage. + (try_run_script): Ditto. + * site.cc site_list): Ditto. + (all_site_list): Ditto. + (other_url): Eliminate. + (site_list_type::init): Update for String usage. + (site_list_type::site_list_type): Ditto. + (get_site_list): Ditto. + (get_saved_sites): Ditto. + (do_download_site_info_thread): Ditto. + (SitePage::OnNext): Ditto. + (SitePage::OnActivate): Ditto. + (SitePage::PopulateListBox): Ditto. + (SitePage::OnMessageCmd): Handle empty url's. + * site.h: Update includes for String usage. + (site_list_type::site_list_type): Update for String usage. + (site_list_type::init): Ditto. + (site_list_type::~site_list_type): Ditto. + (site_list_type::url): Ditto. + (site_list_type::displayed_url): Ditto. + (site_list_type::key): Ditto. + * source.cc (SourcePage::OnDeactivate): Ditto. + * state.h: Update includes for String usage. + (local_dir): Update for String usage. + (trust_level): Remove. + * version.cc: Update includes for String usage. + (canonicalize_version): Update for String usage. + * version.h: Update includes for String usage. + (canonicalize_version): Update for String usage. + +2002-02-15 Christopher Faylor + + * filemanip.c (parse_filename): Revert previous change. + +2002-02-14 Christopher Faylor + + * filemanip.c (parse_filename): Don't treat '_' as a version number + introducer. + +2002-01-29 Christopher Faylor + + * configure: Regenerate. + 2002-01-27 Robert Collins - * res.rc (IDD_LOCAL_DIR): Fix typo reported by Rene + * res.rc (IDD_LOCAL_DIR): Fix typo reported by Rene + 2002-01-27 Robert Collins @@ -9,18 +1777,18 @@ (list): New methods checksize and insert to reduce code duplication. (list::registerbykey): Use them. (list::registerbyobject): Ditto. - (list::removebyindex): Copy each object individually - safe for non trivial - objects. + (list::removebyindex): Copy each object individually - safe for non + trivial objects. (list::checksize): Implement. (list::insert): Implement. 2002-01-27 Robert Collins * Makefile.in: Remove the dlmalloc object by default. - * install.cc (do_install_thread): Remove the mallinfo call for 'working around' - the crashing issue. + * install.cc (do_install_thread): Remove the mallinfo call for 'working + around' the crashing issue. * package_db.h: Include - it's needed to parse this. - * package_source.cc (site::site): Move here from the header file. + * package_source.cc (site::site): Move here from the header file. * package_source.h (site): Stop the constructor being inlinable. 2002-01-26 Robert Collins @@ -31,19 +1799,21 @@ * filemanip.cc (find_tar_ext): Clean up tests for .tar.gz and .tar. * fromcwd.cc (do_fromcwd): Expand FIXME comment in source file check. - * install.cc (install_one_source): Add space between words in log() call. - + * install.cc (install_one_source): Add space between words in log() + call. + 2002-01-22 Robert Collins - * log.cc (exit_setup): When saving to the download dir, explicity specify - the path. + * log.cc (exit_setup): When saving to the download dir, explicity + specify the path. 2002-01-22 Robert Collins - * archive.cc (extract_file): Separate out the prefix and the URL scheme. + * archive.cc (extract_file): Separate out the prefix and the URL + scheme. * archive.h (archive::extract_file): Ditto. - * install.cc (install_one_source): Ditto. - Use the new archive::extract_file syntax. + * install.cc (install_one_source): Ditto. Use the new + archive::extract_file syntax. (replace_one): Use the new syntax. (io_stream.cc): Add some log info for links. @@ -55,8 +1825,8 @@ (PickCategoryLine::set_action): New method. * PickCategoryLine.h (PickCategoryLine::-actions): Remove. (PickCategoryLine::current_default): Use packagemeta _actions class. - * PickLine.h (PickLine::set_action): New abstract method that requires including - package_meta.h. + * PickLine.h (PickLine::set_action): New abstract method that requires + including package_meta.h. * PickPackageLine.cc (PickPackageLine::set_action): New method. * PickPackageLine.h (PickPackageLine::set_action): Declare this. * list.h (getbykey): A const correctness fix. @@ -158,11 +1928,11 @@ * compress_gz.cc (compress_gz::~compress_gz): Mark the stream as destroyed. * io_stream.cc (io_stream::~io_stream): Only warn when the stream is not marked as destroyed. - * io_stream_cygfile.cc (io_stream_cygfile::~io_stream_cygfile): Mark the + * io_stream_cygfile.cc (io_stream_cygfile::~io_stream_cygfile): Mark the stream as destroyed. * io_stream_file.cc (io_stream_file::~io_stream_file): Ditto. * io_stream_memory.cc (io_stream_memory::~io_stream_memory): Ditto. - + 2002-01-21 Robert Collins * Makefile.in (CFLAGS): Allow customisable malloc debug flags. @@ -246,7 +2016,7 @@ (view::views::caption): New method. (view::set_headers): Use the new view::views class. (view::clear_view): Ditto. - (viewsplusplus): Replaced by + (viewsplusplus): Replaced by (view::views::operator++): New operator. (set_view_mode): Use the new view::views class. (create_listview): Ditto. @@ -293,11 +2063,11 @@ 2002-01-07 Gary R. Van Sickle - * fromcwd.cc: Run indent. + * fromcwd.cc: Run indent. (do_fromcwd): Reverse sense of comment. Set next_dialog to IDD_CHOOSER instead of IDD_CHOOSE. * ini.cc (find_routine): Remove "/" from "/setup.ini". - + 2001-01-07 Robert Collins * category.cc (Categorycmp): Add a const safe version. @@ -321,7 +2091,7 @@ * cygpackage.h (cygpackage): Make set_[s|l]desc virtual. * iniparse.y (add_correct_version): Copy descriptions across. - * package_meta.cc (SDesc): Iterate through versions, return the first with a + * package_meta.cc (SDesc): Iterate through versions, return the first with a description. * package_version.h (packageversion): Add new virtuals set_[l|s]desc. @@ -350,7 +2120,7 @@ * package_meta.cc (uninstall): Run pre- and postremove scripts. * install.cc: Typo fix. (do_install): Run script initialisation. - + 2001-01-04 Gary R. Van Sickle * cistring.cc: Run d2u. @@ -468,7 +2238,7 @@ * choose.cc (set_existence): Delete non installed packages with no mirrors. (fill_missing_category): Fix an off-by-one error. - (default_trust): Ditto. Also delete any unused categories. + (default_trust): Ditto. Also delete any unused categories. (view::init_headers): Fix an off-by-one error. (set_view_mode): Ditto. (set_view_mode): Ditto. @@ -505,7 +2275,7 @@ (SourcePage): Add class implementation to this file. (do_source): Remove, functionality subsumed by SourcePage::Create() and SourcePage::OnDeactivate(). - (dialog_proc): Remove, functionality subsumed by + (dialog_proc): Remove, functionality subsumed by SourcePage::OnActivate(). * site.h: Run indent. @@ -534,7 +2304,7 @@ (RootPage::OnInit): New member function. Move get_root_dir() logic to here from do_root(). (RootPage::Create): New member function. - (RootPage::OnNext): New member function. Move IDOK logic from + (RootPage::OnNext): New member function. Move IDOK logic from dialog_cmd() to here. (RootPage::OnBack): New member function. @@ -549,19 +2319,19 @@ * other.cc (do_other): Add owner parameter. * nio-file.cc (NetIO::Purl): Pass NULL parent param to note(). - * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Pass NULL parent param to + * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Pass NULL parent param to get_ftp_auth(). - * nio-http.cc (retry_get): Pass NULL parent param to get_auth(), + * nio-http.cc (retry_get): Pass NULL parent param to get_auth(), get_proxy_auth(), and get_ftp_auth(). - * nio-ie5.cc (NetIO::_url): Pass NULL parent param to note(), + * nio-ie5.cc (NetIO::_url): Pass NULL parent param to note(), get_auth(), get_proxy_auth(). * netio.h (get_auth, get_proxy_auth, get_ftp_auth): Add owner param. - * netio.cc (auth_common, NetIO::get_auth, NetIO::get_proxy_auth, + * netio.cc (auth_common, NetIO::get_auth, NetIO::get_proxy_auth, NetIO::get_ftp_auth) (auth_common): Add owner param. Pass owner param to DialogBox. - (NetIO::get_auth, NetIO::get_proxy_auth, NetIO::get_ftp_auth): Pass + (NetIO::get_auth, NetIO::get_proxy_auth, NetIO::get_ftp_auth): Pass owner param to auth_common(). * net.h (NetPage): New file, new class. @@ -570,7 +2340,7 @@ (Progress): Add extern. (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, now handled by property sheet logic. Saved temporarily for reference. - (NetPage::Create, NetPage::OnInit, NetPage::OnDeactivate, + (NetPage::Create, NetPage::OnInit, NetPage::OnDeactivate, NetPage::OnNext, NetPage::OnBack): New implementation of NetPage class members. (do_net): Remove. @@ -582,7 +2352,7 @@ now that we have a parent. * main.cc: Run indent. - (commctrl.h, proppage.h, propsheet.h, splash.h, source.h) + (commctrl.h, proppage.h, propsheet.h, splash.h, source.h) (localdir.h, net.h, site.h, choose.h, threebar.h, desktop.h): Include headers. (root_dialog_proc): extern into this file. @@ -604,7 +2374,7 @@ (threebar.h): New include. (Progress): extern into this file. (LocalDirPage::Create, LocalDirPage::OnInit, LocalDirPage::OnActivate) - (LocalDirPage::OnNext, LocalDirPage::OnBack): Implementation of + (LocalDirPage::OnNext, LocalDirPage::OnBack): Implementation of LocalDirPage. (LocalDirPage::OnNext): Move log() call from do_local_dir() to here. (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL handlers. @@ -618,23 +2388,23 @@ (ins_dialog, ins_action, ins_pkgname, ins_filename, ins_pprogress) (ins_iprogress, ins_diskfull, init_event): Remove, now handled by ThreeBarProgressPage. - (dialog_cmd, dialog_proc, dialog): Removed, handled in + (dialog_cmd, dialog_proc, dialog): Removed, handled in ThreeBarProgressPage. - (init_dialog): Remove all mention of the above ins_* handles. Now - handled in ThreeBarProgressPage. Altered SetWindowText()s to call + (init_dialog): Remove all mention of the above ins_* handles. Now + handled in ThreeBarProgressPage. Altered SetWindowText()s to call ThreeBarProgressPage instance Progress directly. (progress): Alter bar update logic to call ThreeBarProgressPage instance Progress directly. (uninstall_one): Alter SetWindowText()s to call ThreeBarProgressPage instance Progress directly. - (install_one_source): Alter SetWindowText()s to call + (install_one_source): Alter SetWindowText()s to call ThreeBarProgressPage instance Progress directly. Pass NULL parent to note(). - (do_install_thread): Rename from do_install(), added owner param. + (do_install_thread): Rename from do_install(), added owner param. Alter SetWindowText()s to call ThreeBarProgressPage instance Progress directly. Remove dismiss_url_status_dialog() call, no longer necessary. Remove - ShowWindow() call, also unnecessary now. Pass owner handle to + ShowWindow() call, also unnecessary now. Pass owner handle to fatal(). (do_install_reflector): New function. (do_install): New function. @@ -643,10 +2413,10 @@ (Progress): externed into this file. (find_routine): Pass NULL parent to note(). (do_local_ini): Add owner param. - (do_remote_ini): Add owner param. Pass owner to get_url_to_membuf() + (do_remote_ini): Add owner param. Pass owner to get_url_to_membuf() and note(). Remove call to dismiss_url_status_dialog(). (do_ini_thread): Rename from do_ini(). Add owner param. Pass owner to - do_local_ini(), do_remote_ini(), yesno(), and note(). Set next_dialog + do_local_ini(), do_remote_ini(), yesno(), and note(). Set next_dialog to IDD_CHOOSER on exit. (do_ini_thread_reflector): New function. (context): New var. Context for do_ini_thread. @@ -654,26 +2424,26 @@ * geturl.h (get_url_to_membuf, get_url_to_string, get_url_to_file): Add owner param. - * geturl.cc (gw_dialog, gw_url, gw_rate, gw_progress, gw_pprogress, + * geturl.cc (gw_dialog, gw_url, gw_rate, gw_progress, gw_pprogress, gw_iprogress) - (gw_progress_text, gw_pprogress_text, gw_iprogress_text, init_event): + (gw_progress_text, gw_pprogress_text, gw_iprogress_text, init_event): Removed. (threebar.h): New include. (Progress): externed into this file. - (dialog_cmd, dialog_proc, dialog): Removed, handled by + (dialog_cmd, dialog_proc, dialog): Removed, handled by ThreeBarProgressPage now. - (init_dialog): Remove "if (gw_dialog == 0)" clause. Alter + (init_dialog): Remove "if (gw_dialog == 0)" clause. Alter SetWindowText()s - and bar setting SendMessage()s to call ThreeBarProgressPage instance + and bar setting SendMessage()s to call ThreeBarProgressPage instance Progress directly. Remove "one bar only" logic, this is now handled explicitly in the ThreeBarProgressPage class. - (progress): Altered bar and text update logic to call + (progress): Altered bar and text update logic to call ThreeBarProgressPage instance Progress directly. Changed kbps calculation to floating point and now print out a single decimal place. (get_url_to_membuf): Add owner param. Pass it to init_dialog. (get_url_to_string): Add owner param. Pass it to get_url_to_membuf. - (get_url_to_file): Add owner param. Pass it to init_dialog. Alter bar + (get_url_to_file): Add owner param. Pass it to init_dialog. Alter bar update logic to call ThreeBarProgressPage instance Progress directly. (dismiss_url_status_dialog): Remove. @@ -696,7 +2466,7 @@ * desktop.h (DesktopSetupPage): New file, new class. * desktop.cc: Run indent. (desktop.h): Add include. - (dialog_proc, do_desktop): Remove, now handled in + (dialog_proc, do_desktop): Remove, now handled in DesktopSetupPage::OnInit(). (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, handled in DesktopSetupPage::OnFinish(), DesktopSetupPage::OnBack(), and PropSheet @@ -711,7 +2481,7 @@ * choose.h: Run indent. (Chooser): New class declaration. * choose.cc: Run indent. - (do_choose): Add owner param. Pass it to DialogBox() and + (do_choose): Add owner param. Pass it to DialogBox() and fatal(). (Chooser): New class implementation. @@ -743,7 +2513,7 @@ (NEW_COL_SIZE_SLOP): Define without magic numbers. (pkgtrustp): Convert to function. (set_action): Remove. - (add_required, fill_missing_category,default_trust): Use list syntax for + (add_required, fill_missing_category,default_trust): Use list syntax for package list. Use new set_action. (choose_caption): Remove. @@ -853,14 +2623,14 @@ * site.cc (site_list_type): Move to site.h (site_list): New global, sites chosen by the user. (all_site_list): New global, all potential sites. - (site_list_type::init): New method, parses a mirror.lst URL string into a + (site_list_type::init): New method, parses a mirror.lst URL string into a site_list_type object. (site_list_type::site_list_type): New method. (check_if_enable_next): Examine the control, not a local variable. (load_dialog): Select all the user chosen sites by default. - (save_dialog): Adjust for multiple selection semantics. + (save_dialog): Adjust for multiple selection semantics. (save_site_url): Save all user chosen sites. - (dialog_cmd): Don't save the dialog when the listbox recieves a message - + (dialog_cmd): Don't save the dialog when the listbox recieves a message - thats not needed. Remove obsolete other_url reference. (dialog_proc): Use all_site_list instead of site_list. @@ -943,7 +2713,7 @@ * package_source.cc (packagesource::set_canonical): Ditto. (packagesource::set_cached): Ditto. * package_source.h (site::~site): Ditto. - * site.cc: Change site_list_type to a class, and search and replace sort_key to + * site.cc: Change site_list_type to a class, and search and replace sort_key to key globally. 2001-12-01 Robert Collins @@ -961,7 +2731,7 @@ * category_list.h: Remove. (Categorycmp): New function prototype. * choose.cc: Remove category_list - not needed. - (set_action): Only show the 'source' option when the source is actually + (set_action): Only show the 'source' option when the source is actually available. (add_required): Fix recursion limiter to 5. (fill_missing_category): Use list access. @@ -982,7 +2752,7 @@ (packagedb): Use the list template for categories. * package_meta.cc (add_category): Ditto. * package_meta.h (CategoryPackage): Link to the category as well. - (packagemeta): Use a list of CategoryPackages instead of Categories + (packagemeta): Use a list of CategoryPackages instead of Categories for more memory efficient cross-referencing. 2001-11-30 Robert Collins @@ -1135,7 +2905,7 @@ (uninstall_one): Use packagemeta->uninstall to perform the uninstallation. Don't uninstall source packages. (do_install): Just can uninstall_one once as we ignore source packages now. - Don't copy the installed.old database accross, instead iterate through the + Don't copy the installed.old database accross, instead iterate through the packagedb packages list and write the isntalled packages out. * package_db.cc: Include package_version.h, not package.h. (packagedb::packagedb): Never let db be undefined. @@ -1159,7 +2929,7 @@ * package_version.h: New file. * package.cc: Removed. * package.h: Removed. - + 2001-11-21 Robert Collins * Makefile.in (OBJS): Add category.o and category_list.o. @@ -1252,15 +3022,15 @@ 2001-11-13 Brian Keener * localdir.cc: Add headers unistd.h and port.h. - (save_local_dir): Expand search logic to include local directory for + (save_local_dir): Expand search logic to include local directory for location of file last-cache. (dialog_cmd): Skip IDD_ROOT when downloading and use Back button. - (do_local_dir): Expand search logic to include local directory for file + (do_local_dir): Expand search logic to include local directory for file last-cache. * res.rc (IDD_CHOOSE_DIALOG): Add hotkey to View button. - * Source.cc (dialog_cmd): Skip IDD_ROOT if select Download from + * Source.cc (dialog_cmd): Skip IDD_ROOT if select Download from Internet. - (do_source): Default to Install from Internet on first entry or + (do_source): Default to Install from Internet on first entry or previous selection if backing up from IDD_ROOT or IDD_LOCAL_DIR. 2001-11-13 Robert Collins @@ -1485,7 +3255,7 @@ (actions): New enum, from ini.h. This may not be the 'right' place but that place doesn't exist yet. (_views): New enum, from ini.h. - * choose.cc (set_action): Handle installed packages with a version not in + * choose.cc (set_action): Handle installed packages with a version not in setup.ini. (choose_caption): Ditto. * iniparse.y: Rearrange header order to handle new ini.h. @@ -1513,7 +3283,7 @@ (_view): Ditto. 2001-11-08 Pavel Tsekov - + * simpsock.h (SimpleSocket::invalidate): Declare new method. * simpsock.cc (SimpleSocket::invalidate): Implement new method. (SimpleSocket::SimpleSocket): Initialize buf to zero. Do not allocate @@ -1553,7 +3323,7 @@ * geturl.cc (get_url_to_string): clean up memory leak (get_url_to_file): ditto - + 2001-11-06 Robert Collins * localdir.cc (dialog_cmd): Go back to IDD_ROOT in every case. @@ -1586,7 +3356,7 @@ 2001-11-02 Robert Collins - * choose.cc (default_trust): Change the "Required" forced install category to + * choose.cc (default_trust): Change the "Required" forced install category to "Base". 2001-11-02 Robert Collins @@ -1597,7 +3367,7 @@ 2001-11-01 Christopher Faylor - * Makefile.in (mingw_getopt.o): Fix typo in non-verbose compilation. + * Makefile.in (mingw_getopt.o): Fix typo in non-verbose compilation. 2001-11-02 Robert Collins @@ -1605,7 +3375,7 @@ 2001-11-02 Robert Collins - * choose.cc (add_required): Allow SKIP and SRC_ONLY for currently installed + * choose.cc (add_required): Allow SKIP and SRC_ONLY for currently installed packages. 2001-11-02 Robert Collins @@ -1624,14 +3394,14 @@ progress dialog and the supporting thread will be created. (dialog_proc): Return TRUE to WM_INITDIALOG as specified by the WIN32 API. (init_dialog): Remove usage of SetForegroundWindow and is_showing. - This prevents the progress dialog to gain control over the + This prevents the progress dialog to gain control over the application and fixes the "setup.exe going to background" problem. (progress): Use is_local_install. (get_url_to_string): Set is_local_install. (dismiss_url_status_dialog): Use is_local_install. * install.cc (dialog_proc): Return TRUE as specified in WIN32 API. (init_dialog): Remove usage of SetForegroundWindow. - This prevents the progress dialog to gain control over the + This prevents the progress dialog to gain control over the application and fixes the "setup.exe going to background" problem. 2001-11-02 Robert Collins @@ -1668,12 +3438,12 @@ 2001-11-01 Matt Hargett - * geturl.cc (progress): Change int to unsigned int to eliminate - lint warnings. - * (get_url_to_string): Check for NULL pointer. - * mount.cc (find2): Use free instead of delete for malloc'd - memory. - * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Fix memory leak. + * geturl.cc (progress): Change int to unsigned int to eliminate + lint warnings. + * (get_url_to_string): Check for NULL pointer. + * mount.cc (find2): Use free instead of delete for malloc'd + memory. + * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Fix memory leak. 2001-10-31 Robert Collins @@ -1681,12 +3451,12 @@ a package nor a category. The lines[linen] bug was reported by Matt (matt@usa.net). (read_installed_db): Bugfix for testing whether a package has a source tarball. Reported by Matt (matt@usa.net). - * geturl.cc(dialog): Rename gw_dialog to local_gw_dialog to avoid programmer + * geturl.cc(dialog): Rename gw_dialog to local_gw_dialog to avoid programmer confusion and lint errors. Reported by Matt (matt@usa.net). 2001-10-31 Robert Collins - * argv.cc: New file, converts arguments for -mwindows programs. (Simplified derivation + * argv.cc: New file, converts arguments for -mwindows programs. (Simplified derivation from dcrt0.cc.) * argv.h: New file. * Makefile,in: Add argv.o and mingw_getopt.o to setup.exe object list.