This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
Re: Pending setup patches (issue 10)
Robert Collins wrote:
> On Sat, 2003-03-15 at 23:02, Max Bowsher wrote:
>> Goodbye generated files!
>> * Remove autotool-generated files from CVS
>> No objections received.
>> Robert, you can zap them at your leisure!
>
> zappity do dah. Ok, everyone, you'll need to bootstraph after your
> next cvsupdate.
Yay!
>> I have verified these release blockers:
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> * Remove *empty* directories on uninstalls. (done?)
>> * Correctly overwrite -r--r--r-- files. (done?)
>> I will mark them completed in the TODO list.
>
> Which means, we are ready for final release testing.
>
> No last minute bugs anyone is aware of?
I've prepared a list of changes from 2.249.2.10 to 2.332. (I took the
ChangeLog, and stripped everything that was already on the branch) It's
long!
I was just about to "make snapshot" when your cvs commit notice arrived.
I'll redo from 2.333.
By the way, I know what the number 1 complaint is going to be:
MD5summing takes *too long*!
I've been running with it turned off in the source since I can remember!
Max.
BEGIN_CHANGELOG
2003-03-14 Igor Pechtchanski <pechtcha at cs dot nyu dot edu>
* install.cc (replace_one): Clear Text3.
2003-03-14 Igor Pechtchanski <pechtcha at cs dot nyu dot edu>
* install.cc (install_one_source): Add logging for successful
replace-on-reboot scheduling. Factor out duplicate code.
Set rebootneeded on Win9x.
(log_ror_failure): New static function.
(log_ror_success): New static function.
2003-03-14 Robert Collins <rbtcollins at hotmail dot com>
* choose.cc (ChooserPage::OnNext): Fix iterator bug. Reported by
Igor Pechtchanski <pechtcha at cs dot nyu dot edu>.
2003-03-13 Max Bowsher <maxb at ukf dot net>
* Update included zlib to 1.1.4.
2003-03-13 Robert Collins <rbtcollins at hotmail dot com>
* install.cc (do_install_thread): Use a query method rather than temp
variable do_skip.
2003-03-09 Pavel Tsekov <ptsekov at gmx dot net>
* install.cc (do_install_thread): Use IDS_SKIP_PACKAGE
instead of IDS_CORRUPT_PACKAGE when asking the user to take
action if the hash verification check fails for a source package.
Do not increase the value of 'total_bytes' variable if the
user chooses to skip over a package, which failed the hash
verification.
2003-03-10 Max Bowsher <maxb at ukf dot net>
* Makefile.am: Add foreign to AUTOMAKE_OPTIONS.
2003-03-10 Robert Collins <rbtcollins at hotmail dot com>
* UserSettings.cc (UserSettings::init): Really initialize all members.
2003-03-10 Robert Collins <rbtcollins at hotmail dot com>
* Exception.h: Add a logic error exception id.
* Makefile.am: Add new sources.
* UserSettings.cc: New file.
* UserSettings.h: New file.
* UserSetting.cc: New file.
* UserSetting.h: New file.
* site.h: Add a SiteSetting as example of a UserSetting.
* site.cc (ChosenSites): Add a instance of SiteSetting to trigger
registration.
2003-03-10 Robert Collins <rbtcollins at hotmail dot com>
* compress_bz.cc (compress_bz::read): Adjust incorrect assignment of
lasterr.
(compress_bz::error): Return lasterr which will indicate any error.
2003-03-10 Robert Collins <rbtcollins at hotmail dot com>
* choose.h (ChooserPage): Override OnActivate.
* choose.cc (ChooserPage::OnActivate): Refresh the current view when
activating the dialog.
2003-03-09 Robert Collins <rbtcollins at hotmail dot com>
* package_version.cc (_defaultversion::pick(bool)): Override this and
do nothing.
(packageversion::pick(bool): Use a mutator function rather than direct
member access.
* package_version.h (_packageversion::pick(bool)): Move method from
_packageversion.
2003-02-16 Pavel Tsekov <ptsekov at gmx dot net>
* install.cc (install_one_source): Remove the MD5 verification
code.
Delay the creation of the package listing file.
(do_install_thread): Check the hashes for packages which need
to be installed before the uninstall step. Allow the user to
skip over packages, which fail the hash verification.
(md5_one): Define new function.
* res.rc (IDS_SKIP_PACKAGE): New string resource.
* resource.h (IDS_SKIP_PACKAGE): New macro definition.
2003-02-16 Pavel Tsekov <ptsekov at gmx dot net>
* Exception.h: Declare new constructor.
(Exception::_message): Change the type from 'const char *' to
'class String'.
(Exception::~Exception): Implement destructor (make gcc shut up).
* Exception.cc: Implement new constructor.
(Exception::what): Use String::cstr_oneuse ().
* download.cc (validateCachedPackage): Use the constructor, which
takes String& as its second argument, when throwing objects
of type Exception.
(check_for_cached): Ditto.
* install.cc (install_one_source): Ditto.
2003-02-01 Igor Pechtchanski <pechtcha at cs dot nyu dot edu>
* res.rc (IDS_INSTALL_INCOMPLETE): Change hard-coded
log filename to %s.
(IDS_MISSING_LOG): New string resource.
* resource.h (IDS_MISSING_LOG): New resource.
* LogFile.cc (LogFile::exit): Pass log filename for
LOG_BABBLE to note().
(LogFile::getFileName): New function.
* LogFile.h (LogFile::getFileName): New function.
2003-02-01 Igor Pechtchanski <pechtcha at cs dot nyu dot edu>
* String++.cc: Don't include concat.h.
* Makefile.am: Remove concat.cc and concat.h references.
* concat.h: Remove.
* concat.cc: Remove.
2003-03-09 Max Bowsher <maxb at ukf dot net>
* bootstrap.sh: Add sanity check of current directory.
Recurse into libgetopt++ if needed.
2003-03-09 Robert Collins <rbtcollins at hotmail dot com>
* Update readme of bugs and wishes.
2003-03-05 Brian Keener <bkeener at thesoftwaresource dot com>
* PickView.cc (PickView::views): Add two new views for Skipped
packages and Installed Packages not requiring update.
(PickView::set_headers () ): Ditto.
(PickView::clear_view (void) ): Ditto.
(PickView::views::caption () ): Add two new captions for the new
views added for Skipped and Installed Packages.
(PickView::scroll () ): Modify Scroll Bar property to Disable
instead of disappearing when there is nothing to Scroll.
* PickView.h: Add two new views for Skipped packages and Installed
packages to public class view.
* choose.cc (list_click () ): Modify Scroll Bar property to Disable
instead of disappearing when there is nothing to Scroll.
(listview_proc () ): Ditto.
(set_view_mode): Add two new views for Skipped Packages and Installed
Packages not requiring update. Modify Scroll Bar property to Disable
instead of disappearing when there is nothing to scroll.
* res.rc (IDD_CHOOSE): Reposition Radio Buttons, View Selection
Button and View Button Caption to make room for longer captions.
2003-03-04 Max Bowsher <maxb at ukf dot net>
* compress_gz.cc (compress_gz::construct):
Fix broken checkin dated 2002-07-03.
2003-01-31 Max Bowsher <maxb at ukf dot net>
* install.cc (install_one_source): Fix spacing in log message.
2003-01-19 Max Bowsher <maxb at ukf dot net>
* resource.h (IDC_CHOOSE_KEEP): Define.
* res.rc (IDD_CHOOSE): Add radio button IDC_CHOOSE_KEEP.
* choose.cc (create_listview): Add IDC_CHOOSE_KEEP to ta[].
(ChooserPage::OnMessageCmd): Handle new IDC_CHOOSE_KEEP button.
2003-01-15 Max Bowsher <maxb at ukf dot net>
* mkdir.cc [_CYGWIN_]: Implement what was pseudocode.
* io_stream.h [__CYGWIN__]: Don't typedef ssize_t.
* proppage.h: Include "win32.h" instead of <windows.h>.
2003-01-15 Max Bowsher <maxb at ukf dot net>
* mount.cc [MAINTAINER_FEATURES]: Add --override-registry-name option.
2002-12-11 Abraham Backus <abraham at backus dot com>
* nio-http.cc (NetIO_HTTP::NetIO_HTTP): Leave port out of Host header,
unless non-default.
2002-12-11 Max Bowsher <maxb at ukf dot net>
* package_meta.cc: Change 'endl' to 'endLog' as appropriate.
* package_version.cc: Ditto.
2002-09-22 Max Bowsher <maxb at ukf dot net>
* PickView.cc (pkg_headers): Rename column 'Category' to 'Categories'.
* package_meta.h (packagemeta::getReadableCategoryList): Declare.
* package_meta.cc (packagemeta::getReadableCategoryList): Implement.
* PickPackageLine.cc (PickPackageLine::paint): Change to use
getReadableCategoryList.
Fix x2 argument to IntersectClipRect.
2002-11-25 Gary R. Van Sickle <g dot r dot vansickle at worldnet dot att dot net>
* window.h (Window::GetWindowRect): New method declaration.
(Window::GetClientRect): Ditto.
(Window::MoveWindow): Ditto.
(Window::ScreenToClient): Ditto.
* window.cc (REFLECTION_INFO): Remove.
(ReflectionInfo): Remove.
(Window::FirstWindowProcReflector): Use the WM_NCCREATE message instead
of the horrid REFLECTION_INFO hack to hook the Window instance to the
HWND instance.
(Window::WindowProcReflector): Use GetWindowLongPtr() now that it's
available.
(Window::Create): Change to use new WM_NCCREATE reflection procedure
above.
(Window::GetWindowRect): New method.
(Window::GetClientRect): New method.
(Window::MoveWindow): New method.
(Window::CenterWindow): Use new methods, also specify "::" for some non-
member functions with the same names.
(Window::ScreenToClient): New method.
2002-11-26 Robert Collins <rbtcollins at hotmail dot com>
* nio-ftp.cc (NetIO_FTP::NetIO_FTP): Fix my botched application of
Marcel's patch.
2002-07-08 Marcel Telka <marcel at telka dot sk>
* nio-ftp.cc (NetIO_FTP::NetIO_FTP): Fixed decoding of the FTP
reply (code 227) to the PASV command.
2002-11-26 Robert Collins <rbtcollins at hotmail dot com>
* IniDBBuilderPackage.cc (IniDBBuilderPackage::~IniDBBuilderPackage):
Sort the packages db once all the new packages have been added.
* IniDBBuilderPackage.h (IniDBBuilderPackage::~IniDBBuilderPackage):
Declare this.
2002-11-26 Robert Collins <rbtcollins at hotmail dot com>
* choose.cc (ChooserPage::OnNext): Remove extracted comment.
* package_version.cc (processOneDependency): Return once selecting
a package (bugfix to prevous rework).
Log if the default trust fails the package specification.
2002-11-26 Robert Collins <rbtcollins at hotmail dot com>
* package_meta.h (packagemeta::logAllVersions): Declare.
(packagemeta::trustLabel): Ditto.
* choose.cc (ChooserPage::OnNext): Get each package to log all it's
versions.
* package_meta.cc (packagemeta::logAllVersions): Implement.
(packagemeta::trustLabel): Ditto.
2002-11-25 Robert Collins <rbtcollins at hotmail dot com>
* AntiVirus.cc: Change 'd' to 'D' to fix command line conflict.
2002-11-25 Robert Collins <rbtcollins at hotmail dot com>
* AntiVirus.cc: New file.
* AntiVirus.h: Ditto.
* LogFile.cc: Include AntiVirus.h for class definition.
(LogFile::exit): Trigger AntiVirus::AtExit().
* MakeFile.am(setup_SOURCES): Add AntiVirus files.
* autoload.c: Declare Service Control Manager related API's.
* main.cc: Include AntiVirus.h for class definition.
(main): Add the AntiVirus page in.
* res.rc: Define IDD_VIRUS.
* resource.h: Define IDD_VIRUS related control ID's.
* splash.h: Override OnNext.
* splash.cc: Only show AntiVirus page when one has been detected.
* source.cc: Ditto.
2002-11-25 Robert Collins <rbtcollins at hotmail dot com>
* package_version.cc (DependencyProcessor): Create convenience class.
(select): Extract version selection method.
(processOneDependency): Check for a satisfactory trusted version
first.
2002-11-10 Robert Collins <rbtcollins at hotmail dot com>
* main.cc (main): Use the factory for LogFile.
* String++.cc: Update to use sstream.
(String::String): Use a ostringstream for libC++ 3.2.
* LogFile.h (LogFile): Make createLogFile static.
2002-11-10 Robert Collins <rbtcollins at hotmail dot com>
* main.cc (main): Oops, pass LogSingleton a reference, not a pointer.
2002-11-04 Max Bowsher <maxb at ukf dot net>
* Exception.h (Exception::what): Add throw() specification,
to agree with libstdc++-v3.
* Exception.cc (Exception::what): Ditto.
* IniDBBuilderPackage.h: Add 'std::' where needed.
* PickCategoryLine.h: Ditto.
* category.h: Ditto.
* package_db.h: Ditto.
* package_meta.h: Ditto.
* package_source.h: Ditto.
* package_version.h: Ditto.
* site.h: Ditto.
* win32.h: Define NOMINMAX before including <windows.h>.
* package_meta.cc: Add 'using namespace std;'.
(packagemeta::set_requirements): Remove default parameter values
from definition (gcc3 likes them only in declaration).
* package_version.cc: Add 'using namespace std;'.
(packageversion::set_requirements): Remove default parameter
values from definition (gcc3 likes them only in declaration).
2002-11-10 Robert Collins <rbtcollins at hotmail dot com>
* compress_bz.cc: Don't include bzlib.h directly, the compress_bz.h
header includes it.
2002-11-04 Max Bowsher <maxb at ukf dot net>
* compress_bz.h: #undef small before including bzlib.h - if we are
going to hide the fact that we are _WIN32 from bzlib, then we need
to #undef small for it as well (bad windows.h clash).
2002-11-10 Robert Collins <rbtcollins at hotmail dot com>
* localdir.cc: Update the extern LogFile to be a pointer.
(save_local_dir): Change . to -> for the above.
* main.cc (theFile): Change from an instance to a pointer.
(main): Change . to -> for the above.
2002-11-10 Robert Collins <rbtcollins at hotmail dot com>
* LogFile.cc: use 'std::' where needed throughout.
(LogFile::createLogFile): Implement a factory for LogFile.
(LogFile::LogFile): Update for use with the factory, and to
handle the latest g++ library changes.
(LogFile::operator()): Ditto.
(LogFile::endEntry()): Ditto.
* LogFile.h: Ditto.
* LogSingleton.cc: Ditto.
* LogSingleton.h: Ditto.
2002-11-04 Max Bowsher <maxb at ukf dot net>
* String++.h: Add 'std::' where needed.
2002-11-04 Max Bowsher <maxb at ukf dot net>
* IniDBBuilderPackage.cc: Add 'using namespace std;'.
* IniParseFindVisitor.cc: Ditto.
* LogFile.cc: Ditto.
* LogSingleton.cc: Ditto.
* PickView.cc: Ditto.
* String++.cc: Ditto.
* choose.cc: Ditto.
* download.cc: Ditto.
* find.cc: Ditto.
* install.cc: Ditto.
* io_stream.cc: Ditto.
* io_stream_file.cc: Ditto.
* package_db.cc: Ditto.
* root.cc: Ditto.
* site.cc: Ditto.
2002-11-04 Max Bowsher <maxb at ukf dot net>
* LogSingleton.h: Add 'std::' where needed.
2002-11-04 Max Bowsher <maxb at ukf dot net>
* archive_tar_file.cc: Include <algorithm>.
Change min(a,b) to std::min(a,b)
* compress_bz.cc: Ditto.
* compress_gz.cc: Ditto.
2002-11-04 Max Bowsher <maxb at ukf dot net>
* res.rc: Change a #-comment (invalid) to a //-comment.
2002-09-22 Max Bowsher <maxb at ukf dot net>
* IniDBBuilderPackage.cc: Update DEBUG code to current class
layout.
2002-09-21 Robert Collins <rbtcollins at hotmail dot com>
* choose.h: Add OnUnattended method.
* desktop.cc (DesktopSetupPage::OnInit): Allow fine grained
control via command line options.
(DesktopSetupPage::OnUnattended): Implement.
(DesktopSetupPage::OnMessageApp): Implement.
* desktop.h (DesktopSetupPage::OnUnattended): declare.
(DesktopSetupPage::OnMessageApp): Ditto.
* download.cc (do_download_thread): Support unattended mode.
* install.cc (do_install_thread): Ditto.
* localdir.h: Ditto.
* main.cc (main): Ditto.
* net.cc (NetPage::OnUnattended): Ditto.
* net.h (NetPage::OnUnattended): Declare.
* proppage.cc (PropertyPage::DialogProc): Support unattended mode.
* proppage.h (PropertyPage::OnUnattended): Declare.
* root.cc (RootPage::OnInit): Support unattended mode.
(RootPage::OnUnattended): Implement.
* root.h (RootPage::OnUnattended): Declare.
* site.cc (register_saved_site): Extract Method from get_saved_sites.
(get_saved_sites): Remove common code for adding a site.
(SitePage::OnInit): Support unattended mode.
(SitePage::OnUnattended): Implement.
* site.h (SitePage::OnUnattended): Declare.
* source.cc (SourcePage::OnActivate): Support unattended mode.
(SourcePage::OnUnattended): Implement.
* source.h (SourcePage::OnUnattended): Declare.
* splash.h (SplashPage::OnUnattended): Declare.
* state.cc (unattended_mode): Declare.
* state.h (unattended_mode): Declare.
* threebar.h (ThreeBarProgressPage::OnUnattended): New method.
2002-09-21 Robert Collins <rbtcollins at hotmail dot com>
* res.rc: Commit Harry Johnston's dialog caption patch. From July.
2002-07-15 Robert Collins <rbtcollins at hotmail dot com>
* package_version.cc (packageversion::sources): Implement this.
* download.cc (do_download_thread): Support multiple files per package.
2002-07-15 Robert Collins <rbtcollins at hotmail dot 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 at hotmail dot 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 at hotmail dot 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 at hotmail dot 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 at hotmail dot com>
* iniparse.y: Add basis for support for parsing a debian Sources file.
* inilex.l: Ditto.
2002-07-09 Robert Collins <rbtcollins at hotmail dot 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 at ukf dot 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 at hotmail dot 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 at hotmail dot 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 at redhat dot com>
* site.cc (do_download_site_info_thread): Correct spelling error.
2002-07-06 Robert Collins <rbtcollins at hotmail dot 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 at hotmail dot com>
* io_stream.cc: Use STL containers rather than custom ones.
(io_stream::registerProvider): Ditto.
(findProvider): Ditto.
2002-07-05 Robert Collins <rbtcollins at hotmail dot 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 at hotmail dot 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 at hotmail dot 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 at hotmail dot com>
* choose.cc (default_trust): Check package accessibility before
triggering an install. (Suggested by Pavel).
2002-07-03 Robert Collins <rbtcollins at hotmail dot 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 at hotmail dot 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 at hotmail dot 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 at hotmail dot 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 at hotmail dot 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 at hotmail dot com>
* Makefile.am (snapshot): Automate snapshot creation some more.
2002-06-27 Robert Collins <rbtcollins at hotmail dot 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 at hotmail dot 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. [This one item also in 2.249.2.10]
(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 at falch dot net>
* res.rc (SETUPINI_MISSING): Make trailing spaces visible.
* site.cc (SitePage::OnMessageCmd): Ditto
2002-06-15 Robert Collins <rbtcollins at hotmail dot com>
* nio-ie5.cc (NetIO_IE5::NetIO_IE): Allow cached data.
END_CHANGELOG