+2007-02-17 Cesar Strauss <cstrauss@cea.inpe.br>
+
+ * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource):
+ Initialize the version and operator fields of the newly created
+ PackageSpecification object, so setup can pick the correct source
+ version later on.
+
+2007-02-17 Brian Dessent <brian@dessent.net>
+
+ * script.cc (Script::run): Check for existance of script file and
+ return without doing anything if it does not exist.
+
+2006-12-26 Max Bowsher <maxb1@ukf.net>
+
+ * IniDBBuilder.h (IniDBBuilder): Make this class abstract.
+ * IniDBBuilder.cc: Delete file.
+ * Makefile.am (inilint_SOURCES, setup_SOURCES): Remove IniDBBuilder.cc.
+
+2006-12-26 Max Bowsher <maxb1@ukf.net>
+
+ Add a shell script that documents/centralizes the standard configure
+ command line.
+
+ * doconfigure: New file.
+ * Makefile.am (EXTRA_DIST): Add doconfigure.
+
+2006-11-28 Igor Peshansky <pechtcha@cs.nyu.edu>
+
+ * install.cc (Installer::installOne): If file is in use, ask the user
+ to stop processes and retry.
+ (MB_RETRYCONTINUE, IDCONTINUE): New macros.
+ (hMsgBoxHook): New static field.
+ (CBTProc): New window hook function.
+ (_custom_MessageBox): New function.
+ * CHANGES: Update with the above.
+
+2006-10-12 Igor Peshansky <pechtcha@cs.nyu.edu>
+
+ * desktop.cc (make_cygwin_bat,save_icon): Capitalize filename.
+
+2006-08-06 Igor Peshansky <pechtcha@cs.nyu.edu>
+
+ * package_version.cc (packageversion::scan): Catch and handle
+ validation exception.
+
+2006-08-06 Igor Peshansky <pechtcha@cs.nyu.edu>
+
+ * cygpackage.h (filesize): Remove unused field.
+ (cygpackage::createInstance): Ditto.
+ * cygpackage.cc (cygpackage::createInstance): Ditto.
+ * package_db.cc (packagedb::packagedb): Remove unused variables.
+ Simplify parsing of installed.db.
+
+2006-08-06 Igor Peshansky <pechtcha@cs.nyu.edu>
+
+ * desktop.cc (DesktopSetupPage::OnInit): Remove stray MessageBox.
+
+2006-05-24 Igor Peshansky <pechtcha@cs.nyu.edu>
+
+ * PickPackageLine.h (PickPackageLine::DrawIcon): Move to PickView.
+ * PickView.h (PickView::DrawIcon): Move from PickPackageLine.
+ (PickView::icon_dc,PickView::bm_icon): New instance field.
+ (PickView::rect_icon,PickView::bg_fg_brush): Ditto.
+ * PickCategoryLine.cc (PickCategoryLine::paint): Use
+ PickView::DrawIcon() instead of BitBlt().
+ * PickPackageLine.cc (PickPackageLine::DrawIcon): Move to PickView.
+ (PickPackageLine::paint): Use PickView::DrawIcon().
+ * PickView.cc (PickView::~PickView): Delete GDI objects.
+ (PickView::init): Create icon drawing context.
+ (PickView::DrawIcon): New function. Use system default colors to
+ draw bitmaps.
+ (PickView::paint): Set background color instead of using transparent
+ mode. Create system-colored brush.
+
+2006-04-25 Brian Dessent <brian@dessent.net>
+
+ * COPYING: New file (GPL).
+ * Makfile.am (EXTRA_DIST): Add COPYING.
+
+2006-04-17 Max Bowsher <maxb1@ukf.net>
+
+ * String++.cc, String++.h: Finally, it's time for the long-awaited
+ departure of 'class String' from this world. setup.exe can now
+ happily claim to follow the sane path of using just one general
+ purpose string class throughout :-)
+
+2006-04-17 Max Bowsher <maxb1@ukf.net>
+
+ * cygpackage.cc, cygpackage.h, package_version.cc, package_version.h:
+ Do some String to std::string migration.
+
+2006-04-17 Max Bowsher <maxb1@ukf.net>
+
+ * package_meta.cc, package_meta.h, package_source.cc,
+ package_source.h: Do some String to std::string migration.
+ * package_db.cc: Small tweak to assist with the above.
+
+2006-04-17 Max Bowsher <maxb1@ukf.net>
+
+ * PickView.cc, PickView.h, package_db.cc, package_db.h:
+ Do some String to std::string migration.
+ * package_meta.h: Change a couple of types to assist with the above.
+
+2006-04-17 Max Bowsher <maxb1@ukf.net>
+
+ * IniDBBuilder.cc, IniDBBuilder.h, IniDBBuilderPackage.cc,
+ IniDBBuilderPackage.h, PickLine.h, PickPackageLine.cc:
+ Do some String to std::string migration.
+
+2006-04-16 Max Bowsher <maxb1@ukf.net>
+
+ * FindVisitor.cc, FindVisitor.h, IniParseFindVisitor.cc,
+ IniParseFindVisitor.h, ScanFindVisitor.cc, ScanFindVisitor.h, find.cc,
+ find.h, fromcwd.cc, ini.cc, ini.h, iniparse.y, postinstall.cc:
+ Do some String to std::string migration.
+
+2006-04-16 Max Bowsher <maxb1@ukf.net>
+
+ * IOStreamProvider.h, archive.cc, archive.h, archive_tar.cc,
+ archive_tar.h, io_stream.cc, io_stream.h, io_stream_cygfile.cc,
+ io_stream_cygfile.h, io_stream_file.cc, io_stream_file.h:
+ Do some String to std::string migration.
+
+2006-04-16 Max Bowsher <maxb1@ukf.net>
+
+ * desktop.cc, download.cc, install.cc, mount.cc, mount.h, script.cc,
+ script.h: Do some String to std::string migration.
+
+2006-04-16 Max Bowsher <maxb1@ukf.net>
+
+ * category.cc: Remove source file that contained no code!
+ * category.h: Delete, moving the single useful line to...
+ * package_meta.h: ...here. Remove category.h include.
+ * choose.cc, package_db.h, package_meta.cc: Remove category.h include.
+ * Makefile.am: Remove references to removed files.
+
+2006-04-15 Max Bowsher <maxb1@ukf.net>
+
+ * ConnectionSetting.cc, ConnectionSetting.h, Exception.cc,
+ Exception.h, IniParseFeedback.cc, IniParseFeedback.h, LogFile.cc,
+ LogFile.h, LogSingleton.h, PackageSpecification.cc,
+ PackageSpecification.h, SourceSetting.cc, SourceSetting.h,
+ UserSettings.cc, UserSettings.h, dialog.cc, dialog.h, diskfull.cc,
+ diskfull.h, filemanip.cc, filemanip.h, inilintmain.cc, localdir.cc,
+ main.cc, nio-file.cc, nio-http.cc, prereq.cc, prereq.h, proppage.cc,
+ proppage.h, site.cc, site.h, splash.cc, state.cc, state.h, window.cc,
+ window.h: Do some String to std::string migration.
+
+2006-04-15 Max Bowsher <maxb1@ukf.net>
+
+ * String++.cc, String++.h
+ (new_cstr_char_array, format_1000s): Migrate String to std::string.
+ (casecompare_lt_op, std::string operator+): New.
+
+2006-04-06 Max Bowsher <maxb1@ukf.net>
+
+ * String++.h, String++.cc
+ (String::replace): Remove - usused.
+ (String::find): Remove - semantics do not match std::string.
+
+ * root.cc (directory_is_rootdir): Switch to std::string.find().
+ * script.cc (Script::baseName): Rewrite use of String.find().
+
+2006-03-30 Max Bowsher <maxb1@ukf.net>
+
+ * String++.cc (replace): New function to take the place of one form
+ of String::replace method.
+ * String++.h (replace): Declare.
+ (String::replace): Make private.
+
+ * desktop.cc (make_cygwin_bat): Use new function.
+ * filemanip.cc (backslash): Use simple loop in place of
+ String::replace.
+ * filemanip.h (backslash): Change signature to use std::string in
+ place of String.
+
+2006-03-30 Max Bowsher <maxb1@ukf.net>
+
+ * String++.cc, String++.h (casecompare): New function replacing
+ String.casecompare to increase parity with std::string.
+ (String::casecompare): Make private.
+
+ * ConnectionSetting.cc, IniDBBuilderPackage.cc,
+ IniParseFindVisitor.cc, LogFile.cc, PackageSpecification.cc,
+ PickView.cc, SourceSetting.cc, String++.cc, String++.h, fromcwd.cc,
+ io_stream.cc, mount.cc, package_db.cc, package_source.h,
+ package_version.cc, prereq.h, script.cc:
+ Use casecompare in place of String::casecompare.
+
+2006-03-30 Max Bowsher <maxb1@ukf.net>
+
+ * String++.cc, String++.h: Remove String(int) constructor, which
+ was causing dangerously bizarre implicit conversions, and was a point
+ of disparity between String and std::string.
+ (stringify): New function to replace functionality removed above.
+
+ * PickView.cc (PickView::init_headers),
+ archive_tar.cc (archive_tar::next_file_name),
+ cygpackage.cc (cygpackage::setCanonicalVersion):
+ Make explicit and call out with a FIXME some bizarre behaviour.
+
+ * ScanFindVisitor.cc (ScanFindVisitor::visitFile),
+ filemanip.cc (base), iniparse.y,
+ threebar.cc (ThreeBarProgressPage::SetBar2):
+ Make simple adaptations to the changed API.
+
+2006-03-14 Igor Peshansky <pechtcha@cs.nyu.edu>
+
+ * PickView.cc (PickView::setViewMode): Auto-expand category if
+ its name starts with a dot.
+
+2006-03-14 Dave Korn <dave.korn@artimi.com>
+
+ * String++.cc (new_cstr_char_array): Handle null input correctly.
+
+2006-03-10 Christopher Faylor <cgf@timesys.com>
+
+ * res.rc: Update copyright.
+ (IDS_MIRROR_LST): Use cygwin.com for mirror list, not
+ sources.redhat.com.
+ * site.cc (NOSAVE1): Use preferred name of sourceware site.
+ (NOSAVE2): sourceware.cygnus.com -> sources.redhat.com.
+ (NOSAVE1_LEN): Use just-defined name to determine length.
+ (NOSAVE2_LEN): Ditto.
+ (NOSAVE3_LEN): Ditto.
+
+2006-03-10 Bas van Gompel <patch-cygsup.buzz@bavag.tmfweb.nl>
+
+ * res.rc (IDD_DROPPED): New dialog.
+ * resource.h (IDD_DROPPED): New dialog-id.
+ (IDC_DROP_MIRRORS, IDC_DROP_NOWARN): New control-ids.
+ * site.cc: Add enum for response on dropped mirrors.
+ (cache_is_usable, cache_needs_writing): New bools.
+ (cache_warn_urls): New string.
+ (cached_site-list, dropped_site_list): New SiteLists.
+ (site_list_type::init, site_list_type::site_list_type): Change to four
+ parameter form.
+ (site_list_type::site_list_type, site_list_type::operator=) Copy
+ servername, area and location.
+ (load_site_list): New function, broken out of get_site_list. Support
+ four-parameter site_list_type.
+ (get_site_list): Break out load_site_list. Move reading cache earlier.
+ Don't write new cache. Set flags to record cache state. Load both
+ all_site_list and cached_site_list.
+ (SiteSetting::registerSavedSite): Use four-parameter site_list_type.
+ (drop_proc, check_dropped_mirrors, write_cache_list, save_cache_file):
+ New functions.
+ (SitePage::OnNext): Check for dropped mirrors and save cache as
+ appropriate.
+ (SitePage::OnMessageCmd): Use four-parameter site_list_type.
+ * site.h
+ (site_list_type::init, site_list_type::site_list_type): Change to four
+ parameter form.
+ (site_list_type): Add servername, area and location members.
+
+2006-03-09 Igor Peshansky <pechtcha@cs.nyu.edu>
+
+ * script.cc (Script::run): Fix inverted test for abnormal exit.
+
+2006-03-09 Bas van Gompel <patch-cygsup.buzz@bavag.tmfweb.nl>
+ Max Bowsher <maxb1@ukf.net>
+
+ Provide indication of site that a file is being downloaded from.
+
+ * geturl.cc: Use std::string instead of String throughout.
+ (init_dialog): Put more information into GUI.
+ Remove unused 'owner' parameter and change all callers.
+ (progress): Remove spurious \n characters from GUI.
+ * geturl.h: Use std::string instead of String throughout.
+ * res.rc (IDD_INSTATUS): Use SS_ENDELLIPSIS.
+
+2006-03-09 Max Bowsher <maxb1@ukf.net>
+
+ * Makefile.am (EXTRA_DIST): Add tree-minus.bmp and tree-plus.bmp.
+
+2006-01-20 Bryan Thrall <bryan.thrall@flightsafety.com>
+
+ * source.cc (SourcePage::OnActivate): Command line takes precedence
+ over last user selection.
+
+2005-11-30 Max Bowsher <maxb1@ukf.net>
+
+ * res.rc (IDD_ROOT, IDD_LOCAL_DIR): Rearrange some controls a little,
+ in response to suggestion from Carl Karsten.
+
+2005-11-30 Max Bowsher <maxb1@ukf.net>
+
+ * site.h, site.cc: Use std::string in preference to String.
+ (site_list_type::init): Convert some painful raw C string work to
+ STL std::string work. Stop totally ignoring the result of this
+ calculation, implementing the (somewhat weird) sort order for sites
+ that was apparently indented for ages.
+
+2005-10-14 Igor Pechtchanski <pechtcha@cs.nyu.edu>
+
+ * io_stream.cc (url_scheme_not_registered): New macro.
+ (io_stream::open): Better log message on error.
+ (io_stream::mkpath_p,io_stream::remove,io_stream::mklink): Ditto.
+ (io_stream::move,io_stream::exists): Ditto.
+
+2005-10-13 Igor Pechtchanski <pechtcha@cs.nyu.edu>
+
+ * site.cc (get_site_list): Default to empty mirror list if
+ server unavailable and none cached, to allow using preferred
+ mirrors anyway.
+
+2005-09-29 Igor Pechtchanski <pechtcha@cs.nyu.edu>
+
+ * package_db.cc (packagedb::packagedb): Remember missing package
+ database file.
+
+2005-09-29 Igor Pechtchanski <pechtcha@cs.nyu.edu>
+
+ * site.cc (get_site_list): Store mirror list locally.
+ Use local copy if unable to download.
+
+2005-09-27 Igor Pechtchanski <pechtcha@cs.nyu.edu>
+
+ * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile):
+ Better log message on error.
+
+2005-09-27 Igor Pechtchanski <pechtcha@cs.nyu.edu>
+
+ * script.cc (Script::isAScript): Fix string comparison.
+
+2005-09-27 Igor Pechtchanski <pechtcha@cs.nyu.edu>
+
+ * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Reconnect on FTP timeout.
+
+2005-09-11 Masayuki FUJII <boochang@m4.kcn.ne.jp>
+
+ * package_meta.cc (packagemeta::ScanDownloadedFiles): Don't use an
+ invalid iterator. Fix whitespace.
+
+2005-09-09 Brian Dessent <brian@dessent.net>
+
+ * CHANGES: Document recent updates.
+ * choose.cc (ChooserPage::OnInit): Add new tooltip.
+ * res.rc (IDD_CHOOSE): Remove 'administrative' from description.
+ (IDS_HIDEOBS_TOOLTIP): Add new string for tooltip.
+ * resource.h (IDS_HIDEOBS_TOOLTIP): Define.
+ * window.cc (Window::ActivateTooltips): Fix whitespace. Set tooltip
+ delay to 30 seconds.
+
+2005-09-09 Igor Pechtchanski <pechtcha@cs.nyu.edu>
+
+ * PickView.cc (PickView::paint): Set background mode to transparent.
+ * PickCategoryLine.cc (PickCategoryLine::paint): Use bitwise AND to
+ blit bitmaps.
+ * PickPackageLine.cc (PickPackageLine::paint): Ditto.
+
+2005-09-01 Brian Dessent <brian@dessent.net>
+
+ * package_meta.cc (packagemeta::uninstall): Remove support for
+ undocumented and dangerous postremove script.
+
+2005-09-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
+
+ * script.cc (run): Change to return the exit code or negative error.
+ (Script::run): Ditto.
+ (try_run_script): Receive both filename and extension and run only
+ one script. Also return the exit code.
+ * script.h (try_run_script): Change signature.
+ (Script::run): Ditto.
+ * postinstall.cc (RunScript::operator()): Change to return the exit
+ code or negative error.
+ * install.cc (Installer::preremoveOne): Pass extension to
+ try_run_script().
+
+2005-09-01 Eric Blake <ebb9@byu.net>
+
+ * script.cc (shells): Use /bin/bash, not sh, to allow upgrades to
+ /bin/sh.
+
+2005-09-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
+
+ * PickView.h (PickView::size_col): New instance variable.
+ * PickView.cc (pkg_headers, cat_headers): Add size column.
+ (PickView::set_headers): Initialize size_col.
+ (PickView::init_headers): Include width of size column.
+ * PickPackageLine.cc (PickPackageLine::paint): Handle size_col.
+ * String++.cc (format_1000s): New function.
+ * String++.h (format_1000s): Declare new function.
+
+2005-09-01 Brian Dessent <brian@dessent.net>
+
+ * Makefile.am (BASECXXFLAGS): Add -Wno-uninitialized to work around
+ spurious warnings with gcc 3.4.4.
+
+2005-05-22 Brian Dessent <brian@dessent.net>
+
+ * res.rc (IDD_CHOOSE): Change description to include administrative
+ packages in addition to obsolete.
+
+2005-05-21 Brian Dessent <brian@dessent.net>
+
+ * prereq.cc: New file.
+ * prereq.h: Ditto.
+ * tree-minus.bmp: Ditto.
+ * tree-plus.bmp: Ditto.
+ * Makefile.am: Add prereq.cc and prereq.h to build.
+ * PickCategoryLine.cc (PickCategoryLine::paint): Add new parameter and
+ refactor. Use bitmap for '+' and '-' indicators. Draw package lines
+ column-wise for better drawing efficiency.
+ (PickCategoryLine::click): Use previously calculated x value.
+ * PickCategoryLine.h (PickCategoryLine::paint): Update prototype. Add
+ 'spin_x' member.
+ * PickLine.h (PickLine:paint): Update prototype.
+ * PickPackageLine.cc (PickPackageLine::DrawCheck): Remove.
+ (PickPackageLine::DrawIcon): New function.
+ (PickPackageLine::paint): Add parameter. Refactor completely for more
+ efficient painting.
+ * PickPackageLine.h (PickPackageLine::DrawIcon): Add prototype.
+ (PickPackageLine::paint): Update prototype.
+ (PickPackageLine::DrawCheck): Remove.
+ * PickView.cc (pkg_headers): Remove unused 'slen' field, add new
+ 'needs_clip' field to signify if clipping is necessary for this column.
+ (PickView::note_width): Fold long line. Refactor slightly for
+ simplicity.
+ (PickView::set_view_mode): Remove.
+ (PickView::cycleViewMode): New function.
+ (PickView::setViewMode): Refactor completely. Incorporate functionality
+ of clear_view() here instead. Simplify package selection into a single
+ 'for' loop rather than repeating code for each type.
+ (isObsolete): New function, with second overloaded version.
+ (PickView::setObsolete): New function.
+ (PickView::insert_pkg): Do not show obsolete packages. Move
+ declaration of 'db' lower. Fix whitespace.
+ (PickView::insert_category): Do not show obsolete packages.
+ (PickView::clear_view): Remove. Moved logic into 'setViewMode'.
+ (PickView::scroll): Add additional parameter 'howmany' with default
+ value of 1. Scroll by 'howmany' lines for SB_LINEDOWN and SB_LINEUP.
+ (NUM_CATEGORY_COL_WIDTH): Define.
+ (PickView::init_headers): Fix whitespace. Add comments. Ignore
+ obsolete packages in width calculations. Add functionality to size
+ 'Category' column so that at least NUM_CATEGORY_COL_WIDTH categories
+ are displayed for every package. Ensure that 'new_col' takes into
+ account all possible labels.
+ (PickView::PickView): Initialize showObsolete to false.
+ (PickView::init): Remove unused bitmap bm_rtarrow. Add new bitmaps
+ bm_treeplus and bm_treeminus. Use a macro for better readability.
+ Fix whitespace formatting. Remove header computation from here, call
+ refresh() instead.
+ (PickView::registerWindowClass): Remove unnecessary background brush.
+ (PickView::WindowProc): Add support for WM_MOUSEWHEEL message
+ processing. Fix indentation. Reformat for readability.
+ (PickView::paint): Get the update region before calling BeginPaint.
+ Fill the update region with the default colors. Do not do clipping
+ here. Pass update region to the PickLine paint function instead.
+ Free the update region when finished.
+ (PickView::Create): Fix indentation.
+ (PickView::defaultTrust): Ditto.
+ (PickView::refresh): Add column recalculation logic here.
+ * PickView.h: Fix indentation.
+ (RTARROW_WIDTH): Remove unused define.
+ (NEW_COL_SIZE_SLOP): Ditto.
+ (TREE_INDENT): Define.
+ (PickView::get_view_mode): Remove.
+ (PickView::set_view_mode): Rename to setViewMode for consistency.
+ (PickView::cycleViewMode): Add new function.
+ (PickView::setObsolete): Ditto.
+ (PickView::clear_view): Remove.
+ (PickView::bm_treeplus): Define new member.
+ (PickView::bm_treeminus): Ditto.
+ (PickView::scroll): Add parameter.
+ (PickView::Header::slen): Remove unused member.
+ (PickView::Header::needs_clip): Define new member.
+ (PickView::showObsolete): Ditto.
+ (isObsolete): Add prototype, and for overloaded version as well.
+ * choose.cc: Add include.
+ (ChooserControlsInfo): Allow new checkbox to be resized.
+ (ChooserPage::OnInit): Start dialog with 'Hide obsolete' checked.
+ (ChooserPage::OnNext): Call the dependency checker, act accordingly.
+ (ChooserPage::changeTrust): Notify dependency checker of current trust
+ level when it changes.
+ (ChooserPage::OnMessageCmd): Just call cycleViewMode instead when
+ changing the view. Update the chooser when the user toggles the
+ 'hide obsolete' checkbox.
+ (ChooserPage::OnMouseWheel): New function. Pass mouse wheel message
+ on to chooser.
+ * choose.h (OnMouseWheel): Add prototype.
+ * main.cc: Add include.
+ (main): Define and initialize the PrereqPage object. Add it into
+ the property sheet list.
+ * PropPage.cc (PropertyPage::DialogProc): Add support for WM_MOUSEWHEEL
+ message processing in derived classes.
+ (PropertyPage::OnMouseWheel): New function.
+ * PropPage.h (PropertyPage::OnMouseWheel): Add prototype.
+ * res.rc (IDD_LOCAL_DIR): Shorten edit box so that pushbutton is not
+ crowded.
+ (IDD_SITE): Provide static text with an ID so that it can be resized
+ properly. Move pushbutton slightly to right so that it doesn't crowd
+ edit box.
+ (IDD_SPLASH): Change copyright displayed on spash screen to be generic
+ since the actual list of contributors is long.
+ (IDD_CHOOSE): Add checkbox. Resize other controls to accomodate.
+ (IDD_PREREQ): New dialog.
+ (SPIN): Delete duplicated bitmap resource.
+ (IDB_RTARROW): Remove unused bitmap resource.
+ (IDB_TREE_PLUS): Add.
+ (IDB_TREE_MINUS): Ditto.
+ (IDS_TRUSTPREV_TOOLTIP): Revise wording to be more concise.
+ (IDS_TRUSTCURR_TOOLTIP): Ditto.
+ (IDS_TRUSTEXP_TOOLTIP): Ditto.
+ (IDS_VIEWBUTTON_TOOLTIP): Ditto.
+ * resource.h (IDD_PREREQ): Define.
+ (IDB_RTARROW): Remove.
+ (IDB_TREE_PLUS): Add, and renumber.
+ (IDB_TREE_MINUS): Ditto.
+ (IDC_SITE_USERURL): Define.
+ (IDC_CHOOSE_HIDE): Ditto.
+ (IDC_PREREQ_TEXT): Ditto.
+ (IDC_PREREQ_EDIT): Ditto.
+ (IDC_PREREQ_CHECK): Ditto.
+ * site.cc (SiteControlsInfo): Ensure that 'User URL' static text is
+ properly resized.
+
+2005-05-14 Max Bowsher <maxb@ukf.net>
+
+ "Type" field of packageversions was not even being filled in. Fix.
+
+ * cygpackage.h, cygpackage.cc (cygpackage::createInstance):
+ Make "type" a mandatory parameter of the constructor.
+ * IniDBBuilderPackage.cc: Adjust callers.
+
+2005-05-14 Bas van Gompel <patch-cygsup.buzz@bavag.tmfweb.nl>
+
+ Fix behaviour of hardlinks in source packages.
+
+ * archive.cc (archive::extract_file):
+ Use prefixPath for link target on hardlinks.
+
+2005-05-14 Max Bowsher <maxb@ukf.net>
+
+ Hopefully, solve the "preremove DLL dependency" bug, by running all
+ preremove scripts before actually removing any files.
+
+ * install.cc
+ (Installer::preremoveOne): New method. Run preremove scripts here.
+ (Installer::replaceOne): Remove method.
+ (num_replacements): Remove variable.
+ (do_install_thread): Significantly rewrite.
+ * package_meta.cc (packagemeta::uninstall):
+ Do not run preremove script here.
+
+2005-05-14 Max Bowsher <maxb@ukf.net>
+
+ * download.cc (do_download_thread):
+ Do not use packageversion::changeRequested().
+ * package_version.cc (packageversion::Type):
+ Implement declared but previously unimplemented method.
+ (packageversion::changeRequested, _packageversion::changeRequested):
+ Remove.
+ * package_version.h
+ (packageversion::changeRequested, _packageversion::changeRequested):
+ Remove.
+ * install.cc (Installer::replaceOne): Simplify, return void, not int.
+ (installOneSource): Rename to...
+ (installOne): ...this. Change arguments and return type. Refactor.
+ (install_one): Remove.
+ (do_install_thread): Tidying up.
+
+2005-05-07 Max Bowsher <maxb@ukf.net>
+
+ * download.cc (validateCachedPackage): Remove all MD5 checking code.
+ It is not acceptable to check MD5 sums as part of simply answering
+ whether a package exists in the local cache or not. It is too slow.
+ MD5 sums always have been - and will continue to be - checked at
+ install time.
+ (NoMD5Option): Remove this option, as the code it controls has been
+ removed.
+
+2005-05-07 Max Bowsher <maxb@ukf.net>
+
+ * install.cc (md5_one): Make the MD5 checking done at install time
+ display a progess GUI, as the MD5 checking done at other times does.
+
+2005-05-07 Max Bowsher <maxb@ukf.net>
+
+ * resource.h, res.rc: Followup to recent de-MSVC-ification of
+ resource.h, by removing a lot from res.rc, and the last few bits
+ from resource.h.
+
+2005-05-05 Brian Dessent <brian@dessent.net>
+
+ * choose.cc (ChooserPage::OnInit): Initialize tooltips for this
+ dialog.
+
+ * proppage.h (PropertyPage::makeClickable): Update prototype to
+ reflect same argument name as function.
+
+ * proppage.cc (PropertyPage::DialogProc): Remove redundant 'break'
+ statements that follow 'return's. Add missing braces to case
+ statements. Call handler for TTN_GETDISPINFO.
+
+ * res.rc (IDS_TRUSTKEEP_TOOLTIP): Add new STRINGTABLE entry for
+ tooltip text.
+ (IDS_TRUSTPREV_TOOLTIP): Ditto.
+ (IDS_TRUSTCURR_TOOLTIP): Ditto.
+ (IDS_TRUSTEXP_TOOLTIP): Ditto.
+ (IDS_TRUSTPREV_TOOLTIP): Ditto.
+ (IDS_VIEWBUTTON_TOOLTIP): Ditto.
+
+ * resource.h: Likewise, add identifiers for tooltip resources.
+
+ * window.h: Add includes.
+ (Window::TooltipHandle): Add new private data structure.
+ (Window::TooltipStrings): Ditto.
+ (Window::ActivateTooltips): Define new function to support tooltip
+ functionality.
+ (Window::SetTooltipState): Ditto.
+ (Window::AddTooltip): Ditto.
+ (Window::TooltipNotificationHandler): Ditto.
+
+ * window.cc (Window::Window): Initialize handle to NULL.
+ (Window::~Window): Call DestroyWindow on tooltip control if it was
+ activated.
+ (Window::ActivateTooltips): New function to activate the tooltip
+ control.
+ (Window::SetTooltipState): New function to allow toggling of
+ tooltips.
+ (Window::AddTooltip): New function that adds a tooltip to a given
+ control in a given window. Also implement overloaded versions that
+ provide simpler interface and the ability to use a string resource.
+ (Window::TooltipNotificationHandler): New function to handle
+ TTN_GETDISPINFO notification messages.
+
+2005-05-05 Brian Dessent <brian@dessent.net>
+
+ * resource.h: Reorganize. Group by type, and give each its own
+ range of IDs. Regenerate IDs accordingly.
+ (IDD_CHOOSER): Remove obsolete and unused symbol.
+
+2005-05-05 Brian Dessent <brian@dessent.net>
+
+ * root.h (class RootPage): Add missing virtual to OnMessageCmd.
+
+2005-05-05 Brian Dessent <brian@dessent.net>
+
+ * root.cc (dialog_cmd): Remove. Use OnMessageCmd instead.
+ (RootPage::Create): Accomodate above change.
+
+ * root.h (class RootPage): Add prototype for OnMessageCmd.
+
+ * res.rc (IDD_ROOT): Fix broken button groups. Correct the order of
+ the controls and use of WS_GROUP so that the radio buttons act
+ correctly.
+
+2005-05-05 Max Bowsher <maxb@ukf.net>
+
+ Bulk rename of String++ member cstr_oneuse () to c_str () for
+ similarity to std::string.
+
+ * Exception.cc
+ * IniDBBuilderPackage.cc
+ * IniParseFindVisitor.cc
+ * LogFile.cc
+ * PickCategoryLine.cc
+ * PickPackageLine.cc
+ * PickView.cc
+ * String++.cc
+ * String++.h
+ * archive.cc
+ * cygpackage.cc
+ * desktop.cc
+ * dialog.cc
+ * diskfull.cc
+ * download.cc
+ * filemanip.cc
+ * find.cc
+ * geturl.cc
+ * ini.cc
+ * install.cc
+ * io_stream.cc
+ * io_stream_cygfile.cc
+ * io_stream_file.cc
+ * localdir.cc
+ * mount.cc
+ * nio-http.cc
+ * package_db.cc
+ * package_meta.cc
+ * package_source.h
+ * postinstall.cc
+ * proppage.cc
+ * root.cc
+ * script.cc
+ * site.cc
+ * splash.cc
+ * threebar.cc
+ * window.cc
+
+2005-05-05 Max Bowsher <maxb@ukf.net>
+
+ Some String++ refactoring, setting out in the general direction of
+ eventually just using the STL std::string, not our own class.
+
+ * String++.cc (String::cstr, String::cstr () const): Remove.
+ (new_cstr_char_array): New function.
+ * String++.h: Sync with above.
+ Remove irrelevant "class io_stream;" declaration.
+
+ * cygpackage.h: Add "class io_stream;" declaration, now no longer
+ being supplied by side-effect.
+
+ * filemanip.cc: Remove unneeded includes, add "using namespace std;".
+ (parse_filename): Exchange some awkward pointer manipulation for
+ std::string usage. Use new_cstr_char_array ().
+ * filemanip.h: Sync with above.
+ (fileparse): Improve style of declaration.
+
+ * io_stream_cygfile.cc (io_stream_cygfile::normalise):
+ Use new_cstr_char_array ().
+ * site.cc (site_list_type::init, get_site_list): Ditto.
+
2005-05-05 Brian Dessent <brian@dessent.net>
- * ControlAdjuster.h: (enum ControlPosition): Declare new
- resizing methods CP_STRETCH_LEFTHALF and CP_STRETCH_RIGHTHALF, and
- their TOP/BOTTOM aliases.
+ * ControlAdjuster.h (enum ControlPosition): Declare new resizing
+ methods CP_STRETCH_LEFTHALF and CP_STRETCH_RIGHTHALF, and their
+ TOP/BOTTOM aliases.
- * ControlAdjuster.cc: (ControlAdjuster::ControlInfo::adjust):
- Implement CP_STRETCH_LEFTHALF and CP_STRETCH_RIGHTHALF, which
- are designed to resize elements in a two-column layout.
+ * ControlAdjuster.cc (ControlAdjuster::ControlInfo::adjust):
+ Implement CP_STRETCH_LEFTHALF and CP_STRETCH_RIGHTHALF, which are
+ designed to resize elements in a two-column layout.
- * localdir.h: (class LocalDirPage): Remove constructor
- implementation from here...
+ * localdir.h (class LocalDirPage): Remove constructor implementation
+ from here...
- * localdir.cc: (LocalDirPage::LocalDirPage): ...to here, and call
- AddControlsInfo on initialization.
- (static LocaldirControlsInfo): Add. Define sizing rules for dialog
+ * localdir.cc (LocalDirPage::LocalDirPage): ...to here, and call
+ AddControlsInfo on initialization.
+ (static LocaldirControlsInfo): Add. Define sizing rules for dialog
elements.
- * proppage.h: Add includes. (PropertyPage::ClickableURL): Declare new
- storage type for internal use by class. (PropertyPage::urls):
- Likewise. (PropertyPage::urlWinProc): Add declaration.
+ * proppage.h: Add includes.
+ (PropertyPage::ClickableURL):
+ Declare new storage type for internal use by class.
+ (PropertyPage::urls): Likewise.
+ (PropertyPage::urlWinProc): Add declaration.
(PropertyPage::makeClickable): Likewise.
- * proppage.cc: Add includes. (PropertyPage::DialogProc): Implement
- handler for WM_CTLCOLORSTATIC message. Supports static controls that
- have been turned into clickable hyperlinks. (static
- PropertyPage::urls): Declare. (PropertyPage::makeClickable):
- Implement new member function that provides user interface for making
- text into clickable URLs. (PropertyPage::urlWinProc): Implement new
- private member function used as a windowproc for subclassing a static
- control.
-
- * resource.h: (IDC_SPLASH_URL, IDC_FILEMODES_LINK, IDC_ROOTDIR_GRP,
- IDC_INSTALLFOR_GRP, IDC_ALLUSERS_TEXT, IDC_JUSTME_TEXT, IDC_MODE_GRP,
- IDC_MODE_TEXT, IDC_MODE_BIN, IDC_LOCALDIR_GRP, IDC_SPLASH_TEXT,
- IDC_SPLASH_ICON, IDC_SPLASH_COPYR): Add. Replaces anonymous
+ * proppage.cc: Add includes.
+ (PropertyPage::DialogProc): Implement handler for WM_CTLCOLORSTATIC
+ message. Supports static controls that have been turned into
+ clickable hyperlinks.
+ (static PropertyPage::urls): Declare.
+ (PropertyPage::makeClickable): Implement new member function that
+ provides user interface for making text into clickable URLs.
+ (PropertyPage::urlWinProc): Implement new private member function used
+ as a windowproc for subclassing a static control.
+
+ * resource.h (IDC_SPLASH_URL, IDC_FILEMODES_LINK, IDC_ROOTDIR_GRP,
+ IDC_INSTALLFOR_GRP, IDC_ALLUSERS_TEXT, IDC_JUSTME_TEXT, IDC_MODE_GRP,
+ IDC_MODE_TEXT, IDC_MODE_BIN, IDC_LOCALDIR_GRP, IDC_SPLASH_TEXT,
+ IDC_SPLASH_ICON, IDC_SPLASH_COPYR): Add. Replaces anonymous
IDC_STATIC ids, so that controls can be referenced by the resizer.
- * res.rc: (IDD_LOCAL_DIR): Rearrange controls to match top-down order
- in the dialog. Fold long lines. Replace anonymous IDC_STATIC ids.
- (IDD_ROOT): Reorder in same manner. Replace anonymous IDC_STATIC
- ids. Add descriptive text of each option, and hyperlink for more
- information. Mark suggested choice as "(RECOMMENDED)". Swap order
- of 'unix'/'dos' radio buttons so that recommended choice is first in
- both columns. (IDD_SPLASH): Reorder elements to match top-down
- order of dialog, fold long lines. Add descriptive paragraph, remove
- anonymous ids. Update copyright text, replace sources.redhat.com
- with cygwin.com.
+ * res.rc (IDD_LOCAL_DIR): Rearrange controls to match top-down order
+ in the dialog. Fold long lines. Replace anonymous IDC_STATIC ids.
+ (IDD_ROOT): Reorder in same manner. Replace anonymous IDC_STATIC ids.
+ Add descriptive text of each option, and hyperlink for more
+ information. Mark suggested choice as "(RECOMMENDED)". Swap order of
+ 'unix'/'dos' radio buttons so that recommended choice is first in both
+ columns.
+ (IDD_SPLASH): Reorder elements to match top-down order of dialog, fold
+ long lines. Add descriptive paragraph, remove anonymous ids. Update
+ copyright text, replace sources.redhat.com with cygwin.com.
- * root.h: (class RootPage): Remove constructor implementation from
+ * root.h (class RootPage): Remove constructor implementation from
here...
- * root.cc: ...to here, and call AddControlInfo. (static
- RootControlsInfo): Add. Populate with resizing data.
+ * root.cc: ...to here, and call AddControlInfo.
+ (static RootControlsInfo): Add. Populate with resizing data.
(RootPage::OnInit): Make text a clickable hyperlink.
- * splash.h: (class SplashPage): Likewise, move constructor from
+ * splash.h (class SplashPage): Likewise, move constructor from
here...
- * splash.cc: ...to here. Call AddControlInfo. (static
- SplashControlsInfo): Add and populate. (SplashPage::Create): Make
- link on splash page a clickable hyperlink.
+ * splash.cc: ...to here. Call AddControlInfo.
+ (static SplashControlsInfo): Add and populate.
+ (SplashPage::Create): Make link on splash page a clickable hyperlink.
- * window.h: Add include. (class Window): Store allocated fonts with a
- vector instead of fixed array. Change indentation of setParent to be
- consistent.
+ * window.h: Add include.
+ (class Window): Store allocated fonts with a vector instead of fixed
+ array. Change indentation of setParent to be consistent.
- * window.cc: (Window::Window): Remove FontCounter.
- (Window::~Window): Likewise. Iterate over vector of fonts
- instead. (Window::SetDlgItemFont): Use vector.
+ * window.cc (Window::Window): Remove FontCounter.
+ (Window::~Window): Likewise. Iterate over vector of fonts instead.
+ (Window::SetDlgItemFont): Use vector.
2005-05-05 Max Bowsher <maxb@ukf.net>
2005-05-05 Brian Dessent <brian@dessent.net>
- * res.rc: (CREATEPROCESS_MANIFEST_RESOURCE_ID): Include section
+ * res.rc: (CREATEPROCESS_MANIFEST_RESOURCE_ID): Include section
comment.
2005-05-05 Brian Dessent <brian@dessent.net>
2005-05-05 Brian Dessent <brian@dessent.net>
- * main.cc (WinMain): Change conditional to avoid spurious error
+ * main.cc (WinMain): Change conditional to avoid spurious error
message on success. Include reason for failure in log message.
2005-05-04 Max Bowsher <maxb@ukf.net>
(IniDBBuilderPackage::currentOrList): Track the current Or list.
(IniDBBuilderPackage::currentAndList): Track the current And list.
* IniParseFeedback.cc (IniParseFeedback::progress): Provide completion
- progress on parsing.
+ progress on parsing.
(IniParseFeedback::iniName): Tell what ini filename we are currently
processing.
* IniParseFeedback.h: Declare IniParseFeedback.cc changes.
* 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
2002-05-19 Robert Collins <rbtcollins@hotmail.com>
* IniDBBuilderPackage.cc (IniDBBuilderPackage::IniDBBuilderPackage): New
- method.
+ method.
(IniDBBuilderPackage::buildVersion): Provide a warning when a newer
setup version created the ini file.
* IniDBBuilderPackage.h (IniDBBuilderPackage::IniDBBuilderPackage): New
2002-05-19 Robert Collins <rbtcollins@hotmail.com>
* rsync: New support library, contains librsync. This is not (yet)
- rsync interoperable.
+ rsync interoperable.
* configure.in: --with-rsync to enable rsync support. (Not complete).
* Makefile.am: Enable building with rsync.
* Makefile.in: Regenerate.