]> cygwin.com Git - cygwin-apps/setup.git/blobdiff - ChangeLog
2002-07-15 Robert Collins <rbtcollins@hotmail.com>
[cygwin-apps/setup.git] / ChangeLog
index 407524b757df10e28d440f57892cafdb4c139606..634f974982b909c0ac9b14a14d4934a696883717 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2002-07-15  Robert Collins  <rbtcollins@hotmail.com>
+
+       * package_version.cc (packageversion::sources): Implement this.
+       * download.cc (do_download_thread): Support multiple files per package.
+
+2002-07-15  Robert Collins  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * iniparse.y: Add basis for support for parsing a debian Sources file.
+       * inilex.l: Ditto.
+
+2002-07-09  Robert Collins  <rbtcollins@hotmail.com>
+
+       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  <maxb@ukf.net>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <cgf@redhat.com>
+
+       * site.cc (do_download_site_info_thread): Correct spelling error.
+
+2002-07-06  Robert Collins  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * io_stream.cc: Use STL containers rather than custom ones.
+       (io_stream::registerProvider): Ditto.
+       (findProvider): Ditto.
+
+2002-07-05  Robert Collins  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * choose.cc (default_trust): Check package accessibility before
+       triggering an install. (Suggested by Pavel).
+
+2002-07-03  Pavel Tsekov  <ptsekov@gmx.net>
+
+       * compress_gz.cc (compress_gz::construct): Always initialize key members
+       to ensure the destructor does the right thing.
+
+2002-07-03  Pavel Tsekov  <ptsekov@gmx.net>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * Makefile.am (snapshot): Automate snapshot creation some more.
+
+2002-06-27  Robert Collins  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <johnm@falch.net>
+
+       * res.rc (SETUPINI_MISSING): Make trailing spaces visible.
+       * site.cc (SitePage::OnMessageCmd): Ditto
+
+2002-06-15  Robert Collins  <rbtcollins@hotmail.com>
+
+       * nio-ie5.cc (NetIO_IE5::NetIO_IE): Allow cached data.
+
+2002-06-15  Robert Collins  <rbtcollins@hotmail.com>
+
+       * package_meta.cc (packagemeta::set_action): When installing packages
+       with no binaries, choose the source package.
+
+2002-06-10  Robert Collins  <rbtcollins@hotmail.com>
+
+       * IniParseFindVisitor (IniParseFindVisitor::visitFile): Apply Max
+       Bowshers fix for the crash with a root level setup.ini. 
+       * README: Update todos.
+
+2002-05-26 Ralf Habacker  <ralf.habacker@freenet.de>
+
+       * archive_tar.cc (archive_tar::next_file_name()): fixed broken
+       GNU long name extension support.
+    
+2002-05-27  Robert Collins  <rbtcollins@hotmail.com>
+
+       * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Don't 
+       unescape 0 length strings.
+
+2002-05-20  Robert Collins  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * Makefile.am (release): Tweak to be more helpful.
+       * Makefile.in: Regenerate.
+               
+2002-05-19  Robert Collins  <rbtcollins@hotmail.com>
+
+       * Makefile.am (release): Tweak to be more helpful.
+       * Makefile.in: Regenerate.
+
+2002-05-19  Robert Collins  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * ini.cc (do_remote_ini): Save uncompressed ini's correctly.
+
+2002-05-19  Robert Collins  <rbtcollins@hotmail.com>
+
+       * 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 <string> 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  <cgf@redhat.com>
+
+       * ini.cc (find_routine): Don't clear buffer it it's NULL.
+
+2002-05-14  Christopher Faylor  <cgf@redhat.com>
+
+       * 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  <cgf@redhat.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * CONTRIBUTORS: New file.
+
+2002-04-02  Gary R. Van Sickle  <g.r.vansickle@worldnet.att.net>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * ini.cc (do_remote_ini): Use setup.bz2 if it exists in preference to
+       setup.ini.
+
+2002-05-12  Robert Collins  <rbtcollins@hotmail.com>
+
+       * geturl.h: Declare getUrlToStream.
+       * geturl.cc (getUrlToStream):  New function.
+       (get_url_to_membuf): Refactor to use getUrlToStream.
+
+2002-05-11  Robert Collins  <rbtcollins@hotmail.com>
+
+       * Makefile.am: Add a release target to automate some of the routine
+       work.
+       * Makefile.in: Regenerate.
+
+2002-05-11  Robert Collins  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <jmarshall@acm.org>
+
+       * site.cc (SitePage::OnMessageCmd): recalculate navigation
+       button activation when "Add" is pressed.
+       (SitePage::CheckControlsAndDisableAccordingly): tweak comment.
+
+2002-05-07 Robert Collins  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * io_stream.cc: Use the new log interface thruout.
+
+2002-05-04 Robert Collins  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * configure.in: Correct a typo in last change.
+       * configure: Regenerate.
+       * Makefile.in: Regenerate.
+
+2002-05-02 Robert Collins  <rbtcollins@hotmail.com>
+
+       * configure.in: Check for string.h and string.
+       * configure: Regenerate.
+       * Makefile.in: Regenerate.
+
+2002-05-01  Robert Collins  <rbtcollins@hotmail.com>
+
+       * res.rc (IDD_SPLASH): Remove white box.
+
+2002-05-01  Robert Collins  <rbtcollins@hotmail.com>
+
+       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  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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 <errno.h> 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 <alloca.h> 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  <rbtcollins@hotmail.com>
+
+       * compress_gz.cc (compress_gz::error): EOF is not an error condition.
+
+2002-04-27  Robert Collins  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * Makefile.am: Add zlib and bz2lib to SUBDIRS.
+
+2002-04-26  Robert Collins  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
+
+       * mklink2.cc (make_link_2): Tweak to work with current w32api
+       headers.
+               
+2002-04-10  Pavel Tsekov  <ptsekov@gmx.net>
+
+       * version.cc (canonicalize_version): Fix a call delete[]
+       to delete the allocated address.
+
+2002-03-29  Robert Collins  <rbtcollins@hotmail.com>
+
+       * PickView.cc (PickView::set_headers): Set last_col correctly. Thanks
+       to Ton van Overbeek for locating the bug area.
+
+2003-03-27  Robert Collins  <rbtcollins@hotmail.com>
+
+       * 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  <rbtcollins@hotmail.com>
 
        * Makefile.in (OBJS): Add new commandline objects.
This page took 0.042679 seconds and 5 git commands to generate.