]> cygwin.com Git - cygwin-apps/setup.git/blobdiff - ChangeLog
2002-07-15 Robert Collins <rbtcollins@hotmail.com>
[cygwin-apps/setup.git] / ChangeLog
index 36e545cd7c66ed6a36b87c9d644c5e0c0f248993..634f974982b909c0ac9b14a14d4934a696883717 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,457 @@
+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
This page took 0.033321 seconds and 5 git commands to generate.