https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=451e2119adb4caf61badf4d43e550ed3a3de3d1b commit 451e2119adb4caf61badf4d43e550ed3a3de3d1b Author: Jon Turney Date: Fri Apr 28 15:26:35 2017 +0100 Remove obsolete ChangeLog Diff: --- ChangeLog |11481 ----------------------------------------------------------- Makefile.am | 2 +- 2 files changed, 1 insertions(+), 11482 deletions(-) diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index 363a05d..0000000 --- a/ChangeLog +++ /dev/null @@ -1,11481 +0,0 @@ -2015-03-04 Jon TURNEY - - * io_stream_cygfile.cc (remove): Convert from fprintf(stderr, ...) - to output to Log stream. - * io_stream_file.cc (remove): Ditto. - * mkdir.cc (mkdir_p): Ditto. - - -This file is deprecated. See git log instead. - --------------------------------------------------------------------------------- -2015-12-01 Corinna Vinschen - - * mount.cc (read_mounts): Always convert root dir path from command line - to an absolute path. - -2015-08-04 Jon Turney - - * dialog.cc (fatal): Use mbox rather than MessageBox. - * install.cc (installOne, check_for_old_cygwin): Ditto. - * main.cc (main_display, WinMain): Ditto. - * mount.cc (create_install_root): Ditto. - * nio-ie5.cc (NetIO_IE5): Ditto. - * root.cc (directory_contains_wrong_version): Ditto. - * site.cc (do_download_site_info_thread): Ditto. - -2015-10-18 Achim Gratz - - * ini.cc (check_ini_sig): Do not complain about a missing - signature file when installing from localdir. If it is present it - still must be checked, however. The "download only" mode should - pull down both the (compressed) setup file and the corresponding - signature (not yet implemented). - (do_local_ini): The builder needs to know the (unescaped) mirror - name it's associated with in order for the file validation to - work. The found_ini_list should directly provide the constituent - parts so that we don't need to extract them (not yet implemented). - - * fromcwd.cc (FindVisitor): Remove superfluous path separator and - simply use SetupArch (which has previously compared equal to - aDir->cFileName) when constructing the setup file name. - - * Makefile.am (GITVER): Do not use an explicit HEAD parameter and - add the "--dirty" option so that builds with uncommitted changes - get marked appropriately. - -2015-10-12 Ken Brown - - * mkdir.cc (mkdir_p): Remove special treatment of colon in path - name. - -2015-08-04 Achim Gratz - - * package_source.h (packagesource): Add boolean member variable - sha512_isSet to record whether an SHA512 checksum has been set. - (packagesource): Initialize sha512_isSet to false. - - * IniDBBuilderPackage.cc (buildInstallSHA512, buildSourceSHA512): - Only set the SHA512 checksum when it was previously unset like it - is done for MD5 checksums. That will generally be the checksum - recorded on the package line in setup.ini, any further checksums - in separate lines will thus be ignored. - - * install.cc (chksum_one): Conditionalize the comparison of the - SHA512 checksum on whether or not it was previously set. Check - SHA512 checksum first since it is the default now. This is - necessary for ad-hoc installs from local disk without a setup.ini - file. Output a warning when the checksum was not be verified - because neither a MD5 nor a SHA512 checksum was set. - -2015-08-04 Achim Gratz - - * install.cc (md5_one): Change buffer size from 16kiB to 64kiB for - faster reading. - -2015-08-03 Achim Gratz - - * inilex.ll: Introduce HEX and B64 definitions, use them in the - rules section. Parse both SHA512 and SHA512-Base64URL checksums - to the SHA512 token. - * iniparse.yy (packagedata): Remove all occurences of the - SHA512B64URL token. - -2015-08-03 Achim Gratz - - * install.cc (chksum_one): If MD5 checksum is not available, then - SHA512 must always be checked even if just against the zeroed - digest as initialized. Otherwise a package with no checksum would - be treated as valid. - -2015-08-03 Achim Gratz - - * ini.h (nibbled1): Fix a thinko in this macro that made the - result always zero. - (hexnibble, nibbled1, b64url, b64d1, b64d2, b64d3): Use character - literals for all numeric constants dealing with characters. - Remove trailing semicolons. - -2015-08-03 Achim Gratz - - * csu_util/MD5Sum.cc (str): The stream modifiers are not sticky - and must be applied for each conversion. - -2015-08-01 David Hoke - - * download.cc (IncludeSource): New command line switch - -I/--include-source. Automatically download sources - associated with any binary package being downloaded when - IncludeSource is true. - * install.cc (do_install_thread): Automatically install - sources associated with any binary package being installed - when IncludeSource is true. - -2015-08-01 Achim Gratz - - * choose.cc (PruneInstallOption): New option -Y/--prune-install. - (OnInit): Implement PruneInstallOption to downgrade packages - installed with a higher version and delete all packages not - explicitly requested to be installed. This brings an existing - installation to the same state a fresh installation would create. - Put the handling for upgrade==true into a separate else branch. - -2015-07-26 Achim Gratz - - * iniparse.yy (singleitem): Fix a copy-and-paste bug, use - SHA512Line for SHA512 standalone checksums (unused in setup.ini). - -2015-07-01 Achim Gratz - - * ini.cc: Construct setup_ext_list from array until we can use - C++11 aggregate initializers. - (decompress_ini): Refactored for use from do_local_ini and - do_remote_ini. Change outdated comment about setup.ini - uncompressed size. - (check_ini_sig): Factor out signature check. - (fetch_remote_ini): Refactored for use from do_remote_ini. - (do_local_ini): Iterate over search results in found_ini_list. - Use decompress_ini and check_ini_sig. - (do_remote_ini): Iterate over known setup file extensions from - setup_ext_list with early-out semantics, preferring ".xz" over - ".bz2" over ".ini" extension. Use fetch_remote_ini and - check_ini_sig. - * ini.h: Remove unused macros. - * IniParseFindVisitor.cc: Remove, the search is already done by - SetupFindVisitor in do_from_local_dir. - * IniParseFindVisitor.cc: Ditto. - * Makefile.am (@SETUP@_SOURCES): Ditto. - -2015-07-01 Achim Gratz - - * fromcwd.cc: Remove unused includes. Add global found_ini_list - to record the search result. - (SetupFindVisitor): Make setup.{ini,bz2,xz} known and provide bool - private variables to record whether we found them. Another bool - inidir to indicate whether we are currently inside a directory - where setup.ini files should exist. - (SetupFindVisitor::visitFile): When inidir is true, check if a - setup file with one of the known extensions was found and set the - corresponding bool variables. - (SetupFindVisitor::visitDirectory): Set inidir when appropriate. - Recurse into directories only if they are potential mirror dirs, - based on level. Truncate search and recurse into inidir. Record - any setup files in found_ini_list while preferring ".xz" over - ".bz2" over ".ini" extension. - (SetupFindVisitor::operator bool): Return true when found_ini_list - is non-empty. - (do_from_local_dir): Restrict search to either a single mirror - hierarchy or multiple mirrors hierarchy; setup files directly in - local directory or mixed hierarchies are no longer recognized. - The setup files must be present in an architecture dependent - directory of "x86/" or "x86_64/", either in the local directory - for single mirror or one level down for multiple mirrors. - -2015-07-01 Achim Gratz - - * ini.h: Declare extern SetupBaseName, SetupArch and SetupIniDir. - Redefine macros to use them. - - * main.cc: Provide option "-i/--ini-basename" to set the basename - for setup, keep the default as "setup" and store in SetupBaseName. - Initialize SetupArch and SetupIniDir based on effective - architecture. - -2015-06-11 Achim Gratz - - * inilex.ll: Increase read buffer size for the lexer input buffer - to 64kiB. - -2015-06-11 Achim Gratz - - * io_stream.cc (copy): Increase read buffer size for io_stream to - 64kiB. Use sizeof operator instead of repeating magic constant. - -2015-06-07 Achim Gratz - - * ini.h: Add macros for use within the implementation of the - checksum parsers. Hexdigest requires a 2-to-1 and Base64 a 4-to-3 - conversion. Base64 uses the filename and URL safe alphabet from - RFC4648. It would be trivial to additionally process the normal - Base64 alphabet but we don't want to allow that in order to be - able to use the checksums as filenames without further conversion. - (hexnibble, b64url): Process single input character to input value. - (nibbled1): Convert 2 processed input values into 1 output value. - (b64d1, b64d2, b64d3): Convert 4 input values into 3 output - values. - * iniparse.yy: Add SHA512B64URL checksum in addition to MD5 and - SHA512. Keep symmetry with MD5LINE and also define SHA512LINE - syntax. - * inilex.ll: Implement existing MD5 and SHA512 checksum parsers - using new macros. Implement new SHA512B64URL parser using new - macros. Enforce Base64 alphabet as defined in RFC4648 with no - padding to enable direct use of checksum values as filenames. - Implement SHA512LINE parser. - -2015-03-25 Corinna Vinschen - - * install.cc (sha512_one): Raise buffer size to 64K for performance - reasons. - -2015-03-04 Jon TURNEY - - * archive_tar.cc (next_file_name): Silence error for 'g' and 'x' - type headers. - -2015-03-04 Jon TURNEY - - * archive_tar.cc (archive_tar): Convert from fprintf(stderr, ...) - to LogBabblePrintf() or LogPlainPrintf() as appropriate. - -2015-03-04 Jon TURNEY - - * msg.cc (msg): Remove. - * msg.h (msg): Ditto. - * compress_xz.cc (read, bid_xz, bid_lzma): Convert from msg() to - LogBabblePrintf() or LogPlainPrintf() as appropriate. - * crypto.cc (MESSAGE): Ditto. - * desktop.cc (make_link, start_menu, desktop_icon) - (check_desktop, check_startmenu): Ditto. - * gpg-packet.cc (MESSAGE): Ditto. - * ini.cc (do_ini_thread): Ditto. - * simpsock.cc (SimpleSocket): Ditto. - -2015-03-04 Jon TURNEY - - * LogSingleton.cc (LogBabblePrintf, LogPlainPrintf): Add. - * LogSingleton.h: Ditto. - -2015-03-05 Achim Gratz - - * package_meta.cc (isManuallyWanted, isManuallyDeleted): Demote - overly talkative messages to LOG_BABBLE, so that they won't - clutter stdout by default. - -2015-03-02 Jon TURNEY - - * LogFile.cc (endEntry): Remove msg(). - -2015-03-02 Jon TURNEY - - * LogFile.cc (VerboseOutput): Add option. - (endEntry): Only write LOG_PLAIN to stdout, unless VerboseOutput. - -2015-03-02 Jon TURNEY - - * res.rc (IDD_FILE_INUSE): Add 'Retry' button. Make larger. - * install.cc (FileInuseDlgProc): Polish text. Handle IDIGNORE. - (installOne): Ditto. - -2015-03-02 Jon TURNEY - - * PickView.cc (init_headers): More correctly size "Bin?" and - "Src?" columns. - -2015-02-18 Corinna Vinschen - - * PickPackageLine.cc (PickPackageLine::click): Call - packagemeta::set_action with current trust level as argument. - * package_meta.cc (packagemeta::set_action): Take trust level as - argument. When the user picks a package for the first time (from - "Skip"), pick the version matching the current trust level. Improve - comments. - * package_meta.h (class packagemeta): Add member user_picked. - (packagemeta::packagemeta): Initialize user_picked to false. - (packagemeta::set_action): Align prototype to above change. - -2015-02-16 Achim Gratz > - - * README: Adapt the documentation to the recent changes and some - not-so-recent ones. - -2015-02-16 Achim Gratz > - - * Makefile.am (setup-src): Create file list for archive from - git-ls-files instead of cvs and create an XZ compressed archive. - -2015-02-16 Achim Gratz > - - * Makefile.am (VER): Use git-describe to construct version string - based on annotated release tags. - (setup_version.c): Echo setup version, use round parens instead of - curlies. - -2015-02-10 Corinna Vinschen - - * Makefile.am (VER): Don't use ChangeLog revision number since git - doesn't maintain it. Use ChangeLog's commit count instead. - -2015-02-07 Achim Gratz - - * install.cc (preremoveOne): Allow dash scripts and ".cmd" as an - additional extension for WIndows batch files. - -2015-02-06 Corinna Vinschen - - * package_meta.h (packagemeta::trustp): Make sure that curr and - installed exist before using them in version comparisons. Install exp - over installed only if exp has a higher version number than installed. - -2015-02-05 Corinna Vinschen - - Throughout, change preceeding patch from SHA256 to SHA512. - * Makefile.am (BASECXXFLAGS): Add -Wno-attributes for the sake of - sha2.c. - -2015-02-05 Corinna Vinschen - - Prepare for changing from MD5 to SHA256 checksums. - * IniDBBuilder.h (IniDBBuilder::buildInstallSHA256): Declare as pure - virtual method. - (IniDBBuilder::buildSourceSHA256): Ditto. - * IniDBBuilderPackage.h (IniDBBuilderPackage::buildInstallSHA256): - Declare. - (IniDBBuilderPackage::buildSourceSHA256): Ditto. - * IniDBBuilderPackage.cc: Formatting changes. - (IniDBBuilderPackage::buildInstallSHA256): New method to store SHA256 - sum for binary package. - (IniDBBuilderPackage::buildSourceSHA256): Ditto for source package. - * Makefile.am (@SETUP@_SOURCES): Add sha256sum.c and sha256sum.h. - * inilex.ll: Formatting changes. Implement string recognition for - SHA256 sums. - * iniparse.yy: Define new token. Allow SHA256 as well as MD5 checksums. - * install.cc (do_install_thread): Call chksum_one instead of md5sum. - (sha256_str): New static function to create SHA256 checksum string for - log output. - (sha256_one): New function to compute SHA256 checksum for file. - (md5_one): Move validity tests into chksum_one. - (chksum_one): New static function. Call either sha256_one - or md5_one depending on checksum read from ini file. - * package_source.h (packagesource::packagesource): Initialize sha256sum. - (packagesource::sha256sum): New member. - * sha2.c: New file, taken from OpenBSD. - * sha2.h: New file, taken from OpenBSD. - -2015-02-04 Corinna Vinschen - - * Throughout, include LogFile.h instead of LogSingleton.h where - required. - * LogFile.cc (LogFile::exit_msg): Convert globally available variable - to protected, static LogFile member. - (LogFile::exit): Accept second parameter to decide if the end of install - message is to be printed. Revert to using the exit_code as is. - * LogFile.h (LogFile::setExitMsg): New static method. Use throughout - rather than setting exit_msg directly. - (LogFile::getExitMsg): Ditto. - (LogFile::exit): Add second parameter to prototype. - (LogFile::exit_msg): New static member. - (Logger): New macro defining simplified access th logger instance. - Use throughout in place of LogSingleton::GetInstance and direct access - to theLog. - * LogSingleton.h (LogSingleton::exit): Add second parameter to - prototype. - * desktop.cc (theLog): Remove extern declaration. - (set_status): Call Logger ().getExitMsg () instead of - accessing exit_msg directly. - * localdir.cc (theLog): Remove extern declaration. - * main.cc (theLog): Remove. - (WinMain): Introduce local variables to store requirement to print - help output and if command line options were used incorrectly. Use - throughout function. - -2015-02-03 Corinna Vinschen - - * LogFile.cc (LogFile::exit): Deconstify exit_code. Handle - exit_code -1 special (instead of IDS_ELEVATED). Add comments to - explain. - * LogFile.h (LogFile::exit): Deconstify exit_code in prototype. - * main.cc (WinMain): Restructure code. Revert to always initializing - log output. Don't generate log files if setup is going to elevate - itself, or if only help output is requested. Set exit_code to -1 in - call to LogFile::exit in the cases we don't want a log (elevate/help). - -2015-01-28 Corinna Vinschen - - * choose.cc (MirrorOption): Add experimental local mirror option. - (ChooserPage::OnInit): Call packagemeta::ScanDownloadedFiles with - value of MirrorOption as argument. - * download.cc (check_for_cached): Add bool parameter. If true, assume - correctness of download (==mirror) directory without checking files. - * download.h (check_for_cached): Add bool parameter to prototype, - default to false. - * package_meta.cc (packagemeta::ScanDownloadedFiles): Add bool - parameter. Use to compute flag to call packageversion::scan with. - * package_meta.h (packagemeta::ScanDownloadedFiles): Align prototype. - * package_version.cc (packageversion::scan): Add bool parameter. Call - check_for_cached with value of this parameter. - * package_version.h (packageversion::scan): Align prototype. - -2015-01-28 Corinna Vinschen - - * PickPackageLine.cc (PickPackageLine::click): Rearrange code. Switch - package to "Uninstall" if neither binary, nor source package are picked. - Explain why. - * choose.cc (ChooserPage::OnInit): Fix CleanOrphansOption broken with - latest patch. Reformat slightly. - * package_meta.cc (packagemeta::set_action): Rearrange and further - simplify code. Make sure to have binary and source version never - unpicked at the same time to avoid spurious uninstallation of package. - Try to comment thoroughly. - -2015-01-26 Corinna Vinschen - - * PickPackageLine.cc (PickPackageLine::paint): Call trustp with default - flag set to false. - (PickPackageLine::click): Drop parameter from packagemeta::set_action - call. - (PickPackageLine::set_action): Call trustp with default flag set to - true. - * choose.cc (ChooserPage::OnInit): Call trustp with default flag set to - true to fetch default package version, rather than defaulting to curr. - * package_db.cc (packagedb::defaultTrust): Call trustp with default - flag set to true. - * package_meta.cc (packagemeta::set_action): Drop default_version - parameter. Rewrite to simplify mechanism, and to account for correct - stepping through versions if installed version is not available anymore. - * package_meta.h (packagemeta::set_action): Align prototype. - (packagemeta::trustp): Add bool to request default package handling. - Add code to make sure not to downgrade packages by default. - * package_version.cc (processOneDependency): Call trustp with default - flag set to false. - * prereq.cc (PrereqChecker::getUnmetString): Ditto. - (PrereqChecker::selectMissing): Ditto. - -2015-01-25 Corinna Vinschen - - * package_version.cc (packageversion::compareVersions): Get arguments - by const references instead of by value. - * package_version.h (packageversion::compareVersions): Match prototype. - * res.rc: Bump version date. - -2014-12-09 Yaakov Selkowitz - - * package_source.cc (packagesource::set_canonical): Fix handling - of package release number containing a period. - -2014-11-28 Achim Gratz - - * script.cc: New static string dash. - (init_run_script): Initialize dash. - (run): Implement dash as an extra shell type that is invoked for - suffix ".dash". Implement suffix ".cmd" as an alias for ".bat". - -2014-11-28 Achim Gratz - - * install.cc (do_install_thread): Remove initialization for - run_script. - * postinstall.cc (do_postinstall_thread): Remove initialization - for run_script. Implement stratified postinstall (hardcode three - strata for now). For each stratum, run perpetual scripts first - after sorting them as ASCII, then the postinstall scripts just - installed, then check for dormant scripts in postinstall and try - to run those. - (PerpetualFindVisitor): New helper class to pick up perpetual - scripts. - (RunFindVisitor): Use new Script member function and pick up only - runnable non-perpetual scripts. - * script.h (Script::baseName): Add private variable. - (Script::scriptExtension): Ditto. - (Script::scriptStratum): Ditto - (Script::scriptType): Ditto - (Script::allowedStrata): Ditto - (Script::allowedTypes): Ditto - (Script::match): New private member function. - (Script::not_p): New public member function to check for - non-perpetual runnable script. - (Script::is_p): Ditto, but for perpetual scripts. - (Script::operator ==): Qualify as const. - (Script::operator <): New const qualified, used for sorting as ASCII. - * script.cc (class Script): Implement those additional members. - (run): Implement using the new member variables and std::string - functions instead of C string manipulations. - (isAScript): Ditto. - (fullName): Ditto. - (baseName): Ditto. - (Script): Extend initialization section and calculate values for - member variables. Move initialization for run_script into the constructor. - -2014-11-22 Achim Gratz - - * LogSingleton.h: Rename log macro to Log to avoid collision with - standard math function in some versions of g++. - * AntiVirus.cc: Replace invocations of log with Log. - * IniDBBuilderPackage.cc: Ditto. - * LogFile.cc: Ditto. - * PickView.cc: Ditto. - * archive.cc: Ditto. - * archive_tar.cc: Ditto. - * choose.cc: Ditto. - * cygpackage.cc: Ditto. - * download.cc: Ditto. - * geturl.cc: Ditto. - * ini.cc: Ditto. - * install.cc: Ditto. - * io_stream.cc: Ditto. - * io_stream_cygfile.cc: Ditto. - * localdir.cc: Ditto. - * main.cc: Ditto. - * mount.cc: Ditto. - * msg.cc: Ditto. - * net.cc: Ditto. - * nio-ftp.cc: Ditto. - * package_db.cc: Ditto. - * package_meta.cc: Ditto. - * package_version.cc: Ditto. - * prereq.cc: Ditto. - * processlist.cc: Ditto. - * proppage.cc: Ditto. - * root.cc: Ditto. - * script.cc: Ditto. - * site.cc: Ditto. - * source.cc: Ditto. - * threebar.cc: Ditto. - * win32.cc: Ditto. - * window.cc: Ditto. - -2014-11-22 Achim Gratz - - * main.cc (WinMain): Show parameter usage before exiting when - options processing was unsuccessful (this usually means that an - unknown option was given on the command line). - -2014-11-20 Corinna Vinschen - - * install.cc (Installer::StandardDirs): Add /etc/fstab.d, /dev, - /dev/mqueue, /dev/shm. Sort array alphabetically. - -2014-11-04 Achim Gratz - - * Makefile.am: Provide new targets "strip" and "upx" to remove - debugging symbols and compress the executable using UPX. - * README: Change description of how to produce stripped and compressed - binaries to use the new make targets. - -2014-10-26 Corinna Vinschen - - * setup.exe.manifest: Add Windows 10 OS GUID. - * setup64.exe.manifest: Ditto. - -2014-09-27 Eric Blake - - * res.rc: Fix missing space. - -2014-04-19 Jon TURNEY - - * site.cc (init): Handle sitenames which aren't FQDNs correctly. - -2014-04-19 Jon TURNEY - - * site.cc (PopulateListBox): Select listbox items by finding the - index of the item with a matching full URL, not by LB_FINDSTRING - which does an inexact match on the displayed URL. - -2013-11-18 Jon TURNEY - - * msg.cc (mbox): Generalize to a MessageBox wrapper which knows - what to do in unattended mode. - * msg.h: Add prototype. - * ini.cc (IniParseFeedback): Use here rather than MessageBox. - -2014-04-22 Corinna Vinschen - - * mount.cc (read_mounts): Don't create rootdir key when just fetching - info from registry. - -2014-04-22 Corinna Vinschen - - * mount.cc (is_admin): Drop function. It's incorrectly implemented - and redundant. - (create_install_root): If installing the setup rootdir entry to HKLM - results in ERROR_ACCESS_DENIED, fall back to installing into HKCU. - Don't exit with a fatal error if writing the registry key fails. Just - pop up an informative message box instead. Also log access denied. - (read_mounts): call nt_sec.isRunAsAdmin instead of removed is_admin. - (NTSecurity::isRunAsAdmin): Fix formatting. - -2014-03-10 Corinna Vinschen - Jon Beniston - - * main.cc (WaitOption): New -W/--wait option. - (WinMain): Rearrange code to make sure only the actual worker - instance of setup logs into the setup.log and setup.log.full files. - Call NTSecurity::initialiseWellKnownSIDs explicitely. Explain why. - If WaitOption is given, let the parent process wait for the elevated - child process. - * win32.cc (NTSecurity::initialiseWellKnownSIDs): Drop generating - log messages. - (NTSecurity::setDefaultSecurity): Drop call to initialiseWellKnownSIDs. - * win32.h (NTSecurity::initialiseWellKnownSIDs): Make public. - -2014-03-10 Jon Beniston - - * main.cc (WinMain): If setup elevates, let the parent wait for the - child process to accommodate enclosing installers. - -2013-11-19 Corinna Vinschen - - * setup.exe.manifest: Add Windows 8.1 GUID. - * setup64.exe.manifest: Ditto. - -2013-11-18 Corinna Vinschen - - * filemanip.cc (nt_fopen): Rename from fopen. Add permission parameter. - Drop C binding. Move comment. - * filemanip.h (nt_fopen): Declare. - * geturl.cc (get_url_to_file): Call nt_fopen instead of fopen. - * nio-file.cc (NetIO_File::NetIO_File): Ditto. - * main.cc (dyn_AttachConsole): Remove. - (dyn_GetLongPathName): Remove. - (set_dynaddr): Remove. - (set_cout): Just call AttachConsole directly. - (WinMain): Drop call to set_dynaddr. - -2013-11-15 Corinna Vinschen - - * resource.h (IDC_SOURCE_SUBTEXT): Define. - * res.rc: Define text below header as IDC_SOURCE_SUBTEXT to allow - reconfiguration. - -2013-11-15 Corinna Vinschen - - * root.cc: Move inline definitions of GetDlgItemRect and - SetDlgItemRect from here... - * win32.h: ...to here, for potential usage in other dialogs. - -2013-11-15 Corinna Vinschen - - * res.rc: Fix size and position of rootdir textbox and button. - Align size and position of localdir fields to rootdir fields for - optical reasons. - -2013-11-15 Corinna Vinschen - - * resource.h (IDC_ROOTDIR_SUBTEXT): Fix typo. - -2013-11-15 Corinna Vinschen - - * resource.h (IDC_ROOTDIR_SUBTEXT): Define. - * res.rc: Define text below header as IDC_ROOTDIR_SUBTEXT to allow - reconfiguration. - -2013-11-15 Corinna Vinschen - - * mount.cc (read_mounts): Drop setting root_text. - * res.rc: Set content of root dir dialog correctly right from the start. - Remove unused items. - * resource.h (IDC_ROOT_TEXT): Remove. - (IDC_ROOT_BINARY): Ditto. - (IDC_FILEMODES_LINK): Ditto. - (IDC_MODE_GRP): Ditto. - (IDC_MODE_TEXT): Ditto. - (IDC_MODE_BIN): Ditto. - * root.cc (Root): Set "Install For" group items to CP_STRETCH. - Remove all "text/binary" items. - (rb): Remove. - (check_if_enable_next): Drop test for root_text. - (load_dialog): Remove all code setting items differently to what's - specified as default in the resources, in favor of setting this - correctly in the resources. - (save_dialog): Drop setting root_text. - (RootPage::OnMessageCmd): Drop IDC_ROOT_TEXT/IDC_ROOT_BINARY handling. - (RootPage::OnInit): Drop IDC_FILEMODES_LINK handling. - (RootPage::OnNext): Drop "text"/"binary" state from debug output. - * state.cc (root_text): Remove. - -2013-11-14 Corinna Vinschen - - * archive_tar.cc: Drop commented out static variable definitions. - (archive_tar::next_file_name): Replace MAX_PATH with CYG_PATH_MAX. - * archive_tar.h (tar_state::filename): Ditto. - * cygpackage.cc (cygpackage::cygpackage): Ditto. - * cygpackage.h (cygpackage::getfilenamebuffer): Ditto. - * desktop.cc (start_menu): Add comment. Drop Windows 9x considerations. - (desktop_icon): Ditto. - (check_desktop): Ditto. - (check_startmenu): Ditto. - * diskfull.cc (diskfull): Drop Windows 9x considerations. Convert - incoming path to wide char and call GetDiskFreeSpaceExW. - * filemanip.cc (fopen): New function, overriding MSVCRT function. - Explain why. - (remove): Ditto. - (rename): Ditto. - (_access): Ditto. - * install.cc (check_for_old_cygwin): Add comment. - * localdir.cc (browse): Add comment. - (LocalDirPage::OnNext): Don't rely on being able to change CWD. - Call GetFileAttributesW instead and change conditional expressions - accordingly. Explain why. Rename trySetCurDir to tryLocalDir to - avoid confusion. Call do_from_local_dir rather than do_fromcwd. - * mount.cc (read_mounts): Add comments. Call GetSystemWindowsDirectory - rather than GetWindowsDirectory since that's what we're really want. - * postinstall.cc (do_postinstall_thread): Drop setting CWD. Scripts - are called with CWD set to Cygwin root dir anyway. - * processlist.cc (Process::getName): Allow CYG_PATH_MAX sized module - names. - (Process::isModuleLoadedInProcess): Allow CYG_PATH_MAX sized module - names. - * root.cc (browse): Add comment. - * script.cc (sanitize_PATH): Call GetSystemWindowsDirectory rather than - GetWindowsDirectory since that's what we're really want. - (Script::run): Allow cmdline up to CYG_PATH_MAX chars to allow longer - script paths. - * win32.h (CYG_PATH_MAX): Define as 4096 as Cygwin's PATH_MAX. - -2013-11-13 Corinna Vinschen - - * desktop.cc (STARTMENUDIR): Define. - (check_startmenu): Use STARTMENUDIR instead of constant string. - (DesktopSetupPage::OnActivate): Use TARGET and TERMINALTITLE defines - to simplify calls to check_startmenu and check_desktop. - -2013-11-13 Corinna Vinschen - - * desktop.cc: Drop dependency on static variable and order of - initialization. Allow easier reconfiguration. - (iconname): Drop static variable. - (make_link): Add parameter to specify icon path. - (start_menu): Ditto. Call make_link accordingly. - (desktop_icon): Ditto. - (save_icon): Take windows path as first parameter. Drop setting - global iconname variable. - (TARGET): Define. - (DEFAULTICON): Define. - (TERMINALICON): Define. - (TERMINALTITLE): Define. - (do_desktop_setup): Rearrange code to use aforementioned defines and - align function calls to aforementioned changes. - -2013-11-13 Corinna Vinschen - - * mount.cc (CYGWIN_INFO_CYGNUS_REGISTRY_NAME): Remove now unused - pre-1.7 registry key name. - (CYGWIN_INFO_CYGWIN_MOUNT_REGISTRY_NAME): Ditto. - (CYGWIN_INFO_CYGDRIVE_FLAGS): Ditto. - (CYGWIN_INFO_CYGDRIVE_PREFIX): Ditto. - (CYGWIN_INFO_CYGDRIVE_DEFAULT_PREFIX): Ditto. - -2013-11-13 Corinna Vinschen - - * Makefile.am (EXTRA_DIST): Add cygwin-setup.ico and - cygwin-terminal.ico. - -2013-11-07 Corinna Vinschen - - * LogFile.cc (LogFile::exit): Don't print ending message after - successful elevation. - * res.rc (IDS_ELEVATED): New string. - * resource.h (IDS_ELEVATED): New string resource number. - -2013-11-07 Shaddy Baddah - - * LogFile.cc (LogFile::flushAll): New function to flush log all logging - to files without exiting (as LogFile::exit does). - * LogFile.h: Declare new method closeAll. - * main.cc (NoAdminOption): Add new CLI options -B/--no-admin. This - option allows the user to suppress privilege elevation (in tandem with - "asInvoker" requestedExecutionLevel changes to exe manifests). - (WinMain): check if setup run with Administrator privilege and if the - NoAdminOption has not been specified, attempt to elevate privilege to an - Administrator via WINAPI ShellExecuteEx(). - * setup.exe.manifest: Add requestedExecutionLevel of asInvoker to allow - suppression of privilege elevation. - * setup64.exe.manifest: Modify requestedExecutionLevel from - requireAdministrator to asInvoker to allow suppression of privilege - elevation. Continuity of privilege elevation attempt on startup is - implemented by main.cc changes to WinMain(). - * win32.cc (NTSecurity::isRunAsAdmin): New function to allow main.cc to - check if setup.exe has been run with privilege elevated to Administrator - level. - * win32.h: Declare new method isRunAsAdmin. - -2013-10-07 Jon TURNEY - - * prereq.cc (OnUnattended): Also select missing requirements in unattended - mode, since it's no longer a side effect of the chooser. - -2013-09-17 Christopher Faylor - - * filemanip.cc (find_tar_ext): Generalize search for .tar extension, - avoiding looking for specific compression types. - -2013-08-12 Achim Gratz - - * csu_util/MD5Sum.h (MD5Sum): Remove declaration for conversion - operator std::string(). Remove implementation of member - function str() using the conversion operator. - * csu_util/MD5Sum.cc (MD5Sum::str): Reuse implementation of conversion - operator std::String to implement member function str() with. - -2013-08-09 Achim Gratz - - * csu_util/MD5Sum.cc (MD5Sum::operator std::string() const): - Reimplement using stringstream to avoid a SEGV. - -2013-07-29 Corinna Vinschen - - * localdir.cc (LocalDirPage::OnNext): Accommodate architecture parameter - in IDS_NO_CWD string. - (IDS_NO_CWD): Add string argument for architecture in setup name. - -2013-07-29 Corinna Vinschen - - * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildVersion): Align - warning string to target architecture. - -2013-07-26 Achim Gratz - - * choose.cc (UpgradeAlsoOption): Add new CLI option -g/--upgrade-also. - (CleanOrphansOption): Add new CLI option -o/--delete-orphans. - (OnInit): Implement -g/--upgrade-also, considers all installed packages - as candidates for upgrades (the default when no CLI package or category - options have been given) also when manual additions or removals are - requested at the same time. Implement -o/--delete-orphans, considers - installed packages that do not exist anymore in the package repositories - as candidates for deletion. - -2013-07-24 Jon TURNEY - - * bootstrap.sh : Add support for x86_64-w64-mingw32 toolchain. - -2013-07-25 Achim Gratz - - * package_db.h (packagedb::addCommandLinePackages): Remove declaration. - * package_db.cc (packagedb::addCommandLinePackages): Remove. - -2013-07-25 Achim Gratz - - * choose.h (hasManualSelections): Declare new variable. - * choose.cc (ChooserPage::OnInit): Re-implement package handling - depending on options given on CLI using package actions instead of - package_meta low-level functions. When no CLI package or category - options have been given, upgrade installed packages. Do not check for - updates when packages are to be added or removed from the CLI, but this - behaviour can be requested with --upgrade-also. A package that is - requested to be removed and also added at the same time gets reinstalled - or upgraded (when version curr != installed). Uninstalled packages in - categories "Base" or "Misc" are always selected for installation; - installed packages in these categories are not eligible for deletion - and will be reinstalled or upgraded instead. - * package_meta.h (packagemeta::ismanuallyDeleted): Declare new method. - * package_meta.cc (DeletePackageOption): Add new CLI option - -x/--remove-packages, packages listed here are considered candidates - for deletion. - (DeleteCategoryOption): Add new CLI option -c/--remove-categories, - packages belonging to categories listed here are considered candidates - for deletion. - (hasManualSelections): Additional boolean to record if any manual - installations or deletions have been requested. - (packagemeta::isManuallyDeleted): Implement along the same lines as - isManuallyWanted, but for deletion candidates. - -2013-07-25 Achim Gratz - - * choose.cc (ChooserPage::createListview): Remove superflous and - detrimental default trust setting. This has already been set correctly - in OnInit. - -2013-07-24 Christopher Faylor - - * configure.ac: Change setup64.exe -> setup.exe. - -2013-07-23 Jon TURNEY - - * install.cc (_custom_MessageBox): Restore custom message box. - (installOne): If processList is empty, use the custom message box - to ask if we should retry or continue. - * res.rc (IDD_FILE_INUSE): Use IDCONTINUE for continue buttom, to be - the same custom message box. - -2013-07-22 Corinna Vinschen - - * root.cc (directory_contains_wrong_version): Check cygwin1.dll's - machine type. If that fails, fall back to testing of cygcheck.exe's - binary type. Tweak message text slightly for clearness. Add comment - to explain what this function does. - -2013-07-22 Corinna Vinschen - - * root.cc (directory_contains_wrong_version): New function to check - setup machine type against installation machine type. - (RootPage::OnNext): Call directory_contains_wrong_version and refuse to - continue if it returns != 0. - -2013-07-22 Christopher Faylor - - * IniParseFindVisitor.cc (iniParseFindVisitor::visitFile): Relax check - for SETUP_INI_DIR slightly. Remove trailing SETUP_INI_DIR from mirror - directory or local downloaded packages will never be found. - - * choose.cc (ChooserPage::OnInit): Fix some formatting. - * fromcwd.cc (SetupFindVisitor::visitFile): Relax check for - SETUP_INI_DIR slightly. - (ChooserPage::OnInit): Fix some formatting. - * ini.cc (do_local_ini): Remove name from unused parameter. Fix some - formatting. - (do_ini_thread): Fix some formatting. - - * package_version.cc (dumpAndList): Temporarily (?) just return from this - debugging function since it SEGVs otherwise. - -2013-07-12 Christopher Faylor - - * iniparse.yy: Move ARCH and RELEASE to the header processing, where - they belong. - -2013-07-12 Christopher Faylor - - * IniDBBuilder.h (IniDBBuilder::set_arch): New function. - (IniDBBuilder::set_release): New function. - (IniDBBuilder::arch): New storage for arch:. - (IniDBBuilder::arch): New storage for release:. - * IniDBBuilderPackage.cc (IniDBBuilderPackage::autodep): Fix cut/paste - error which ended up calling the wrong thing. - * ScanFindVisitor.cc (ScanFindVisitor::visitFile): Remove old code. - * cygpackage.cc (cygpackage::set_autodep): Implement to satisfy setup's - insane class hierarchy. - * cygpackage.h (cygpackage::set_autodep): See above. - (std::string autodep_regex): Ditto. - * package_version.cc (packageversion::set_autodep): Ditto. - * package_version.h (packageversion::set_autodep): Ditto. - * inilex.ll: Tokenize "arch:" and "release:". - * iniparse.yy: Parse ARCH and RELEASE. - -2013-07-03 Christopher Faylor - - * win32.h (struct acl_t): Just enforce alignment using attribute. - -2013-07-03 Corinna Vinschen - - * FindVisitor.cc (FindVisitor::visitDirectory): Check tracking level - argument to limit the search depth. - * FindVisitor.h (FindVisitor::visitDirectory): Add tracking level - argument to declaration. - * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Check - found file's basePath to end in SETUP_INI_DIR. - * find.cc (Find::accept): Accept additional tracking level argument - and submit to FindVisitor::visitDirectory. - * find.h (Find::accept): Add tracking level argument to declaration. - * fromcwd.cc (SetupFindVisitor::visitFile): Check found file's basePath - to end in SETUP_INI_DIR. - (do_fromcwd): Only search ini file two directory levels deep. - * ini.cc (do_local_ini): Ditto. - (do_remote_ini): Add SETUP_INI_DIR to current_ini_name. - * ini.h (SETUP_INI_DIR): New macro. - (SETUP_INI_FILENAME): Just define filename. - (SETUP_BZ2_FILENAME): Ditto. - -2013-07-03 Corinna Vinschen - - * win32.h (struct acl_t): Use a union. - -2013-07-02 Corinna Vinschen - - * win32.h (struct acl_t): Make sure struct is 4 byte aligned. - -2013-07-02 Christopher Faylor - - * archive.cc (archive::extract_file): Reformat. Always return at the - bottom. - -2013-07-02 Christopher Faylor - - * archive.cc (archive::extract_file): Fix recently introduced bug: - don't fall through to next case. break is your friend. - -2013-06-30 Christopher Faylor - - * mount.cc (LFSTAB): Define. - (from_fstab): Use LFSTAB constant where appropriate. Properly size - path array to include \etc\fstab. Change len argument of mklongpath to - reflect the actual size of the destination argument. - -2013-06-29 Christopher Faylor - - * archive.cc (archive::extract_file): Use named constants for return - values. - * archive.h (archive::extract_results): New enum. - (archive::extract_file): Use extract_results for return value. - * install.cc (Installer::installOne): Use archive::extract_results to - make decisions about archive::extract_file return. - * io_stream_cygfile.cc: Add a comment making return value clear. - * mkdir.cc: Ditto. - -2013-06-26 Corinna Vinschen - - * io_stream_cygfile.cc: Rearrange inclusion of headers to workaround - bug in older mingw-w64 system headers. Drop unneeded include files. - * io_stream_file.cc: Drop unneeded include files. - -2013-06-26 Corinna Vinschen - - Drop pre-1.7 mount point considerations. - * mount.cc (find2): Remove. - (remove1): Remove. - (remove_mount): Remove. - (create_mount): Remove. - (set_cygdrive_flags): Remove. - (get_cygdrive_flags): Remove. - (default_cygdrive): Remove. - (in_table): Remove. - (is_admin): Fix comment. - (read_mounts_9x): Remove. - (read_mounts): Drop call to read_mounts_9x. - * mount.h (create_mount): Remove declaration. - (set_cygdrive_flags): Ditto. - * script.cc (run): Fix comment. - -2013-06-25 Corinna Vinschen - - * Makefile.am (AM_CXXFLAGS): Add source file specific CXXFLAGS. - (inilex_CXXFLAGS): Add -Wno-sign-compare to workaround failing build - on Fedora 18 due to bison creating sign comparison mismatches in - generic yylex wrapper code. - -2013-06-22 Christopher Faylor - - * ini.h (SETUP_BZ2_FILENAME): Reflect new architecture layout in ftp. - (SETUP_INI_FILENAME): Ditto. - * main.cc (Arch): New option. Include StringOption.h for this. - (WinMain): Change is_64bit calculation to allow overriding from - command-line. Issue error if bad value provided. - * res.rc: Move some text closer together. - * splash.cc: Include ini.h. Add architecture to opening screen. - - * UserSettings.cc (UserSettings::get): Don't try to open a filename - with the name of the key. That's old behavior. - -2013-06-20 Christopher Faylor - - * res.rc: Update copyright. - -2013-04-05 Yaakov Selkowitz - - * Makefile.am (EXTRA_DIST): Add setup64.exe.manifest. - (res.o): Depend on arch-specific manifest file. - * res.rc (CREATEPROCESS_MANIFEST_RESOURCE_ID): Add separate - definition for x86-64. - * setup.exe.manifest: Throughout, set processorArchitecture to x86. - Remove trustInfo section. - * setup64.exe.manifest: New file. - -2013-03-22 Corinna Vinschen - - * desktop.cc (do_desktop_setup): Install "Cygwin64 Terminal" link on - 64 bit. - (DesktopSetupPage::OnActivate): Check for "Cygwin64 Terminal" link on - 64 bit. - * main.cc (main_display): Avoid compiler warning on 64 bit. - * mount.cc (from_fstab): Take 2nd parameter as const by reference to - avoid potential crash due to scope issue. - -2013-03-14 Yaakov Selkowitz - - * configure.ac: Remove check for libmingw32. - (SETUP): Define EXE name based on host_cpu. - (MINGWTARGET): Remove. - * Makefile.am: Use SETUP throughout. Remove MINGWTARGET conditional. - Add -lmingw32 to LDFLAGS. - * ini.h (is_64bit): Declare. - (SETUP_INI_FILENAME): Make dependent on value of is_64bit. - (SETUP_BZ2_FILENAME): Ditto. - * main.cc (is_64bit): Define based on compiler target. - * mount.h (SETUP_KEY_WOW64): Define based on value of is_64bit. - * install.cc (create_allow_protected_renames): Add SETUP_KEY_WOW64 - flag to RegOpenKeyEx call. - * mount.cc: Throughout, add SETUP_KEY_WOW64 flag to all RegOpenKeyEx - and RegCreateKeyEx calls. - (read_mounts): Change default Cygwin root depending on is_64bit. - -2013-03-05 Yaakov Selkowitz - - Throughout, drop support for Cygwin 1.5 and Windows pre-2000. - -2013-03-04 Yaakov Selkowitz - - * install.cc (FileInuseDlgProc): Fix return type. - * regex/regcomp.c (parse_dup_op): Fix invalid cast warning. - (create_token_tree): Ditto. - * setup.exe.manifest: Set processorArchitecture to "*". - Add explicit requestedExecutionLevel for 64-bit compatibility. - -2013-03-04 Yaakov Selkowitz - - * Makefile.am (inilint_extras): Remove autoload.c. - (setup_SOURCES): Ditto. - (setup_LDADD): Add ntdll and wininet. - (autoload.o): Remove rule. - * autoload.c: Remove file. - -2013-03-03 Yaakov Selkowitz - - * Makefile.am (res.o): Add rule to force rebuild upon change - to setup.exe.manifest, which is included by res.rc. - -2013-02-17 Christopher Faylor - - * configure.ac: Rename from configure.in. - * configure.in: Delete. - * libgetopt++/configure.ac: Rename from configure.in. - * libgetopt++/configure.in: Delete. - * Makefile.am: Remove ill-advised iniparse.hh change. - * libgetopt++/Makefile.am: Use "modern" AM_CPPFLAGS rather than INCLUDES. - * inilex.ll: Add autodep token recognition. - * iniparse.yy: Handle autodep. - * IniDBBuilder.h (autodep): Define for base class. - * IniDBBuilderPackage.cc (IniDBBuilderPackage::autodep): Define. - * IniDBBuilderPackage.h (IniDBBuilderPackage::autodep): Declare. - -2013-02-17 Christopher Faylor - - * Makefile.am: Add regex.c to list of sources. - (iniparse.hh): Rename if a iniparse.h has been created. - * regex/config.h: New file. - * regex/re_comp.h: New file. - * regex/regcomp.c: New file. - * regex/regex.c: New file. - * regex/regex.h: New file. - * regex/regex_internal.c: New file. - * regex/regex_internal.h: New file. - * regex/regexec.c: New file. - * processlist.cc (Process::isModuleLoadedInProcess): Avoid compiler - warning by changing 'i' to unsigned. - -2013-01-25 Achim Gratz - * README (HOW TO BUILD): Cross compiler package is now named - mingw-gcc-g++, also mention package upx as an optional dependency. - -2013-02-01 Jon TURNEY - - * install.cc ( _custom_MessageBox): Remove custom message box. - (FileInuseDlgProc): Add file-in-use dialog box. - (installOne): Use processlist to list processes using a file, and - offer to kill them with the file-in-use dialog. - * res.rc (IDD_FILE_INUSE) : New dialog. - * resource.h (IDD_FILE_INUSE, IDC_FILE_INUSE_EDIT) - (IDC_FILE_INUSE_MSG, IDC_FILE_INUSE_HELP): Define corresponding - resource ID numbers. - * processlist.h: New file. - * processlist.cc: New file. - * Makefile.am (setup_LDADD): Add -lpsapi. - (setup_SOURCES): Add new files. - -2013-02-01 Jon TURNEY - - * script.cc (::run, Script::run): Move the formatting of the command - line used for postinstall script running out to Script::run. Move the - logging of the command and it's output into ::run. - * script.h: Add ::run() prototype. - -2013-01-17 Jon TURNEY - - * configure.in: Require automake 1.12. - * Makefile.am (BUILT_SOURCES): Update iniparse.h to iniparse.hh. - * iniparse.yy: Ditto. - * inilex.ll: Ditto. - -2013-01-16 Jon TURNEY - - * threebar.cc (ThreeBarProgressPage::SetBar2): Change from long int to - long long int to handle more than 2GB of data. - * threebar.h (ThreeBarProgressPage::SetBar2): Update prototype. - * install.cc: Change md5sum and install counters to long long int. - * geturl.cc: Change download counter to long long int. - * geturl.h: Ditto. - -2012-11-08 Yaakov Selkowitz - - * Makefile.am (EXTRA_DIST): Remove libmd5-rfc files. - (setup_SOURCES): Ditto. - * download.cc: Remove unused include. - * csu_util/MD5Sum.cc: Port from libmd5-rfc to libgcrypt. - * csu_util/MD5Sum.h: Ditto. - * libmd5-rfc/*: Remove. - -2012-10-19 Yaakov Selkowitz - - * bootstrap.sh: Add support for i686-w64-mingw32 toolchain. - Remove support for gcc-3 -mno-cygwin. - -2012-09-12 Christopher Faylor - - * README: Modernize. - * bootstrap.sh: Remove outdated options from configure. Use mingw - compiler. - * configure.in: Remove AM_MAINTAINER_MODE. - -2012-09-04 Yaakov Selkowitz - - Fix build with mingw-w64 headers. - * autoload.c: Define DECLSPEC_IMPORT for mingw-w64 headers. - * filemanip.h: Include to fix missing mode_t typedef - error with mingw-w64 headers. - * gpg-packet.cc: Include "win32.h" to avoid macro redefinition - errors with mingw-w64 headers. - (ARRAYSIZE): Do not redefine. - * main.cc (_argv): Declare if using mingw-w64 headers. - (WinMain): Move up _argv definition to before it is first used. - * ntdll.h: Include PSDK headers with mingw-w64 instead of DDK. - * package_message.h: Include "win32.h" instead of . - * propsheet.cc (PROPSHEETHEADER_V1_SIZE): Do not redefine. - * win32.h: Include to fix missing mode_t typedef - error with mingw-w64 headers. - Define DECLSPEC_IMPORT for mingw-w64 headers. - -2012-08-30 Yaakov Selkowitz - - First step towards X86-64 compatibility. - * archive_tar.cc (archive_tar::next_file_name): Fix sscanf formats - for 64-bit size_t. - * choose.cc (ChooserPage::OnMouseWheel): Fix return type. - * choose.h (ChooserPage::OnMouseWheel): Ditto. - * filemanip.cc (nt_wfopen): Fix argument cast for _open_osfhandle. - * netio.cc (auth_proc): Fix return type. - * proppage.cc (PropertyPage::FirstDialogProcReflector): Fix return type. - Use SetWindowLongPtr and DWLP_* instead of SetWindowLong and DWL_*. - (PropertyPage::DialogProcReflector): Ditto. - (PropertyPage::DialogProc): Ditto. - (PropertyPage::OnMouseWheel): Ditto. - * proppage.h (PropertyPage::FirstDialogProcReflector): Fix return type. - (PropertyPage::DialogProcReflector): Ditto. - (PropertyPage::DialogProc): Ditto. - (PropertyPage::OnMouseWheel): Ditto. - * site.cc (drop_proc): Fix return type. - * window.cc (Window::FirstWindowProcReflector): Use GWLP_* with - SetWindowLongPtr calls. - (Window::WindowProcReflector): Ditto. - -2012-08-30 Jacek Caban - Yaakov Selkowitz - - * main.cc: Remove CINTERFACE define. - (main_display): Use C++ syntax for COM. - * mklink2.cc: Remove CINTERFACE define. - (make_link_2): Use C++ syntax for COM. - -2012-08-21 Christopher Faylor - - * setup.exe.manifest: Reorder "supportedOS" entries and add entry for - Windows 8. - -2012-06-03 Christopher Faylor - - * main.cc: Remove __CYGWIN__ ifdefs. - (main): Ditto. - -2012-06-01 Yaakov Selkowitz - - * Makefile.am (setup_version.c): Respect silent rules. - (.rc.o): Ditto. - * configure.in: Enable silent rules with automake-1.11. - -2012-04-29 Christopher Faylor - - * window.cc: Remove trailing whitespace. - -2012-04-28 Christopher Faylor - - * io_stream_file.cc (io_stream_file::exists): Properly treat return - from GetFileAttributesW as a bit field so that a directory will not be - seen as "existing". - -2012-04-26 Corinna Vinschen - - * script.cc (run): Add quotes around file to allow spaces in path. - (Script::run): Add aforementioned quotes to log output as well. - -2012-03-08 Corinna Vinschen - - * win32.h (FACTOR): Define, use correct value. - (NSPERSEC): Ditto. - * archive_tar.cc: Drop FACTOR and NSPERSEC definitions here. - * io_stream_cygfile.cc: Ditto. - * io_stream_file.cc: Ditto. - -2012-02-29 Corinna Vinschen - - * win32.cc (NTSecurity::GetPosixPerms): Don't allow write permissions - in inheritable default permission ACEs for group and other if the - directory is an S_ISVTX dir. - -2012-02-24 Christopher Faylor - - * bootstrap.sh: Don't assume that libgetopt++ exists in source directory. - * configure.in: Remove some old options. - * Makefile.am: Ditto. - * libgetopt++/Makefile.am: Ditto. - * libgetopt++/configure.in: Ditto. - -2012-02-24 Corinna Vinschen - - * main.cc (WinMain): Move call to nt_sec.setDefaultSecurity here so - it's called earlier in the process. This avoids spurious error - messages in --help output. - -2012-02-23 Jon TURNEY - - * main.cc (main_display): Move --help output from here ... - (WinMain): ... to here, so we don't logging of the current directory - and any errors from constructing a UserSettings object preceding the - --help output. - -2011-05-30 SZAVAI Gyula - - * site.cc (SiteSetting::SiteSetting): Handle multiple - --site options. - * crypto.cc (verify_ini_file_sig): Handle multiple - --pubkey and --sexpr-pubkey options. - * package_meta.cc (packagemeta::isManuallyWanted): Handle - multiple --packages and --categories options. - -2012-02-22 Christopher Faylor - - * res.rc: Change copyright notice to -2012. - -2012-02-19 Corinna Vinschen - - * PickView.cc (PickView::list_click): Mark variable refresh as unused - to avoid compiler warning. - * nio-ftp.cc (NetIO_FTP::ok): Remove variable code to avoid compiler - warning. - * proppage.cc (PropertyPage::DialogProc): Ditto for retval. - - * setup.exe.manifest: Add supportedOS entries to avoid annoying - "This program might not have installed correctly" PCA message on - Windows 7. - -2011-12-22 Christopher Faylor - - * compress.cc: Explicitly include needed header. - * compress_bz.cc: Ditto. - * mkdir.h: Ditto. - * io_stream_cygfile.cc: Eliminate obsolete attempt to build as - non-mingw. - * io_stream_file.cc: Ditto throughout. - * mkdir.cc: Ditto. - -2011-12-21 Jon TURNEY - - * choose.cc (OnInit): Properly mark packages which were selected on - command line in unattended mode for download and installation. - -2011-09-08 Christopher Faylor - - * io_stream.h: Just call sys/types.h here rather than using our own - version of ssize_t. - -2011-09-01 Corinna Vinschen - - * CONTRIBUTORS: Add Warren Young. - -2011-08-16 Corinna Vinschen - Warren Young - - * cygwin-setup.ico: Slightly modified. - * cygwin-terminal.ico: Ditto. - -2011-08-15 Corinna Vinschen - Warren Young - - * cygwin.ico: New, smoother 152x152 icon. - -2011-08-13 Jon TURNEY - - * choose.cc (OnInit, createListview): Build the initial list of packages - to install in OnInit() not in CreateListView(). If packages were - selected on command line in unattended mode, just install those - packages. - * package_db.h (packagedb): Add addCommandLinePackages() method. - * package_db.cc (addCommandLinePackages): Add separate method to add - these so we can indicate if packages were added on the command line. - -2011-08-13 Jon TURNEY - - * PickView.cc (defaultTrust): Move implementation which deals with - package db from here... - * package_db.cc (defaultTrust): ... to here. - * package_db.h (packagedb): ... a new member function. - -2011-08-12 Corinna Vinschen - - * res.rc: Move spash icon slightly. Fix copyright. - -2011-08-12 Corinna Vinschen - Warren Young - - * cygwin-setup.ico: New file. - * cygwin-terminal.ico: New file. - * cygwin.ico: New icons. - * desktop.cc (make_link): Take additional argument to take arguments - for shortcut. Append arg to argbuf. - (start_menu): Take additional argument to take argments for shortcut. - Add to call to make_link. - (desktop_icon): Ditto. - (save_icon): Take path and name of resource as arguments. Replace - Cygwin icon if it's the old one. - (do_desktop_setup): Save Cygwin standalone and Cygwin terminal icons. - Rename desktop and start menu shortcut name to "Cygwin Terminal", use - the cygwin terminal icon for them, and point them to mintty. - * res.rc: Change splash icon to keep size of original icon. - (IDI_CYGWIN_SETUP): New entry. - (IDI_CYGWIN_TERMINAL): New entry. - (CYGWIN-SETUP.ICON): New entry. - (CYGWIN-TERMINAL.ICON): New entry. - * resource.h (IDI_CYGWIN_SETUP): Define. - (IDI_CYGWIN_TERMINAL): Define. - -2011-07-25 Jon TURNEY - - * install.cc (do_install_thread): Only set progress bar output if at least - one package gets installed, to avoid a cosmetic issue. - -2011-07-25 Corinna Vinschen - - * desktop.cc (make_link): Create shortcuts to command.com only on 9x. - -2011-07-20 Andy Koppe - - * res.rc: Remove Prev button from chooser page. - * resource.h: Reflect removal of Prev button. - * package_meta.h (trustp): Ditto. - * choose.cc: Ditto. - -2011-04-24 Jon TURNEY - - * download.cc (do_download_thread): Update progress display - when download phase starts - -2011-04-24 Jon TURNEY - - * install.cc (do_install_thread): Report overall progress while - md5summing packages. - -2011-04-08 Jon TURNEY - - * archive_tar_file.cc (read): Handle short reads - -2011-04-08 Jon TURNEY - - * compress_bz.h (compress): Remove unused bufN member. - * compress_bz.cc (read): Handle bzip2 files containing multiple - streams - -2011-04-08 Jon TURNEY - - * install.cc (extract_replace_on_reboot): New function containg code - extracted from... - (installOne): Report read errors differently to write errors - * archive.cc (extract_file): Distinguish read errors from write errors - -2011-04-08 Jon TURNEY - - * io_stream.cc (copy): Propagate errors. - -2011-04-08 Jon TURNEY - - * compress_bz.cc (read, peek): Consistently return -1 and set lasterr - on an error. - * compress_gz.cc (read, write, peek): Ditto. - -2011-04-08 Jon TURNEY - - * archive_tar_file.cc (read, write, peek, seek): Consistently return -1 - and set lasterr on an error. - -2011-01-02 Jon TURNEY - - * crypto.c (ExtraKeyOption): Correct option description. - -2010-12-16 Jon TURNEY - - * prereq.cc (OnNext, whatNext, OnUnattended): Fix PrereqPage::OnUnattended() - so PrereqPage behaves correctly in unattended modes. - * prereq.h (PrereqPage): Ditto - * proppage.cc (DialogProc): Update comment to clarify meaning of - OnUnattended() returning 0. - -2010-11-26 Jon TURNEY - - * site.cc (init): Canonicalize mirror URLs to ensure the end - with a '/'. - -2010-11-19 Jon TURNEY - - * IniDBBuilderPackage.cc (IniDBBuilderPackage): Remove db.packages vector - sorting. - (buildPackage, buildPackageSource): Change package collection from vector - to map. - * PickView.cc (setViewMode, init_headers, defaultTrust): Ditto. - * choose.cc (createListview, logResults, keepClicked) - (changeTrust): Ditto - * install.cc (do_install_thread): Ditto - * download.cc (do_download_thread): Ditto - * prereq.cc (isMet): Ditto - * package_meta.cc (ScanDownloadedFiles): Ditto - * package_db.h (packagedb): Ditto - * package_db.cc (packagedb, flush, markUnVisited, setExistence) - (fillMissingCategory): Ditto - (findBinary, findSource): Rewrite to locate packages in map rather than - searching the whole vector, for performance. - (ConnectedLoopFinder, doIt, visit): Rewrite to refer to package using a - packagemeta *, as an index into the vector of packages can no longer be - used. - -2010-11-25 Corinna Vinschen - - * package_db.cc (ConnectedLoopFinder::doIt): Drop hardcoded base-cygwin - dependency setting. Fix comment. - -2010-11-23 Corinna Vinschen - - * package_db.cc (ConnectedLoopFinder::doIt): Drop hardcoded base-passwd - dependency setting. Fix condition for base-cygwin string check. - -2010-11-06 Jon TURNEY - - * package_meta.h (packagemeta): Remove unused member variables for - storing timestamp of the setup.ini that package version came from. - * package_meta.cc (packagemeta): Ditto. - -2010-11-06 Jon TURNEY - - * package_version.h (packageversion): Add compareVersion() utility - function. - * package_version.cc (Vendor_version, Package_version) - (compareVersions): Implement the Vendor_version() and Package_version() - accessor functions. Add compareVersions() utility function. - * cygpackage.cc (setCanonicalVersion): Fix to extract vendor version - correctly. - * IniDBBuilderPackage.cc (add_correct_version): When multiple setup.ini's - offer different packages for the same stability level, use the package with - the highest version number rather than the package coming from the setup.ini - with the latest timestamp. - -2010-11-19 Jon TURNEY - - * choose.cc (OnNext): Remove PrereqChecker call, instead use new - WM_APP_PREREQ_CHECK state of Progress dialog. - * threebar.h (WM_APP_PREREQ_CHECK) - (WM_APP_PREREQ_CHECK_THREAD_COMPLETE): Add new messages. - * threebar.cc (OnActivate, OnMessageApp): Use single bar mode for - WM_APP_PREREQ_CHECK state. Handle new messages. - * dialog.h (do_prereq_check_thread): Add prototype. - * prereq.cc (isMet, do_prereq_check_thread) - (do_prereq_check_reflector, do_prereq_check): Add progress reporting - during isMet, and thread containing moved PrereqChecker code. - -2010-11-17 Jon TURNEY - - * package_meta.cc (set_action): Always set the binary tick box - when selecting a specific version (if binary is available) - -2010-11-17 Jon TURNEY - - * postinstall.cc (do_postinstall_thread): Refer to "Unknown package" - rather than "No package" - -2010-11-19 Christopher Faylor - - Throughout, change all occurrences of "PostMessage" to PostMessageNow. - This works around problem where w32api uses a #define which calls the - Windows API version of PostMessage directly, confusing g++ 3.4.4. - -2010-11-07 Jon TURNEY - - * propsheet.cc (PropSheetProc): Set the big icon for the propsheet - window - -2010-11-07 Jon TURNEY - - * ini.cc (GuiParseFeedback::progress, GuiParseFeedback::iniName): - Update all the text in the progress dialog whilst parsing .ini file, - not just the top line. - -2010-11-07 Jon TURNEY - - * choose.cc (OnBack): Move PlaceDialog(false) so window is resized in - 'Install from Local Directory' mode as well. - -2010-11-06 Jon TURNEY - - * res.rc (IDD_NET): Make text referring to IE5 more general - -2010-11-04 Jon TURNEY - - * compress_bz.h (compress): Add endReached flag. - * compress_bz.cc (read, compress_bz): Use endReached flag to return 0 - for a read when EOF has been reached, after BZ2_bzDecompress returns - BZ_STREAM_END, rather than continue to try to call BZ2_bzDecompress - beyond the end of the compressed data, generating a BZ_SEQUENCE_ERROR. - * ini.cc (do_remote_ini): Now that bz2_stream doesn't always have a - spurious error, detect and report if an error occurred decompressing. - -2010-09-13 Václav Haisman - - * propsheet.cc (PropSheet::SetActivePage): Remove :: from call to - PropSheet_SetCurSel. - (PropSheet::SetActivePageByID): Remove :: from call to - PropSheet_SetCurSelByID. - (PropSheet::SetButtons): Remove :: from call to PropSheet_SetWizButtons. - (PropSheet::PressButton): Remove :: from call to PropSheet_PressButton. - -2010-09-07 Yaakov Selkowitz - - * postinstall.cc: Add #include to fix build with gcc-4.x. - -2010-08-29 Jon TURNEY - - * postinstall.cc (do_postinstall_thread): Don't run postinstall - scripts belonging to a just installed package twice. - * script.h (Script): Add operator == - -2010-08-25 Andy Koppe - - * script.cc (init_run_script): Set CYGWINFORALL="-A" for - postinstall/preremove scripts when installing for all users. - -2010-08-19 Andy Koppe - - * package_meta.h (packagemeta::trustp): Update non-experimental - packages too when Exp is selected. - -2010-08-18 Andy Koppe - - * res.rc (IDD_PREREQ): Say "Resolving Dependencies" instead of - "Unmet Dependencies found" - * prereq.cc (PrereqPage::OnNext): Tone down message box about - missing dependencies. - -2010-08-15 Andy Koppe - - * postinstall.cc (PostInstallResultsPage::OnNext): - Remove postinstall script error message box. - * res.rc (IDS_POSTINSTALL): Try to make postinstall errors - less scary. - -2010-08-11 Yaakov Selkowitz - - * bootstrap.sh: Allow running from a builddir. Run configure - unless NOCONFIGURE is defined. - * doconfigure: Remove. - * Makefile.am (EXTRA_DIST): Remove doconfigure. - * README: Document that bootstrap.sh runs configure. - Remove reference to doconfigure. - -2010-08-10 Yaakov Selkowitz - - * configure.in: Check for prerequisites' headers. - * Makefile.am: Remove libinilex.a library, instead... - (inilint_SOURCES): Add inilex.ll. (setup_SOURCES): Ditto. - * inilex.ll: Use option nounput to avoid "defined but not used" - warning from yyunput(). - -2010-08-10 Yaakov Selkowitz - - Fix compatibility with GCC 4.x. - * Makefile.am (setup_LDFLAGS): Pass -static to compiler instead of - linker so that libgcc is statically linked as well. - (autoload.o): Disable optimization. - * localdir.cc (browse_cb): Fix "jump to case label crosses - initialization" error. - * mklink2.cc (sfli): Fix "non-local variable uses anonymous type" - warning. - * ntdll.h: Fix "redeclared without dllimport attribute: previous - dllimport ignored" warnings. - * package_message.h (display): Fix "'exit' was not declared in this - scope" error. - -2010-08-10 Yaakov Selkowitz - - * Makefile.am: Treat libgetopt++ as full-fledged SUBDIRS. - (setup_LDADD): Always link against included libgetopt++. - -2010-08-08 Corinna Vinschen - - * prereq.cc (PrereqChecker::getUnmetString): Improve dependency list - output. - -2010-08-07 Andy Koppe - - * prereq.cc (PrereqChecker::isMet): Find unmet indirect - dependencies too. - -2010-08-06 Andy Koppe - - * res.rc (IDS_VIEWBUTTON_TOOLTIP): Rename "Partial" view - to "Pending" (again). - -2010-08-05 Andy Koppe - - * res.rc (IDD_PREREQ DIALOG): Tweak wording on dependency page. - -2010-07-31 Dave Korn - - * install.cc (Installer::installOne): Also record zero-sized - tarballs as successfully installed. - -2010-07-30 Jon TURNEY - - * postinstall.cc (do_postinstall_reflector): Fix typo. - -2010-07-30 Christopher Faylor - - * inilex.ll: Allow "~" in a string. - -2010-07-29 Jon TURNEY - - * resource.h (IDD_POSTINSTALL, IDC_POSTINSTALL_EDIT): Add resource - identifiers for postinstall results page. - * res.rc (IDD_POSTINSTALL): Add dialog resource for postinstall results - page. - * postinstallresults.h: New file. - * postinstallresults.cc: New file. - * main.cc (main_display): Add a PostInstallResultsPage to the wizard. - * Makefile.am (setup_SOURCES): Add new files. - * threebar.cc (OnMessageApp): Allow WM_APP_POSTINSTALL_THREAD_COMPLETE - to select the next page shown. - * postinstall.cc (do_postinstall_thread) - (do_postinstall_reflector): Collect results of running scripts and - compose a reporting message which we pass to the postinstall results - page. Select postinstall results page next if there are results to - show, otherwise desktop setup page as before. - * script.cc (run): Don't rename as .done scripts which didn't run - successfully. - -2010-07-26 Andy Koppe - - * PickView.cc (PickView::views::caption): Rename "Partial" view - to "Pending". - * res.rc (IDS_VIEWBUTTON_TOOLTIP): Ditto. - -2010-07-22 Andy Koppe - - * PickPackageLine.cc (PickPackageLine::{click,set_action}): - Don't trigger automatic package selection when clicking on - packages or categories on chooser screen. - * PickCategoryLine.cc (PickCategoryLine::click): No more need to - prepare for automatic package selection with markUnVisited(). - * res.rc: Drop "Warning!" from caption of Resolve Dependencies - screen. - -2010-04-17 Dave Korn - - * root.cc (RootPage::OnNext): Don't construct a packagedb here nor - do deferred initialisation of static packagedb::task. - * source.cc (save_dialog): Don't construct a packagedb here, and - set static packagedb::task directly instead of chosen_db_task. - * package_meta.cc (packagemeta::action_caption): Don't bother to - construct a packagedb here, just access packagedb::task directly. - * package_db.cc: Move 'static members' comment near static members. - (chosen_db_task): Delete. - * package_db.h (chosen_db_task): Don't declare extern. - (packagedb): Extend comments on class. - -2010-04-14 Dave Korn - - * PickView.cc (PickView::WindowProc): Delete inadvertently-committed - debug logging. - -2010-04-13 Dave Korn - - * PickView.h (PickView::set_vscroll_info): Add prototype. - (PickView::hasClientRect): Rename from this ... - (PickView::hasWindowRect): ... to this ... - (PickView::lastClientRect): ... and from this ... - (PickView::lastWindowRect): ... to this. - * PickView.cc (PickView::PickView): Adjust member init to match. - (PickView::set_vscroll_info): Abstract code to set vertical scroll - bar proportions from ... - (PickView::list_click): ... here. Call it. Fix comment typo. - (PickView::WindowProc): Update all renamed variables in WM_SIZE - case, and check also for a y delta, calling set_vscroll_info if so. - -2010-04-13 Dave Korn - - * window.cc (Window::Window): Initialise BusyCount and BusyCursor. - (Window::SetBusy): Set hourglass cursor, counting nested activations. - (Window::ClearBusy): Cancel one call to SetBusy and restore original - cursor if no longer busy. - * window.h (Window::BusyCount): New data member. - (Window::OldCursor): Likewise. - (Window::BusyCursor): Likewise. - (Window::SetBusy): Prototype. - (Window::ClearBusy): Likewise. - * choose.cc (ChooserPage::createListview): Invoke busy cursor - around long-running operation. - (ChooserPage::OnInit): Likewise. - (ChooserPage::changeTrust): Likewise. - * PickCategoryLine.cc (PickCategoryLine::set_action): Likewise. - -2010-04-08 Christopher Faylor - - * bootstrap.sh: Always reconfigure in libgetopt++. - - * Makefile.am: Remove old code for direct copying to sourceware. Add - -src to source tarball. - -2010-04-07 Matthias Andree - - * README (HOW TO BUILD): Mention mingw-lib{gcrypt,lzma}-devel. - - * res.rc (IDD_DESKTOP): Move Installation Status line, - IDC_STATUS_HEADER and IDC_STATUS up 20 units, make IDC_STATUS text - 20 units taller and 40 units wider so that IDS_REBOOT_REQUIRED - message fits the screen. - * res.rc (IDD_SPLASH): Bump copyright years in IDC_SLASH_COPYR to - "2000-2010". - -2010-04-07 Corinna Vinschen - - * install.cc (create_allow_protected_renames): New function to - create AllowProtectedRenames registry entry. - (Installer::installOne): Call create_allow_protected_renames if former - call to MoveFileEx was successful. - -2010-03-18 Charles Wilson - - Use external crypto libraries - * Makefile.am: Remove local libgcrypt and libgpg-error - source directories from AM_CPPFLAGS. - * configure.ac: Remove libgcrypt and libgpg-error subdirs - from AC_CONFIG_SUBDIRS. Remove now-unnecessary cruft. - * doconfigure: Specify gcc-3 and g++-3. Set PATH when $build - is cygwin, so that correct (mingw) libgcrypt and libgpg-error - config scripts can be used. - - Remove libgpg-error. - * libgpg-error/tests/Makefile.am, libgpg-error/tests/Makefile.in, - libgpg-error/tests/t-strerror.c, libgpg-error/tests/t-syserror.c, - libgpg-error/po/ChangeLog, libgpg-error/po/LINGUAS, - libgpg-error/po/Makefile.in.in, libgpg-error/po/Makevars, - libgpg-error/po/POTFILES.in, libgpg-error/po/Rules-quot, - libgpg-error/po/boldquot.sed, libgpg-error/po/de.gmo, - libgpg-error/po/de.po, libgpg-error/po/en@boldquot.header, - libgpg-error/po/en@quot.header, libgpg-error/po/fr.gmo, - libgpg-error/po/fr.po libgpg-error/po/insert-header.sin, - libgpg-error/po/libgpg-error.pot, libgpg-error/po/pl.gmo, - libgpg-error/po/pl.po, libgpg-error/po/quot.sed, - libgpg-error/po/remove-potcdate.sin, libgpg-error/po/ro.gmo, - libgpg-error/po/ro.po libgpg-error/po/stamp-po, - libgpg-error/po/sv.po, libgpg-error/po/vi.gmo, - libgpg-error/po/vi.po, libgpg-error/po/sv.gmo, - libgpg-error/m4/ChangeLog, libgpg-error/m4/Makefile.am, - libgpg-error/m4/ac_prog_cc_for_build.m4, libgpg-error/m4/autobuild.m4, - libgpg-error/m4/codeset.m4, libgpg-error/m4/gettext.m4, - libgpg-error/m4/glibc2.m4, libgpg-error/m4/glibc21.m4, - libgpg-error/m4/iconv.m4, libgpg-error/m4/intdiv0.m4, - libgpg-error/m4/intmax.m4, libgpg-error/m4/inttypes-h.m4, - libgpg-error/m4/inttypes-pri.m4, libgpg-error/m4/inttypes.m4, - libgpg-error/m4/inttypes_h.m4, libgpg-error/m4/isc-posix.m4, - libgpg-error/m4/lcmessage.m4, libgpg-error/m4/lib-ld.m4, - libgpg-error/m4/lib-link.m4, libgpg-error/m4/lib-prefix.m4, - libgpg-error/m4/libtool.m4, libgpg-error/m4/lock.m4, - libgpg-error/m4/longdouble.m4, libgpg-error/m4/longlong.m4, - libgpg-error/m4/nls.m4, libgpg-error/m4/po.m4, - libgpg-error/m4/printf-posix.m4, libgpg-error/m4/progtest.m4, - libgpg-error/m4/signed.m4, libgpg-error/m4/size_max.m4, - libgpg-error/m4/stdint_h.m4, libgpg-error/m4/uintmax_t.m4, - libgpg-error/m4/ulonglong.m4, libgpg-error/m4/visibility.m4, - libgpg-error/m4/wchar_t.m4, libgpg-error/m4/wint_t.m4, - libgpg-error/m4/xsize.m4, libgpg-error/m4/Makefile.in, - libgpg-error/lang/Makefile.am, libgpg-error/lang/README, - libgpg-error/lang/Makefile.in, libgpg-error/lang/cl/Makefile.am, - libgpg-error/lang/cl/README, libgpg-error/lang/cl/gpg-error-package.lisp, - libgpg-error/lang/cl/gpg-error.asd, libgpg-error/lang/cl/gpg-error.asd.in, - libgpg-error/lang/cl/gpg-error.lisp, libgpg-error/lang/cl/mkerrcodes.awk, - libgpg-error/lang/cl/Makefile.in, libgpg-error/src/Makefile.am, - libgpg-error/src/README, libgpg-error/src/code-from-errno.c, - libgpg-error/src/code-to-errno.c, libgpg-error/src/err-codes.h, - libgpg-error/src/err-codes.h.in, libgpg-error/src/err-sources.h, - libgpg-error/src/err-sources.h.in, libgpg-error/src/errnos.in, - libgpg-error/src/gettext.h, libgpg-error/src/gpg-error-config.in, - libgpg-error/src/gpg-error.c, libgpg-error/src/gpg-error.def, - libgpg-error/src/gpg-error.h, libgpg-error/src/gpg-error.h.in, - libgpg-error/src/gpg-error.m4, libgpg-error/src/init.c, - libgpg-error/src/mkerrcodes.awk, libgpg-error/src/mkerrcodes.c, - libgpg-error/src/mkerrcodes1.awk, libgpg-error/src/mkerrcodes2.awk, - libgpg-error/src/mkerrnos.awk, libgpg-error/src/mkheader.awk, - libgpg-error/src/mkstrtable.awk, libgpg-error/src/strerror-sym.c, - libgpg-error/src/strerror.c, libgpg-error/src/strsource-sym.c, - libgpg-error/src/strsource.c, libgpg-error/src/versioninfo.rc.in, - libgpg-error/src/w32-gettext.c, libgpg-error/src/w32-gettext.h, - libgpg-error/src/Makefile.in, libgpg-error/ABOUT-NLS, - libgpg-error/AUTHORS, libgpg-error/COPYING, libgpg-error/COPYING.LIB, - libgpg-error/ChangeLog, libgpg-error/INSTALL, libgpg-error/Makefile.am, - libgpg-error/NEWS, libgpg-error/README, libgpg-error/THANKS, - libgpg-error/VERSION, libgpg-error/autogen.sh, libgpg-error/compile, - libgpg-error/config.guess, libgpg-error/config.rpath, - libgpg-error/config.sub, libgpg-error/configure.ac, libgpg-error/depcomp, - libgpg-error/install-sh, libgpg-error/libgpg-error.spec, - libgpg-error/libgpg-error.spec.in, libgpg-error/ltmain.sh, - libgpg-error/missing, libgpg-error/mkinstalldirs, - libgpg-error/aclocal.m4, libgpg-error/configure, - libgpg-error/config.h.in, libgpg-error/Makefile.in: Remove. - - Remove libgcrypt. - * libgcrypt/tests/ChangeLog, libgcrypt/tests/Makefile.am, - libgcrypt/tests/ac-data.c, libgcrypt/tests/ac-schemes.c, - libgcrypt/tests/ac.c, libgcrypt/tests/basic.c, - libgcrypt/tests/benchmark.c, libgcrypt/tests/hmac.c, - libgcrypt/tests/keygen.c, libgcrypt/tests/keygrip.c, - libgcrypt/tests/mpitests.c, libgcrypt/tests/pkbench.c, - libgcrypt/tests/prime.c, libgcrypt/tests/pubkey.c, - libgcrypt/tests/random.c, libgcrypt/tests/register.c, - libgcrypt/tests/t-mpi-bit.c, libgcrypt/tests/testapi.c, - libgcrypt/tests/tsexp.c, libgcrypt/tests/version.c, - libgcrypt/tests/Makefile.in, libgcrypt/src/ChangeLog - libgcrypt/src/Makefile.am, libgcrypt/src/Manifest, libgcrypt/src/ath.c, - libgcrypt/src/ath.h, libgcrypt/src/cipher.h, libgcrypt/src/dumpsexp.c, - libgcrypt/src/g10lib.h, libgcrypt/src/gcrypt-module.h, - libgcrypt/src/gcrypt.h, libgcrypt/src/gcrypt.h.in, - libgcrypt/src/gcryptrnd.c, libgcrypt/src/getrandom.c, - libgcrypt/src/global.c, libgcrypt/src/hwfeatures.c, - libgcrypt/src/libgcrypt-config.in, libgcrypt/src/libgcrypt.def, - libgcrypt/src/libgcrypt.m4, libgcrypt/src/libgcrypt.vers, - libgcrypt/src/misc.c, libgcrypt/src/missing-string.c, - libgcrypt/src/module.c, libgcrypt/src/mpi.h, libgcrypt/src/secmem.h, - libgcrypt/src/sexp.c, libgcrypt/src/stdmem.c, libgcrypt/src/stdmem.h, - libgcrypt/src/types.h, libgcrypt/src/versioninfo.rc.in, - libgcrypt/src/visibility.c, libgcrypt/src/visibility.h, - libgcrypt/src/Makefile.in, libgcrypt/src/secmem.c, - libgcrypt/m4/ChangeLog, libgcrypt/m4/Makefile.am, - libgcrypt/m4/libtool.m4, libgcrypt/m4/noexecstack.m4, - libgcrypt/m4/onceonly.m4, libgcrypt/m4/socklen.m4, - libgcrypt/m4/sys_socket_h.m4, libgcrypt/m4/Makefile.in, - libgcrypt/doc/ChangeLog, libgcrypt/doc/HACKING, - libgcrypt/doc/Makefile.am, libgcrypt/doc/README.apichanges, - libgcrypt/doc/gcrypt.texi, libgcrypt/doc/gpl.texi, - libgcrypt/doc/lgpl.texi, libgcrypt/doc/mdate-sh, - libgcrypt/doc/texinfo.tex, libgcrypt/doc/stamp-vti, - libgcrypt/doc/version.texi, libgcrypt/doc/gcrypt.info, - libgcrypt/doc/Makefile.in, libgcrypt/cipher/ChangeLog, - libgcrypt/cipher/Makefile.am, libgcrypt/cipher/Manifest, - libgcrypt/cipher/ac.c, libgcrypt/cipher/arcfour.c, - libgcrypt/cipher/bithelp.h, libgcrypt/cipher/blowfish.c, - libgcrypt/cipher/camellia-glue.c, libgcrypt/cipher/camellia.c, - libgcrypt/cipher/camellia.h, libgcrypt/cipher/cast5.c, - libgcrypt/cipher/cipher.c, libgcrypt/cipher/crc.c, - libgcrypt/cipher/des.c, libgcrypt/cipher/dsa.c, libgcrypt/cipher/ecc.c, - libgcrypt/cipher/elgamal.c, libgcrypt/cipher/md.c, - libgcrypt/cipher/md4.c, libgcrypt/cipher/md5.c, - libgcrypt/cipher/primegen.c, libgcrypt/cipher/pubkey.c, - libgcrypt/cipher/rand-internal.h, libgcrypt/cipher/random-daemon.c, - libgcrypt/cipher/random.c, libgcrypt/cipher/random.h, - libgcrypt/cipher/rfc2268.c, libgcrypt/cipher/rijndael-tables.h, - libgcrypt/cipher/rijndael.c, libgcrypt/cipher/rmd.h, - libgcrypt/cipher/rmd160.c, libgcrypt/cipher/rndegd.c, - libgcrypt/cipher/rndhw.c, libgcrypt/cipher/rndlinux.c, - libgcrypt/cipher/rndunix.c, libgcrypt/cipher/rndw32.c, - libgcrypt/cipher/rsa.c, libgcrypt/cipher/seed.c, - libgcrypt/cipher/serpent.c, libgcrypt/cipher/sha1.c, - libgcrypt/cipher/sha256.c, libgcrypt/cipher/sha512.c, - libgcrypt/cipher/tiger.c, libgcrypt/cipher/twofish.c, - libgcrypt/cipher/whirlpool.c, libgcrypt/cipher/Makefile.in, - libgcrypt/AUTHORS, libgcrypt/BUGS, libgcrypt/COPYING, - libgcrypt/COPYING.LIB, libgcrypt/ChangeLog, libgcrypt/INSTALL, - libgcrypt/Makefile.am, libgcrypt/NEWS, libgcrypt/README, - libgcrypt/README.SVN, libgcrypt/THANKS, libgcrypt/TODO, libgcrypt/VERSION, - libgcrypt/acinclude.m4, libgcrypt/autogen.sh, libgcrypt/compile, - libgcrypt/config.guess, libgcrypt/config.sub, libgcrypt/configure.ac, - libgcrypt/depcomp, libgcrypt/install-sh, libgcrypt/ltmain.sh, - libgcrypt/missing, libgcrypt/mkinstalldirs, , libgcrypt/aclocal.m4, - libgcrypt/configure, libgcrypt/config.h.in, libgcrypt/Makefile.in, - libgcrypt/mpi/ChangeLog, libgcrypt/mpi/Makefile.am, - libgcrypt/mpi/Manifest, libgcrypt/mpi/config.links, libgcrypt/mpi/ec.c, - libgcrypt/mpi/longlong.h, libgcrypt/mpi/mpi-add.c, - libgcrypt/mpi/mpi-bit.c, libgcrypt/mpi/mpi-cmp.c, - libgcrypt/mpi/mpi-div.c, libgcrypt/mpi/mpi-gcd.c, - libgcrypt/mpi/mpi-inline.c, libgcrypt/mpi/mpi-inline.h, - libgcrypt/mpi/mpi-internal.h, libgcrypt/mpi/mpi-inv.c, - libgcrypt/mpi/mpi-mod.c, libgcrypt/mpi/mpi-mpow.c, - libgcrypt/mpi/mpi-mul.c, libgcrypt/mpi/mpi-pow.c, - libgcrypt/mpi/mpi-scan.c, libgcrypt/mpi/mpicoder.c, - libgcrypt/mpi/mpih-div.c, libgcrypt/mpi/mpih-mul.c, - libgcrypt/mpi/mpiutil.c, libgcrypt/mpi/Makefile.in, - libgcrypt/mpi/alpha/README, libgcrypt/mpi/alpha/distfiles, - libgcrypt/mpi/alpha/mpih-add1.S, libgcrypt/mpi/alpha/mpih-lshift.S, - libgcrypt/mpi/alpha/mpih-mul1.S, libgcrypt/mpi/alpha/mpih-mul2.S, - libgcrypt/mpi/alpha/mpih-mul3.S, libgcrypt/mpi/alpha/mpih-rshift.S, - libgcrypt/mpi/alpha/mpih-sub1.S, libgcrypt/mpi/alpha/udiv-qrnnd.S, - libgcrypt/mpi/amd64/distfiles, libgcrypt/mpi/amd64/mpih-add1.S, - libgcrypt/mpi/amd64/mpih-lshift.S, libgcrypt/mpi/amd64/mpih-mul1.S, - libgcrypt/mpi/amd64/mpih-mul2.S, libgcrypt/mpi/amd64/mpih-mul3.S, - libgcrypt/mpi/amd64/mpih-rshift.S, libgcrypt/mpi/amd64/mpih-sub1.S, - libgcrypt/mpi/generic/Manifest, libgcrypt/mpi/generic/distfiles, - libgcrypt/mpi/generic/mpi-asm-defs.h, libgcrypt/mpi/generic/mpih-add1.c, - libgcrypt/mpi/generic/mpih-lshift.c, libgcrypt/mpi/generic/mpih-mul1.c, - libgcrypt/mpi/generic/mpih-mul2.c, libgcrypt/mpi/generic/mpih-mul3.c, - libgcrypt/mpi/generic/mpih-rshift.c, libgcrypt/mpi/generic/mpih-sub1.c, - libgcrypt/mpi/generic/udiv-w-sdiv.c, libgcrypt/mpi/hppa/README, - libgcrypt/mpi/hppa/distfiles, libgcrypt/mpi/hppa/mpih-add1.S, - libgcrypt/mpi/hppa/mpih-lshift.S, libgcrypt/mpi/hppa/mpih-rshift.S, - libgcrypt/mpi/hppa/mpih-sub1.S, libgcrypt/mpi/hppa/udiv-qrnnd.S, - libgcrypt/mpi/hppa1.1/distfiles, libgcrypt/mpi/hppa1.1/mpih-mul1.S, - libgcrypt/mpi/hppa1.1/mpih-mul2.S, libgcrypt/mpi/hppa1.1/mpih-mul3.S, - libgcrypt/mpi/hppa1.1/udiv-qrnnd.S, libgcrypt/mpi/i386/Manifest, - libgcrypt/mpi/i386/distfiles, libgcrypt/mpi/i386/mpih-add1.S, - libgcrypt/mpi/i386/mpih-lshift.S, libgcrypt/mpi/i386/mpih-mul1.S, - libgcrypt/mpi/i386/mpih-mul2.S, libgcrypt/mpi/i386/mpih-mul3.S, - libgcrypt/mpi/i386/mpih-rshift.S, libgcrypt/mpi/i386/mpih-sub1.S, - libgcrypt/mpi/i386/syntax.h, libgcrypt/mpi/i586/Manifest, - libgcrypt/mpi/i586/README, libgcrypt/mpi/i586/distfiles, - libgcrypt/mpi/i586/mpih-add1.S, libgcrypt/mpi/i586/mpih-lshift.S, - libgcrypt/mpi/i586/mpih-mul1.S, libgcrypt/mpi/i586/mpih-mul2.S, - libgcrypt/mpi/i586/mpih-mul3.S, libgcrypt/mpi/i586/mpih-rshift.S, - libgcrypt/mpi/i586/mpih-sub1.S, libgcrypt/mpi/m68k/Manifest, - libgcrypt/mpi/m68k/distfiles, libgcrypt/mpi/m68k/mpih-add1.S, - libgcrypt/mpi/m68k/mpih-lshift.S, libgcrypt/mpi/m68k/mpih-rshift.S, - libgcrypt/mpi/m68k/mpih-sub1.S, libgcrypt/mpi/m68k/syntax.h, - libgcrypt/mpi/mips3/Manifest, libgcrypt/mpi/mips3/README, - libgcrypt/mpi/mips3/distfiles, libgcrypt/mpi/mips3/mpi-asm-defs.h, - libgcrypt/mpi/mips3/mpih-add1.S, libgcrypt/mpi/mips3/mpih-lshift.S, - libgcrypt/mpi/mips3/mpih-mul1.S, libgcrypt/mpi/mips3/mpih-mul2.S, - libgcrypt/mpi/mips3/mpih-mul3.S, libgcrypt/mpi/mips3/mpih-rshift.S, - libgcrypt/mpi/mips3/mpih-sub1.S, libgcrypt/mpi/pa7100/Manifest, - libgcrypt/mpi/pa7100/distfiles, libgcrypt/mpi/pa7100/mpih-lshift.S, - libgcrypt/mpi/pa7100/mpih-rshift.S, libgcrypt/mpi/pentium4/README, - libgcrypt/mpi/pentium4/distfiles, libgcrypt/mpi/power/Manifest, - libgcrypt/mpi/power/distfiles, libgcrypt/mpi/power/mpih-add1.S, - libgcrypt/mpi/power/mpih-lshift.S, libgcrypt/mpi/power/mpih-mul1.S, - libgcrypt/mpi/power/mpih-mul2.S, libgcrypt/mpi/power/mpih-mul3.S, - libgcrypt/mpi/power/mpih-rshift.S, libgcrypt/mpi/power/mpih-sub1.S, - libgcrypt/mpi/powerpc32/Manifest, libgcrypt/mpi/powerpc32/distfiles, - libgcrypt/mpi/powerpc32/mpih-add1.S, - libgcrypt/mpi/powerpc32/mpih-lshift.S, - libgcrypt/mpi/powerpc32/mpih-mul1.S, - libgcrypt/mpi/powerpc32/mpih-mul2.S, - libgcrypt/mpi/powerpc32/mpih-mul3.S, - libgcrypt/mpi/powerpc32/mpih-rshift.S, - libgcrypt/mpi/powerpc32/mpih-sub1.S, libgcrypt/mpi/powerpc32/syntax.h, - libgcrypt/mpi/powerpc64/distfiles, libgcrypt/mpi/sparc32/Manifest, - libgcrypt/mpi/sparc32/distfiles, libgcrypt/mpi/sparc32/mpih-add1.S, - libgcrypt/mpi/sparc32/mpih-lshift.S, - libgcrypt/mpi/sparc32/mpih-rshift.S, libgcrypt/mpi/sparc32/udiv.S, - libgcrypt/mpi/sparc32v8/Manifest, libgcrypt/mpi/sparc32v8/distfiles, - libgcrypt/mpi/sparc32v8/mpih-mul1.S, - libgcrypt/mpi/sparc32v8/mpih-mul2.S, - libgcrypt/mpi/sparc32v8/mpih-mul3.S, libgcrypt/mpi/supersparc/Manifest, - libgcrypt/mpi/supersparc/distfiles, - libgcrypt/mpi/supersparc/udiv.S, libgcrypt/mpi/m68k/mc68020/distfiles - libgcrypt/mpi/m68k/mc68020/Manifest, - libgcrypt/mpi/m68k/mc68020/mpih-mul1.S, - libgcrypt/mpi/m68k/mc68020/mpih-mul2.S, - libgcrypt/mpi/m68k/mc68020/mpih-mul3.S, - libgcrypt/mpi/pentium4/mmx/distfiles, - libgcrypt/mpi/pentium4/mmx/mpih-lshift.S, - libgcrypt/mpi/pentium4/mmx/mpih-rshift.S, - libgcrypt/mpi/pentium4/sse2/distfiles, - libgcrypt/mpi/pentium4/sse2/mpih-add1.S, - libgcrypt/mpi/pentium4/sse2/mpih-mul1.S, - libgcrypt/mpi/pentium4/sse2/mpih-mul2.S, - libgcrypt/mpi/pentium4/sse2/mpih-mul3.S, - libgcrypt/mpi/pentium4/sse2/mpih-sub1.S: Remove. - -2010-03-17 Corinna Vinschen - - * autoload.cc (Auto): Create autoload code in an executable section - called .autoload_text to avoid problems with DEP. - -2010-03-14 Christopher Faylor - - * Makefile.am: Add a setup-src target. - -2010-03-14 Charles Wilson - - Support xz and lzma decompression via liblzma - * Makefile.am: Add -DLZMA_API_STATIC to AM_CPPFLAGS, - -lzma to setup_LDADD, and -static-libtool-libs to - setup_LDFLAGS. Update setup_SOURCES. - * compress.cc: Update includes. - (compress::decompress): Use compress_xz rather than - compress_lzma; compress_xz supports both xz and lzma - decompression. - * compress_xz.h: New. - * compress_xz.cc: New. - * compress_lzma.h: Removed. - * compress_lzma.cc: Removed. - * lzma-sdk/LzmaDec.c: Removed. - * lzma-sdk/LzmaDec.h: Removed. - * lzma-sdk/Types.h: Removed. - -2010-03-13 DJ Delorie - - * nio-ftp.c (read): Read RETR status code on EOF to avoid - deadlock with PASV. - -2010-03-01 Corinna Vinschen - - * filemanip.cc (mklongpath): Skip "." and ".." path components to - avoid error messages. - -2010-02-15 Corinna Vinschen - - * filemanip.cc (mklongpath): Simplify backslash folding. - -2010-02-15 Corinna Vinschen - - * filemanip.cc (transform_chars): Drop function. - (mklongpath): Call mbrtowc in a loop rather than just mbstowcs. - Transform characters on the fly. Fold multiple backslashes into one. - Drop trailing backslash. - -2010-02-15 Dave Korn - - * choose.cc (ChooserPage::PlaceDialog): Only skip resizing window - in fully-unattended mode, not chooser-only mode. - (ChooserPage::OnUnattended): Return appropriate status to run page - or not according to kind of unattended mode. - * choose.h (ChooserPage::OnUnattended): Remove inline implementation - and retain prototype only. - * main.cc (PackageManagerOption): New boolean option. - (main): Take it into account when setting unattended_mode. - * proppage.cc (PropertyPage::DialogProc): Use new enum type when - setting unattended_mode. - * state.cc (unattended_mode): Change from bool to enum attend_mode. - * state.h (enum attend_mode): Declare new enum type. - (unattended_mode): Update extern declaration to use it. - -2010-02-04 Corinna Vinschen - - * win32.cc (NTSecurity::GetPosixPerms): Return NULL security descriptor - if is_legacy is set. - (NTSecurity::SetPosixPerms): Remove. - * win32.h (NTSecurity::GetPosixPerms): Remove declaration. - -2010-02-02 Corinna Vinschen - - * desktop.cc (make_link): Use 0 default permissions when creating files - and directories. - * download.cc (download_one): Ditto. - * ini.cc (do_remote_ini): Ditto. - * localdir.cc (offer_to_create): Ditto. - * filemanip.cc (nt_wfopen): Use Windows default permissions if perms - is set to 0. - * mkdir.cc (mkdir_p): Ditto if mode is set to 0. - -2010-01-29 Christopher Faylor - - * mount.cc (read_mounts_9x): Preserve old way of doing things when - is_legacy. - -2010-01-28 Christopher Faylor - - * desktop.cc (make_link): Preserve old way of doing things when - is_legacy. - (make_cygwin_bat): Ditto. - (save_icon): Ditto. - * mount.cc (read_mounts): Ditto. - (set_root_dir): Ditto. - * root.cc (load_dialog): Ditto. - (save_dialog): Ditto. - * install.cc (Installer::installOne): Don't install anything if there - is no canonical file associated with source. - (do_install_thread): Set up old-style registry entries if is_legacy - rather than just keying on whether this is Windows NT. - * io_stream_file.cc (io_stream_file::exists): Redefine "exists" to mean - "it's a file". - -2010-01-16 Christopher Faylor - - * archive_tar.c (archive_tar_file::read): Always set read_something - even for zero-length files. - -2010-01-16 Christopher Faylor - - * archive_tar.h (archive_tar_file::read_something): New member. - * archive_tar_file.cc (archive_tar_file::archive_tar_file): Don't reset - state unless we've actually read something. - (archive_tar_file::read): Set read_something variable here to indicate - that we've read something from the tar file. - -2010-01-13 Christopher Faylor - - * localdir.cc (LocalDirPage::OnNext): Strip trailing slashes. - -2009-12-27 Christopher Faylor - - * main.cc (dyn_AttachConsole): Make static. - (dyn_GetLongPathName): New variable. - (set_dynaddr): New function. - (set_cout): Don't set dyn_AttachConsole here. - (set_legacy): Don't attempt to call function which does not exist in - older versions of NT. - (main): Call set_dynaddr to set dynamic load addresses. - -2009-12-22 Christopher Faylor - - * ini.h: Use is_legacy to control setup.ini names. - * main.cc (set_legacy): New function. - (main): Call set_legacy with program name to determine if this is - supposed to be an installation of the legacy version of cygwin. Issue - a warning on attempt to install legacy on Windows NT class system. - -2009-12-22 Christopher Faylor - - * package_message (packagemessage::display): Avoid displaying a message - when in unattended mode. - -2009-12-22 Corinna Vinschen - - * win32.h (isdirsep): Define to replace local isslash definitions. - * UserSettings.cc (UserSettings::open_settings): Remove isslash. - Use isdirsep instead of isslash. - * filemanip.cc (mklongpath): Ditto. - * root.cc (directory_is_rootdir): Ditto. - * localdir.cc (LocalDirSetting::save): Avoid consecutive backslashes - in setup log file paths. - * main.cc (main): Ditto. - -2009-12-21 Christopher Faylor - - * choose.cc (ChooserPage::PlaceDialog): Put *correct* size in - WINDOWPLACEMENT length field. - -2009-12-18 Corinna Vinschen - - Throughout, revert prototypes and methods set_mtime_and_mode to - set_mtime and only care for the file timestamp. - - Throughout, accommodate additional mode_t parameter in call to - io_stream::open. - - * IOStreamProvider.h (IOStreamProvider::open): Add mode_t parameter. - * archive.cc (archive::extract_file): Reorder creation of in and tmp - to get the file mode from the tar archive earlier. Call io_stream::open - with additional mode from tar archive. Accommodate reversion to - set_mtime. - * filemanip.cc (nt_wfopen): Remove retry loop. Instead initialize - OBJECT_ATTRIBUTES with matching POSIX perms according to incoming - perms to create correct ACL on file creation. Remove subsequent call - to nt_sec.SetPosixPerms. - * io_stream.cc (io_stream::open): Take additional mode_t parameter - and connect through to IOStreamProvider's open. - * io_stream.h (io_stream::open): Add mode_t parameter. - * io_stream_cygfile.cc (CygFileProvider::open): Ditto. - (io_stream_cygfile::io_stream_cygfile): Ditto. Call nt_wfopen with - incoming mode_t parameter. Make sure .exe and .dll files always - have execute permissions set. - (io_stream_cygfile::set_mtime): Remove retry loop and open file with - just GENERIC_WRITE access. - * io_stream_cygfile.h (io_stream_cygfile::io_stream_cygfile): Add mode_t - parameter. - * io_stream_file.cc (FileProvider::open): Ditto. - (io_stream_file::io_stream_file): Ditto. Call nt_wfopen with incoming - mode_t parameter. - * io_stream_file.h (io_stream_file::io_stream_file): Add mode_t - parameter. - * io_stream_memory.h (class io_stream_memory): Remove mode member. - Just return 0 from get_mode. - * mkdir.cc (mkdir_p): Remove retry loop. Instead initialize - OBJECT_ATTRIBUTES with matching POSIX perms according to incoming - perms to create correct ACL on file creation. Remove subsequent call - to nt_sec.SetPosixPerms. - * mklink2.cc (mkcygsymlink_nt): Remove retry loop. Instead initialize - SECURITY_ATTRIBUTES with matching POSIX perms to create correct ACL on - file creation. - * win32.cc (NTSecurity::GetPosixPerms): New function to generate - POSIX ACL. Default to current owner and current primary group for - owner/group permissions. - (NTSecurity::SetPosixPerms): Let GetPosixPerms create the DACL. - (NTSecurity::setAdminGroup): Set groupSID to admins SID if successful. - (NTSecurity::setDefaultSecurity): Store user SID in ownerSID member. - Default groupSID to original primary group. - * win32.h (struct acl_t): Define here. - (class NTSecurity): Rename ownerSID and groupSID to cr_ownerSID and - cr_groupSID. Change throughout. Add members ownerSID and groupSID. - Declare new method GetPosixPerms. - -2009-12-17 Corinna Vinschen - - * filemanip.cc (nt_wfopen): Only call nt_sec.SetPosixPerms if we have - WRITE_DAC access. - * mkdir.cc (mkdir_p): Ditto. - -2009-12-17 Corinna Vinschen - - * filemanip.cc (nt_wfopen): Fix requested access rights. Retry - without WRITE_DAC access on access denied. Add comment. - * io_stream_cygfile.cc (io_stream_cygfile::set_mtime_and_mode): Ditto. - * mkdir.cc (mkdir_p): Ditto. - * mklink2.cc (mkcygsymlink_nt): Ditto. - -2009-12-17 Corinna Vinschen - - * localdir.cc (LocalDirSetting::save): Call mkdir_p with isadir set - since /var/log is a dir. - -2009-12-16 Corinna Vinschen - - * UserSettings.cc (UserSettings::open_settings): Never add more than - one slash. - * filemanip.cc (tfx_chars): Align to Cygwin's transformation table. - * localdir.cc (LocalDirSetting::save): Call mkdir_p with DOS path. - -2009-12-16 Christopher Faylor - - * package_message.h: New file. - -2009-12-13 Christopher Faylor - - * IniDBBuilder.h (buildMessage): Define for base class. - * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildMessage): Define. - * IniDBBuilderPackage.h (IniDBBuilderPackage::buildMessage): Declare. - * PickPackageLine.cc: Pass pointer to package to "pick" throughout, - where appropriate. - * PickView.cc: Ditto. - * install.cc: Ditto. - * package_meta.cc: Ditto. - * prereq.cc: Ditto. - * package_version.cc: Ditto. - (packageversion::pick): Add pkg pointer as second argument. Display - message where appropriate. - * package_version.h (packageversion::pick): Add pkg pointer as second - argument. - * package_meta.h (packagemeta::mesage): Define. - (packagemeta::set_message): Define. - * inilex.ll: Properly return MESSAGE token. - * iniparse.yy: Handle message: keyword. - -2009-12-08 Dave Korn - - * localdir.cc (offer_to_create): New function. - (browse_cb): Handle selection changed and validate failed - callbacks, and call offer_to_create where appropriate. - (browse): Set new dialog style flags in browser info. - (LocalDirPage::OnNext): Replace call to mkdir_p with offer to - create or error message dialog display, allow proceeding to - chooser even if local dir does not exist in unattend mode or - if user insists, and fix small memory leak. - - * res.rc (IDS_MAYBE_MKDIR, IDS_CANT_MKDIR, IDS_NO_CWD): Define new - string resources. - * resource.h (IDS_MAYBE_MKDIR, IDS_CANT_MKDIR, IDS_NO_CWD): Define - corresponding resource ID numbers. - -2009-12-03 Corinna Vinschen - - * main.cc (WinMain): Disable running on Windows 9x. Show message box - instead and exit. - -2009-12-03 Dave Korn - - (ChooserPage::createListview): When nothing is found in the "All" - category, pass an empty static dummy category object to the PickView - constructor, instead of trying to dereference not-found iterator. - -2009-11-23 Corinna Vinschen - - * io_stream_cygfile.cc (io_stream_cygfile::get_size): Don't try to - close invalid handle. - * io_stream_file.cc (io_stream_file::get_size): Ditto - -2009-11-22 Dave Korn - - * threebar.cc (ThreeBarProgressPage::OnMessageApp): Don't loop forever - retrying ini file download/parse if it errors in unattended mode. - -2009-11-22 Dave Korn - - * package_meta.cc (CategoryOption): New StringOption for '-C'. - (parseNames): New helper subroutine abstracts string parsing from ... - (packagemeta::isManuallyWanted): Use it, and check for category names - from CategoryOption as well as individual package names. - * package_db.cc (packagedb::fillMissingCategory): Don't check for - manually-wanted packages until after initialising all the categories. - -2009-11-04 Dave Korn - - * localdir.cc (LocalDirSetting::LocalDirSetting): Restore -l option. - -2009-11-04 Dave Korn - - * site.cc: Add #include of BoolOption header from libgetopt. - (OnlySiteOption): New BoolOption for command-line -O option. - (get_site_list): Respect BoolOption by not downloading mirror - list, nor using nor updating cached mirrors. - -2009-11-04 Dave Korn - - * download.cc (do_download_thread): Only retry an incomplete download - a limited number of times in unattended mode. - -2009-11-04 Dave Korn - - * main.cc (main_display): Use apartment-, not multi- threading model - when initialiseing COM. - -2009-11-04 Corinna Vinschen - - * localdir.cc (browse): Make title text depend on what we do. - (LocalDirPage::OnNext): If we plan to download, try to create directory - before cd'ing into it. - -2009-11-03 Corinna Vinschen - - * mkdir.cc: Include sys/stat.h unconditionally. - (mkdir_p): Add S_IFDIR flag in call to nt_sec.SetPosixPerms. - * win32.cc: Include sys/stat.h. - (NTSecurity::SetPosixPerms): Add CREATOR OWNER, CREATOR GROUP, and - Everyone inheritance-only entries when setting a directory DACL. - (NTSecurity::initialiseWellKnownSIDs): Create SIDs for CREATOR OWNER and - CREATOR GROUP. - * win32.h (class NTSecurity): Add members ownerSID and groupSID. - -2009-10-03 Andy Koppe - - * main.cc (main): Make sure C runtime uses same codepage as GUI. - -2009-09-20 Christopher Faylor - - * main (set_cout): Really do attach to a console if stdout is "bad". - -2009-09-18 Andy Koppe - - * root.cc (string orig_root_dir): New variable. - (check_if_enable_next): Show warning against installing Cygwin into - disk root only if the root directory has actually been changed. - * res.rc: Make the root dir warning a bit more meaningful, and refrain - from using uppercase. - -2009-09-18 Christopher Faylor - - * choose.cc (ChooserPage::OnBack): Revert to non-maximized when - returning to mirror from package selection. - -2009-09-18 Dave Korn - - * site.cc (get_site_list): Use empty string if user settings - return NULL pointer for cached mirrors list. - (SiteSetting::getSavedSites): Do nothing if user settings return - NULL pointer for last mirror URL. - -2009-08-21 Christopher Faylor - - * site.cc (SiteSetting::registerSavedSite): Fix comment. - -2009-07-03 Christopher Faylor - - * main.cc (set_cout): Don't reset stdout if we already have a stdout. - -2009-07-03 Christopher Faylor - - * choose.cc (ChooserPage::ChooserPage): Use more specific name for - saving window settings. - (ChooserPage::~ChooserPage): Ditto. - -2009-07-01 Dave Korn - - * PickView.h (PickView::total_delta_x): New int member. - (PickView::set_header_column_order): Add prototype. - * PickView.cc (PickView::set_header_column_order): New function, - broken out from ... - (PickView::set_headers): ... here. Call it. - (PickView::init_headers): Apply total_delta_x to last_col width. - (PickView::PickView): Initialise new total_delta_x member to zero. - (PickView::WindowProc): Use set_header_column_order to find and - adjust final column for both sets of headers. - -2009-06-29 Christopher Faylor - - * SourceSetting.cc (SourceSetting::SourceSetting): Restore proper - remembrane of last source setting. - * choose.cc (ChooserPage::ChooserPage): Potentially retrieve dialog - placement info. - (ChooserPage::~ChooserPage): Save geometry settings if the user moved - or resized the page. - (ChooserPage::PlaceDialog): Rename from MaximizeDialog. Accommodate - changed user placement settings. - (ChooserPage::OnActivate): MaximizeDialog -> PlaceDialog. - (ChooserPage::OnNext): Ditto. - * choose.h (ChooserPage::~ChooserPage): Define. - (ChooserPage::cmd_show): Delete. - (ChooserPage::saved_geom): New field. - (ChooserPage::window_placement): Ditto. - (ChooserPage::pre_chooser_placement): Ditto. - (ChooserPage::PlaceDialog): Rename from MaximizeDialog. - -2009-06-28 Christopher Faylor - - * ConnectionSetting.cc (ConnectionSetting::ConnectionSetting): Remove - old code which no longer makes sense when run from a constructor. - * SourceSetting.cc (SourceSetting::SourceSetting): Ditto. - * localdir.cc (LocalDirSetting::LocalDirSetting): Ditto. Fix typo - which caused saved settings to be ignored. - -2009-06-28 Christopher Faylor - - * UserSettings.cc (UserSettings::UserSettings): settings.rc -> setup.rc. - -2009-06-28 Corinna Vinschen - - * desktop.cc (DesktopSetupPage::OnInit): Drop CoInitialize call here. - * main.cc (main_display): Use InitCommonControlsEx rather than - InitCommonControls per MSDN. Call CoInitializeEx and create IShellLink - instance here to workaround a problem on Windows 7. Release IShellLink - instance and call CoUninitialize on exit. - * mklink.cc (sl): Change to global variable. Drop call to - CoCreateInstance here. Check if sl is valid before using it. - -2009-06-27 Christopher Faylor - - Preliminary option handling revamp. - Throughout, change load/save methods to constructors/destructors which - use new UserSettings methods. Do not inherit from UserSetting class. - * KeysSetting.cc (ExtraKeysSetting *ExtraKeysSetting::global): Define. - (ExtraKeysSetting::ExtraKeysSetting): Initialize some class members use - new UserSettings methods. - (ExtraKeysSetting::~ExtraKeysSetting): Use new UserSettings method. - * Makefile.am (setup_SOURCES): Eliminate UserSetting.h and - UserSetting.cc. - * UserSettings.cc: Complete rewrite. Implements new UserSettings - class methods. - * UserSettings.h: Complete rewrite. Defines new UserSettings class - methods. - * crypto.cc (ExtraKeys): Delete. - (add_key_from_sexpr): Use ExtraKeysSetting::instance rather than - ExtraKeys. - (verify_ini_file_sig): Ditto. - * io_stream.h (io_stream): Define virtual << operators. - * localdir.cc (localDir): Delete. - * main.cc: Include headers which declar new dynamically invoked - classes. - (main_display): New function. Controls order of option setting and - property page setup. Add new class invocations to force option setting - initializtion. - (main): Invoke new UserSettings class constructor to populate new - settings class. Call main_display() to do most of the setup work. - Call Settings.save () to save all settings. - * net.cc (theSetting): Delete. - * site.cc (SiteSetting::save): Record whether we've saved the - information already. - (get_site_list): Just use value returned from new UserSettings method - rather than parsing a file. - (SiteSetting::getSavedSites): Ditto. - (write_cache_list): Use UserSettings operator to store mirror cache. - (save_cache_file): Ditto. - * source.cc (theSetting): Delete. - - * win32.h: gcc-4 accommodation. - -2009-06-26 Dave Korn - - * res.rc (SETUP_STANDARD_DIALOG_W, SETUP_STANDARD_DIALOG_H, - SETUP_SMALL_DIALOG_W, SETUP_SMALL_DIALOG_H): Add constant defines - for dialog sizes. - (SETUP_STANDARD_DIALOG_DIMS, SETUP_SMALL_DIALOG_DIMS): Add helper - macros for (W,H) pairs of dimensions. - (SETUP_HEADICON_X): New global constant define. - (IDD_SOURCE, IDD_VIRUS, IDD_LOCAL, IDD_ROOT, IDD_SITE, IDD_NET, - IDD_INSTATUS, IDD_PROXY_AUTH, IDD_NET_AUTH, IDD_DESKTOP, - IDD_FTP_AUTH DIALOG, IDD_DROPPED): Use the above for dialog sizes, - horizontal rules and icon positioning. - (SETUP_KPCE_W): New define for radio-button size. - (SETUP_VIEWCAP_W, SETUP_VIEWCAP_X, SETUP_VIEW_W, SETUP_VIEW_X, - SETUP_EXP_X, SETUP_CURR_X, SETUP_PREV_X, SETUP_KEEP_X): Add defines - for right-aligned controls. - (SETUP_SEARCH_X, SETUP_SEARCH_W, SETUP_SEARCHTEXT_X, - SETUP_SEARCHTEXT_W, SETUP_CLEAR_X, SETUP_CLEAR_W): Likewise defines - for left-aligned controls. - (IDD_CHOOSE): Use all the above, and reformat with whitespace - between args for clarity. - -2009-06-26 Corinna Vinschen - - * Makefile.am (setup_LDADD): Add -lshlwapi. - * PickView.cc: Include shlwapi.h. - (PickView::setViewMode): Compare package name with search string - case-insensitive. - (PickView::insert_category): Ditto. - -2009-06-26 Corinna Vinschen - - * script.cc (init_run_script): Don't set $HOME to /tmp. It breaks - mkpasswd -c. - -2009-06-25 Corinna Vinschen - - * script.cc (init_run_script): Reinstantiate accidentally removed - setting of sh. - -2009-06-22 Christopher Faylor - - * script.cc (init_run_script): Revert to initializing cmd based on OS - type. - -2009-06-22 Corinna Vinschen - - * script.cc (Script::run): Start bash without -c option. - -2009-06-20 Christopher Faylor - - * threebar.cc (ThreeBarProgressPage::ins_dialog): Move variable to more - appropriate class. - (ThreeBarProgressPage::MaximizeDialog): Move function to more - appropriate class. - (ThreeBarProgressPage::OnMessageApp): Remove MaximizeDialog calls. - * threebar.h: Remove maximize handling. - * choose.cc (ChooserPage::ins_dialog): New variable. - (ChooserPage::MaximizeDialog): New function. - (ChooserPage::ChooserPage): Remove unneeded handling of nCmdShow. - (ChooserPage::OnActivate): Maximize chooser page via MaximizeDialog. - (ChooserPage::OnNext): Revert chooser page to normal before returning. - * main.cc (main): Don't pass cmd_show to ChooserPage. - * propsheet.cc (PropSheetProc): Accommodate change in class for - SetHwndDialog. - -2009-06-20 Christopher Faylor - - * script.cc (shells): Delete. - (cmd): Just assign to "cmd.exe" since we're always running on NT now. - (sanitize_PATH ): New function. - (init_run_script): Ensure that we're only called once. Strip - environment of non-pertinent stuff. Call sanitize_PATH to remove - non-standard stuff from the PATH. Set up a few standard environment - variables. - -2009-06-16 Corinna Vinschen - - * mount.cc (create_install_root): Don't load mount table again. - (read_mounts_nt): Don't break loop, rather continue when not being - able to open "Cygwin" registry key. - -2009-06-03 Ralph Hempel - - * source.cc: Add support for both -D and -L on the command line. - -2009-06-03 Corinna Vinschen - - * filemanip.cc (unlink): Rename from DeleteFileW. Take additional - parameter to indicate file type to unlink. Use in flags given to - NtCreateFile. - (DeleteFileW): Just call unlink from here with FILE_NON_DIRECTORY_FILE - flag. - (RemoveDirectoryW): Ditto with FILE_DIRECTORY_FILE flag. - -2009-05-30 Charles Wilson - - * script.cc (Script::run): Really start bash with --norc - --noprofile options. - -2009-05-13 Corinna Vinschen - - * script.cc (Script::run): Start bash with --norc --noprofile options. - -2009-05-13 Corinna Vinschen - - * filemanip.cc (struct _FILE_RENAME_INFORMATION): Remove definition. - * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): Set - default permission for .exe files to 0755. - (io_stream_cygfile::mklink): Try to create real hardlink first. Add - comment. - * mklink2.cc (mkcyghardlink): New function to create real hardlink. - * mklink2.h (mkcyghardlink): Declare. - * mount.cc (from_fstab_line): Set got_usr_bin and got_usr_lib flags - if /usr/bin and /usr/lib mount points exist in /etc/fstab. - (add_usr_mnts): Only create mounts if corresponding got_usr_bin and - got_usr_lib flags are not set. - (read_mounts_nt): Initialize got_usr_bin and got_usr_lib to false. - Always call add_usr_mnts, even if from_fstab succeeded. - * ntdll.h: Include ddk/ntifs.h. - -2009-05-12 Corinna Vinschen - - * filemanip.cc (GetFileAttributesW): Add accidentally omited - OBJ_CASE_INSENSITIVE when creating OBJECT_ATTRIBUTES. - (SetFileAttributesW): Ditto. - (MoveFileW): Ditto. - (DeleteFileW): Ditto. - (RemoveDirectoryW): Ditto. - (nt_wfopen): Ditto. - -2009-05-11 Bryan Thrall - - * localdir.cc (load_dialog): Choose description string based on install - type. - * res.rc (IDD_LOCAL_DIR): Replace static description text with - IDC_LOCAL_DIR_DESC. - * resource.h (IDS_LOCAL_DIR_DOWNLOAD): New string resource id. - (IDS_LOCAL_DIR_INSTALL): Likewise. - (IDC_LOCAL_DIR_DESC): New text control resource id. - -2009-05-11 Christopher Faylor - - * main.cc (set_cout): Simplify code a little. - -2009-05-11 Bryan Thrall - - * choose.cc (ChooserPage::OnMessageCmd): Clear search filter when - clear button clicked. - * res.rc (IDD_CHOOSE_DIALOG): Add IDC_CHOOSE_CLEAR_SEARCH button. - * resource.h (IDC_CHOOSE_CLEAR_SEARCH): New button resource ID. - -2009-05-11 Corinna Vinschen - - * UserSettings.cc (UserSettings::settingFileForLoad): Fix local load - path strings. - (UserSettings::settingFileForSave): Never store in cwd. - * autoload.c (ntdll): Autoload ntdll.dll functions here. - * desktop.cc (make_cygwin_bat): Use GetFileAttributesW rather than - _waccess. Use nt_wfopen instead of _wfopen. - (save_icon): Ditto. - * filemanip.cc (get_file_size): Call io_stream::open with empty mode - string to avoid opening file twice. - (GetFileAttributesW): New function to replace Win32 function with - equivalent function opening files with backup intent. - (SetFileAttributesW): Ditto. - (MoveFileW): Ditto. - (DeleteFileW): Ditto. - (RemoveDirectoryW): Ditto. - (nt_wfopen): New function to replace _wfopen with equivalent function - opening files with backup intent. - * filemanip.h (nt_wfopen): Declare. - * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): Initalize - lasterr to 0. Allow empty mode and don't open file, if so. Call - nt_wfopen rather than _wfopen. - (io_stream_cygfile::exists): Use GetFileAttributesW rather than - _waccess. - (io_stream_cygfile::get_size): Use CreateFileW/GetFileSize to get - file size on NT. - * io_stream_file.cc (io_stream_file::io_stream_file): Initalize lasterr - to 0. Allow empty mode and don't open file, if so. Call nt_wfopen - rather than _wfopen. - (io_stream_file::exists): Use GetFileAttributesW rather than _waccess. - (io_stream_file::remove): Don't try to remove non-existant file. - (io_stream_file::get_size): Use CreateFileW/GetFileSize to get - file size on NT. Add comment to keep track of 2GB border. - * mkdir.cc: Remove function pointers for ntdll functions. - (init_ntfuncs): Remove function. - (mkdir_p): Drop call to init_ntfuncs. Call ntdll functions directly - rather than over local function pointers. - * ntdll.h: New file. - * postinstall.cc (do_postinstall_reflector): Switch to admins group - as primary group after postinstall scripts have been written. - Explain why. - (do_postinstall): Add comment. - * res.rc: Bump copyright date. - * win32.h (class TokenGroupCollection): Remove. - * win32.cc (TokenGroupCollection::populate): Remove. - (TokenGroupCollection::find): Remove. - (NTSecurity::setDefaultSecurity): Drop reading token groups. Just - try to switch to admins group as primary group. - -2009-05-07 Corinna Vinschen - - * package_db.cc (ConnectedLoopFinder::doIt): Revert patch from - 2008-08-29. Add dumb hardcoded algorithm to make sure base-cygwin - and base-passwd are always the first packages in the postinstall - executable order. - -2009-05-06 Corinna Vinschen - - * install.cc (Installer::StandardDirs): Add /home with 1777 perms. - * main.cc (main): Drop setting $CYGWIN to nontsec. - -2009-04-24 Andrew Punch - - * PickView.h: Add #include . - (PickView::SetPackageFilter): Add new function. - (PickView::packageFilterString): Add new string data member. - * PickView.cc (PickView::setViewMode): Use it to filter names. - (PickView::insert_category): Likewise. - (PickView::PickView): Initialise packageFilterString to blank. - * res.rc (IDD_CHOOSE): Add IDC_CHOOSE_SEARCH_EDIT and - IDC_CHOOSE_SEARCH_LABEL controls. - (IDS_SEARCH_TOOLTIP): Add new string resource. - * resource.h (IDS_SEARCH_TOOLTIP): New string resource ID. - (IDC_CHOOSE_SEARCH_EDIT): New edit control ID. - (IDC_CHOOSE_SEARCH_LABEL): Mew static text control ID. - * choose.cc (ChooserControlsInfo[]): Add IDC_CHOOSE_SEARCH_LABEL - and IDC_CHOOSE_SEARCH_EDIT controls to auto-resize list. - (ChooserPage::OnInit): Add tooltip to search edit box. - (ChooserPage::OnMessageCmd): Handle EN_CHANGE event from - IDC_CHOOSE_SEARCH_EDIT. - -2009-04-24 Dave Korn - - * propsheet.cc (PropSheetWndProc): Re-enable hasMinRect. - -2009-04-23 Corinna Vinschen - - * win32.h (NTSecurity::primaryGroupSID): Convert to a structure for - direct usage in GetTokenInformation. - (NTSecurity::osid): Remove. - (NTSecurity::setAdminGroup): Declare. - * win32.cc (NTSecurity::resetPrimaryGroup): Accommodate change to - primaryGroupSID. Add log output. - (NTSecurity::setAdminGroup): New method. - (NTSecurity::setDefaultSecurity): Use local structures for getting - TOKEN_USER and setting TOKEN_OWNER information. Accommodate change to - primaryGroupSID. Slightly enhance log output. - Only set primary group to Administrators group when installing for - all users. Call setAdminGroup to do it. - -2009-04-22 Corinna Vinschen - - * mklink2.cc (mkcygsymlink_nt): Allow 4K chars in symlink. Use strncat - rather than strcat. - * postinstall.cc (do_postinstall): Reset user token to original - primary group. - * win32.cc (NTSecurity::resetPrimaryGroup): New method. - (NTSecurity::setDefaultSecurity): Store original primary group in - new NTSecurity member primaryGroupSID. Set primary group in user token - to Administrators group for admin users. Align comment. - * win32.h (class NTSecurity): Add member primaryGroupSID. - (NTSecurity::resetPrimaryGroup): Declare. - -2009-04-09 Christopher Faylor - - * main.cc (set_cout): Load AttachConsole dynamically to avoid using it - on older Windows which don't support it. - -2009-03-21 Christopher Faylor - - * LogFile.cc (LogFile::endEntry): Output messages to stdout. - * main.cc (set_cout): New function. Sets stdout to console if one - exists. - (main): Redirect stdout to console if unattended_mode or help option is - specified and no stdout is available. - -2009-03-21 Terry Fleming - Christopher Faylor - - * propsheet.cc (PropSheetWndProc): Detect a Window closing event and - issue an "Are you sure" message. - -2008-08-29 Corinna Vinschen - - * package_db.cc (ConnectedLoopFinder::doIt): Add code to get a basic - order into the dependency list. Add comment to explain why. - -2008-08-22 Brian Dessent - - * KeysSetting.cc: Include string.h for memcpy et al. - * filemanip.cc: Include stdlib.h for for mbstowcs. - * io_stream_cygfile.h: Update cygmkdir_p prototype for mode_t. - * mount.cc (conv_fstab_spaces): Silence gcc 4.3 warning ("parentheses - around assignment used as truth value"). - -2008-08-20 Corinna Vinschen - - * install.cc (Installer::StandardDirs): Additionally create /var/log - dir. Set mode of /var/log and /var/run to 01777. - * localdir.cc (LocalDirSetting::save): Create /var/log with 01777 - permissions before creating setup.log files. - -2008-08-20 Corinna Vinschen - - * io_stream_cygfile.cc (io_stream_cygfile::set_mtime_and_mode): - Accommodate SetPosixPerms being method of nt_sec. - * mkdir.cc (mkdir_p): Ditto. - * mklink2.cc (mkcygsymlink_nt): Ditto. - * win32.cc: Slightly rearrange. - (NTSecurity::SetPosixPerms): Make SetPosixPerms method of NTSecurity - rather than stand-alone function. Remove dynamic allocation for - security descriptors in favor of static allocation. Drop out - preliminary if well-known SIDs are not initialized. Slightly change - and rearrange comments. Add creating NULL SID ACE for special - permissions. - (NTSecurity::initialiseWellKnownSIDs): New function, replacing - NTSecurity::initialiseEveryOneSID. Initialize all well-known SIDs - here. Set wellKnownSIDsinitialized to true on success. - (NTSecurity::setDefaultDACL): Don't call initialiseEveryOneSID. Change - comment. Drop setting failed. Don't open process token here. - (NTSecurity::setBackupPrivileges): New function. - (NTSecurity::setDefaultSecurity): Call initialiseWellKnownSIDs. - Open process token here. Disable setting primary group. Add comment - to explain why. - * win32.h (SetPosixPerms): Move to NTSecurity. - (class NTSecurity): Add SetPosixPerms method. Make all SIDs private - again. Make NoteFailedAPI private. Add setBackupPrivileges method. - Rename usid to UsersSID. Remove failed method and _failed member. - Add wellKnownSIDsinitialized accessors and _wellKnownSIDsinitialized - member. - -2008-08-19 Corinna Vinschen - - * install.cc (struct std_dirs_t): New type. - (class Installer): Change type of StandardDirs to std_dirs_t. - (Installer::StandardDirs): Store filename and mode. - (do_install_thread): Call io_stream::mkpath_p with name and mode from - Installer::StandardDirs. - * main.cc (main): Call setDefaultSecurity on global nt_sec. - * IOStreamProvider.h (IOStreamProvider::mkdir_p): Add mode parameter. - * LogFile.cc (LogFile::log_save): Call io_stream::mkpath_p with 0755 - mode. - * UserSettings.cc (UserSettings::settingFileForSave): Ditto. - * desktop.cc (make_link): Ditto. - * download.cc (download_one): Ditto. - * ini.cc (do_remote_ini): Ditto. - (do_ini_thread): Ditto. - * package_db.cc (packagedb::flush): Ditto. - * archive.cc (archive::extract_file): Ditto. Call set_mtime_and_mode - with mode from archive. Add code to handle directory permissions as - well. - * archive_tar.cc (archive_tar::get_mtime): Return time_t. Reformat. - (archive_tar::get_mode): New method. - * archive_tar.h (class archive_tar_file): Fix prototypes. Replace - prototype for set_mtime with prototype for set_mtime_and_mode. - (class archive_tar): Ditto. - * archive_tar_file.cc (archive_tar_file::get_mtime): Return time_t. - (archive_tar_file::get_mode): New method returning mode from tar header. - * compress_bz.cc (compress_bz::set_mtime_and_mode): Replace set_mtime. - (compress_bz::get_mtime): Return time_t. - (compress_bz::get_mode): New function. - * compress_gz.cc: Ditto. - * compress_lzma.cc: Ditto. - * io_stream.cc (io_stream::mkpath_p): Take additional file mode. - Call mkdir_p with additional file mode. - * io_stream_cygfile.cc (CygFileProvider::mkdir_p): Take additional file - mode. - (cygmkdir_p): Ditto. Call mkdir_p with additional file mode. - (io_stream_cygfile::set_mtime_and_mode): Replace set_mtime. Call - SetPosixPerms. - * io_stream_file.cc (FileProvider::mkdir_p): Take additional file mode. - (io_stream_file::set_mtime_and_mode): Replace set_mtime. - * mkdir.cc (init_ntfuncs): New function to initialize function pointers - from ntdll.dll. - (mkdir_p): Take additional file mode. On NT, use NT functions to create - directory. Call SetPosixPerms. - * compress_bz.h: Change prototypes accordingly. - * compress_gz.h: Ditto. - * compress_lzma.h: Ditto. - * io_stream.h: Ditto. - * io_stream_cygfile.h: Ditto. - * io_stream_file.h: Ditto. - * io_stream_memory.h: Ditto. - * mkdir.h: Ditto. - * mklink2.cc (mkcygsymlink_nt): Open file with STANDARD_RIGHTS_ALL - access and FILE_FLAG_BACKUP_SEMANTICS flag. Call SetPosixPerms. - * mount.cc (from_fstab): Open file with FILE_FLAG_BACKUP_SEMANTICS. - * script.cc (OutputLog::OutputLog): Call io_stream::mkpath_p with 0755 - mode. Open file with FILE_FLAG_BACKUP_SEMANTICS. - * win32.cc (SetPosixPerms): New function to set POSIX-like permissions. - (nt_sec): New global NTSecurity variable. - (NTSecurity::setDefaultDACL): Open token with TOKEN_ADJUST_PRIVILEGES. - (NTSecurity::setDefaultSecurity): Enable SE_BACKUP_NAME and - SE_RESTORE_NAME privileges if available. - * win32.h (SetPosixPerms): Add prototype. - (class NTSecurity): Make everyOneSID and administratorsSID public. - (nt_sec): Declare. - -2008-08-14 Corinna Vinschen - - * mount.cc (unconvert_slashes): New inline function. - (skip_ws): New inline function. - (find_ws): New inline function. - (conv_fstab_spaces): New inline function. - (from_fstab_line): New function to read single line from fstab file. - (from_fstab): New function to read /etc/fstab file and fill mount - table. - (read_mounts_nt): Call from_fstab after getting setup/rootdir from - registry. Only call add_usr_mnts if no fstab file found. - -2008-08-13 Corinna Vinschen - - * install.cc (Installer::installOne): Skip 46 bytes type tar package - silently. - -2008-08-13 Corinna Vinschen - - * install.cc (Installer::installOne): Use MoveFileExW on NT. Special - case for bug in Windows 2000. - * package_meta.cc (packagemeta::uninstall): Use wide char file functions - on NT. - * win32.h (VersionInfo::major): New method. - (VersionInfo::minor): New method. - (OSMajorVersion): Define. - (OSMinorVersion): Define. - -2008-08-12 Corinna Vinschen - - Revamp for Cygwin 1.7. - * desktop.cc (make_cygwin_bat): Use wide char file functions on NT. - (save_icon): Ditto. - * filemanip.cc (tfx_chars): New char table for wide char transformation - of reserved FS chars to UNICODE private use area. - (transform_chars): New static function. - (mklongpath): New function to convert multibyte path to wide char - path with long path prefix. - * filemanip.h (mklongpath): Declare. - * ini.h (SETUP_INI_FILENAME): Use setup.ini filenames as defined in - real life (setup-2.ini/setup.ini). - (SETUP_BZ2_FILENAME): Ditto. - * install.cc (do_install_thread): Don't create registry mount points - on NT, rather create setup/rootdir entry. - * io_stream_cygfile.cc: Throughout use wide char file functions on NT. - (io_stream_cygfile::w_str): New method to create wide char path. - * io_stream_cygfile.h (class io_stream_cygfile): Remove lmode member. - Add wname member and w_str method. - * io_stream_file.cc: Throughout use wide char file functions on NT. - (io_stream_file::w_str): New method to create wide char path. - * io_stream_file.h (class io_stream_file): Remove lmode member. - Add wname member and w_str method. - * mkdir.cc (mkdir_p): Use wide char file functions on NT. - * mklink2.cc (mkcygsymlink_9x): Rename from mkcygsymlink. Make static. - (mkcygsymlink_nt): New static function. - (mkcygsymlink): Just call mkcygsymlink_9x or mkcygsymlink_nt dependent - on OS. - * mount.cc (CYGWIN_INFO_CYGWIN_SETUP_REGISTRY_NAME): Define. - (remove1): Move to earlier point in file to avoid declaration. - (remove_mount): Ditto. Make static. - (create_install_root): New function to create setup/rootdir registry - value on NT. - (read_mounts_9x): Rename from read_mounts. Make static. Conditionalize - for OS. - (add_usr_mnts): New static function. - (read_mounts_nt): Ditto, to read mounts on NT. - (read_mounts): Just call read_mounts_nt or read_mounts_9x dependent on - OS. - (set_root_dir): On NT, call read_mounts. - (cygpath): Only add slash for non-root mount to avoid multiple slashes - in resulting path (invalid in long path names). - * mount.h (find_mount): Drop declaration. - (remove_mount): Ditto. - (create_install_root): Add declaration. - (read_mounts): Accommodate new parameter. - * package_db.cc (chosen_db_task): New global variable. - * package_db.h (chosen_db_task): Declare. - * root.cc (check_if_enable_next): Don't use get_root_dir here to - avoid having to call save_dialog in RootPage::OnMessageCmd. - (GetDlgItemRect): New static inline function. - (SetDlgItemRect): Ditto. - (load_dialog): On NT, stretch "Install For" block to full dialog width - and hide "Default Text File Type" block. - (save_dialog): On NT set root_text always to IDC_ROOT_BINARY. - (RootPage::OnMessageCmd): Remove call to save_dialog. - (RootPage::OnNext): Initialize packagedb here the first time, to - avoid fetching wrong data from different previous installation. - * source.cc (save_dialog): Don't initialize packagedb here, rather - just memorize setting in chosen_db_task for the deferred initialization - in RootPage::OnNext. - -2008-08-07 Dave Korn - - Implement command-line selection of packages to install and make - unattended mode deal with any dialogs that might arise. A joint - effort synthesized from contributions by: - - Dr. Frank Lee - Bryan Thrall - Kohsuke Kawaguchi - Dave Korn - - * install.cc (rebootneeded): Don't define statically here. - (do_install_thread): Let exit_msg reflect rebootneeded. - * main.cc (main): If rebootneeded, log it when exiting. - * msg.cc (mbox): In unattended_mode, choose and log default answer. - * package_db.cc (packagedb::fillMissingCategory): Iterate over all - packages adding those selected by packagemeta::isManuallyWanted to - base category so that command-line selections are installed. - * package_meta.cc (PackageOption): Add new StringOption to allow - command-line selection of packages to add to base install. - (packagemeta::isManuallyWanted): New function tests if package was - selected on command-line. - (packagemeta::addToCategoryBase): New function adds package to - "base" category. - * state.cc (rebootneeded): Define here non-static. - * state.h (rebootneeded): Declare here with extern linkage. - * threebar.cc (ThreeBarProgressPage::MaximizeDialog): Don't change - size when running in unattended mode. - -2008-08-05 Christopher Faylor - - * UserSettings.cc (UserSettings::settingFileForLoad): Look locally for - settings before looking outside of current directory. - * choose.cc (ChooserPage::ChooserPage): Record the property sheet's - current show state via new passed in parameter. - * choose.h (ChooserPage::ChooserPage): Reflect change in argument list. - (ChooserPage::nCmdShow): Define new element. - * main.cc (main): Send current show state to Chooser. - * package_version.cc (packageversion::set_requirements): Increase - recursion check from 5 to 30. - * propsheet.cc (PropSheetWndProc): Register hwndDlg with - ThreeBarProgressPage. - * threebar.cc (ControlAdjuster::ControlInfo): Initialize cmd_show_set. - (ThreeBarProgressPage::MaximizeDialog): New function. - (ThreeBarProgressPage::OnMessageApp): Call MaximizeDialog to maximize - package selection screen and restore when done. - * threebar.h (ThreeBarProgressPage::MaximizeDialog): Declare function. - (ThreeBarProgressPage::cmd_show_set): Declare variable. - (ThreeBarProgressPage::cmd_show): Declare variable. - (ThreeBarProgressPage::ins_dialog): Declare variable. - (ThreeBarProgressPage::SetHwndDialog): Define function. - -2008-07-22 Charles Wilson - - Add support for .tar.lzma files (decompress only). - - * Makefile.am: Add new files. - * compress.cc (compress::decompress): add support - for compress_lzma. - * compress_lzma.h: new file. - * compress_lzma.cc: new file. - * filemanip.cc (find_tar_ext): add support for - .tar.lzma files. - * install.cc (Installer::installOne): update comments. - * lzma-sdk/LzmaDec.h: new file. - * lzma-sdk/LzmaDec.c: new file. - * lzma-sdk/Types.h: new file. - -2008-07-08 Charles Wilson - - * compress.cc (compress::decompress): clean up concrete - decompressor objects on failure -- but in that case, do - NOT destroy original io_stream. - * compress_bz.h (compress_bz::release_original): new method. - (owns_original): new member variable. - * compress_bz.cc (compress_bz::release_original): new method. - (compress_bz::compress_bz): take ownership of parent by default. - (compress_bz::~compress_bz): only delete original if - owns_original is true. - * compress_gz.h (compress_gz::release_original): new method. - (owns_original): new member variable. - * compress_gz.cc (compress_gz::release_original): new method. - (compress_gz::construct): take ownership of parent by default. - (compress_gz::~compress_gz): only delete original if - owns_original is true. - -2008-06-25 Dave Korn - - * configure.in, gpg-error-config-fake: Revert previous removal. - -2008-06-25 Dave Korn - - * net.cc: Correct stray CRLF. - -2008-06-25 Dave Korn - - * configure.in (ac_cv_path_GPG_ERROR_CONFIG): Remove nasty hack. - * gpg-error-config-fake: Delete file obsoleted by de-hackification. - -2008-06-24 Christopher Faylor - - * configure.in: Disable shared library builds. - -2008-06-24 Christopher Faylor - - * Makefile.am: Make and install libraries into common location and use - them from there. - * configure.in: Find gpg-error-config in the libgpg-error/src - subdirectory rather than using the host system's version. Set the - prefix and exec_prefix to a common location for the subdirs so that - useful files will be installed in a common location. - -2008-06-22 Dave Korn - - Merged across diffs between setup_crypto_branch_branchpoint and - setup_crypto_branch_mergepoint2 from setup_crypto_branch. - - * crypto.cc, crypto.h, gpg-packet.cc, gpg-packet.h, KeysSetting.cc, - KeysSetting.h, gpg-error-config-fake, cygwin.pub, cyg-pubkey.h, - gpg-key-to-s-expr.sh: New files. - * ini.cc, ini.h, resource.h, res.rc, netio.cc, Makefile.am, - configure.ac, libgetopt++/src/OptionSet.cc: Modified files. - -2008-06-21 Dave Korn - - * ini.cc (do_remote_ini): Revert misbegotten removal of - not-always-superfluous-after-all added slash in URLs. - -2008-06-18 Dave Korn - - * gpg-packet.h (GPG_KEY_SEXPR_BUF_SIZE): Move from here ... - * crypto.h (GPG_KEY_SEXPR_BUF_SIZE): ... to here. - (GPG_KEY_MAX_COEFF_SIZE): Add related definition. - -2008-06-18 Dave Korn - - * gpg-packet.cc (walk_packets_1): Check packet length field is - valid sane and possible to avoid malicious manipulation. - * ChangeLog: Corrected date on previous commit. - -2008-06-18 Dave Korn - - * crypto.cc (add_key_from_sexpr): Use real buffer size, not debug - constant size. - -2008-06-16 Dave Korn - - * crypto.cc (verify_ini_file_sig): Actually set init-once flag! - -2008-06-16 Dave Korn - - * crypto.cc (KeepUntrustedKeysOption): Fix helpstring punctuation. - -2008-06-16 Dave Korn - - * crypto.cc (verify_ini_file_sig): Fix two minor logic errors. - -2008-06-16 Dave Korn - - * ini.h (current_ini_sig_name): Declare extern. - * ini.cc (current_ini_sig_name): New variable. - (NoVerifyOption): New boolean option. - (do_remote_ini): If sig verification not disabled, attempt to - download the matching sig file for any setup.bz2 or setup.ini - and use it to verify or discard the download. - -2008-06-16 Dave Korn - - * resource.h (IDS_SIG_INVALID, IDS_CRYPTO_ERROR): Reserve IDs for - two new message strings. - * res.rc (IDS_SIG_INVALID, IDS_CRYPTO_ERROR): Define the text. - -2008-06-16 Dave Korn - - * Makefile.am (setup_SOURCES): Add new files crypto.cc, crypto.h, - cyg-pubkey.h, gpg-packet.cc, gpg-packet.h. KeysSetting.cc and - KeysSetting.h to the build. - * crypto.cc, crypto.h, gpg-packet.cc, gpg-packet.h, KeysSetting.cc, - KeysSetting.h: New files. Adds gpg sig verification support. - -2008-06-16 Dave Korn - - * Makefile.am (DIST_SUBDIRS, SUBDIRS): Add libgpg-error and - libgcrypt subdirs. - (AM_CPPFLAGS): Add -I paths to generated headers in both and to - shipped headers in libgcrypt. - (setup_LDADD): Add libgpg-error.a and libgcrypt.a to final link. - - * configure.in (ac_cv_path_GPG_ERROR_CONFIG): Preload into cache - to fake out libgcrypt configure process. - (AC_CONFIG_SUBDIRS): Add libgpg-error/ and libgcrypt/ - - * gpg-error-config-fake: New shell script to redirect libgcrypt - sub-configure into looking for newly-built libgpg-error. - -2008-06-16 Dave Korn - - * setup/libgpg-error/: Fresh import of upstream sources of - libgpg-error-1.6.tar.bz2 from http://www.gnupg.org/ - * setup/libgcrypt/: Fresh import of upstream sources of - libgcrypt-1.4.1.tar.bz2 from http://www.gnupg.org/ - -2008-06-16 Dave Korn - - * netio.cc (NetIO::set_url): Avoid double-free bug on delete - by setting path to a strdup of url rather than using the same - pointer value twice. - -2008-06-16 Dave Korn - - * cygwin.pub: Add reference copy of Cygwin setup signing key. - * gpg-key-to-s-expr.sh: New bash script. Outputs textual - representation of public key in s-expr format. - * cyg-pubkey.h: New header generated by the above from Cygwin - setup signing key. Currently needs manual regeneration if key - ever updated. - -2008-04-16 Brian Dessent - - * mount.cc: Include malloc.h. - (is_admin): Use alloca instead of a VLA in case - GetTokenInformation is sensitive to alignment. - -2008-04-15 Brian Dessent - - * mount.cc (is_admin): Get explicit size of required buffer by - calling GetTokenInformation first with NULL. - -2008-04-10 Brian Dessent - - * Makefile.am (setup_LDFLAGS): Make sure static libbz2 and zlib - are used. - -2008-04-09 Brian Dessent - - * README: flex and bison are required when building from CVS. - -2008-04-08 Brian Dessent - - * Makefile.am (snapshot): Provide default value of ${cygwinsite} - if not set. - -2008-04-08 Brian Dessent - - * Makefile.am (release): Use -f so that "make release" works - when existing binaries of the same name exist. - -2008-04-08 Brian Dessent - - * res.rc (IDD_SPLASH): Update copyright years on splash page. - -2008-04-08 Brian Dessent - - * CHANGES: Update. - * install.cc (Installer::installOne): Cope with compressed - 0-byte dummy packages. Fix progress bar update bug introduced - in earlier refactoring. - -2008-04-08 Brian Dessent - - * CHANGES: Update. - -2008-04-08 Brian Dessent - - Various warning/header cleanups necessary for clean gcc 4.3 build. - * ConnectionSetting.cc: Include stdlib.h. - * LogFile.cc: Ditto. - * Makefile.am: Don't hardcode paths to MinGW libz and libbz2. - * PickView.cc: Include limits.h. - * String++.cc: Include string.h. - * archive_tar.cc (archive_tar::next_file_name): Silence nested-if - warning. - * autoload.c: Switch back to .text section before emiting - autoload_common. - * choose.cc: Include stdlib.h and algorithm. - * compress_gz.cc: Include memory.h and malloc.h. - * filemanip.cc: Include string.h. - (parse_filename): Silence nested-if warning. - * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Silence warning. - * package_db.cc: Include algorithm. - * site.cc (get_site_list): Silence warning. - * win32.cc: Include memory. - * csu_util/MD5Sum.cc: Include string.h. - -2008-03-02 Dave Korn - - * install.cc (Installer::installOne): Accept new HWND argument - from caller and pass it to MessageBox calls so that MB_TASKMODAL - can work. - (check_for_old_cygwin): Likewise. - (do_install_thread): Pass owner's HWND (from thread context) when - calling them. - -2008-02-23 Dave Korn - - * cygpackage.cc (cygpackage::getfirstfile): Guard against trying to - construct std::string from NULL returned by io_stream::gets when the - stream decompressor fails on a corrupt *.lst.gz file. - -2008-02-21 Dave Korn - - * geturl.cc (progress): Correct SI unit notation. - -2008-02-01 Vincent Privat - - * net.cc (OnInit): New StringOption (ProxyOption) - This new option (-p) allows to call setup.exe with a proxy - in its command-line arguments. - -2007-07-31 Brian Dessent - - * ini.cc (do_remote_ini): Fix crash due to double free of ini_file. - -2007-07-30 Brian Dessent - - * CHANGES: Update. - * configure.in (AM_INIT_AUTOMAKE): Enable more automake warnings. - * Makefile.am (INCLUDES): Use AM_CPPFLAGS instead. - (CLEANFILES): Add. Minor portability tweaks. - * tests/Makefile.am (INCLUDES): Use AM_CPPFLAGS instead. - * archive.cc (archive::extract): Try to be more compatible when - opening tar files. - * compress_bz.cc: Fix whitespace throughout. - (compress_bz::~compress_bz): Ensure that underlying io_stream's dtor is - also run. - * install.cc (Installer::installOne): Refactor. - * package_db.cc (ConnectedLoopFinder::doIt): Move some log spewage into - setup.log.full from setup.log. - (packagedb::connectedBegin): Ditto. Consolidate log output to one line. - -2007-07-02 Brian Dessent - - * CHANGES: Update. - -2007-06-26 Brian Dessent - - * Makefile.am (release): Drop inconsistent use of $(EXEEXT). Leave an - untouched copy of setup.exe so that later make invocations don't - unnecessarily rebuild it. - (snapshot): Fix typo. - * install.cc (md5_one): Don't try to check packages whose - pkgsource.Cached () is NULL, as with those whose download failed. - -2007-06-26 Brian Dessent - - * CHANGES: Update to reflect release branch. - -2007-06-26 Brian Dessent - - * CHANGES: Make current. - -2007-05-30 Brian Dessent - - * find.h (class Find): Make _start_dir non-const. - * find.cc (Find::Find): Append a trailing slash to _start_dir only if - it does not already contain one. - (Find::accept): Use the previously stored value of _start_dir rather - than unconditionally appending a slash. - -2007-05-29 Brian Dessent - - * Makefile.am: No need to specify the default value of --preprocessor - to windres. Rework the automatic version extraction rules so that the - source tarball is generated with the proper name and directory instead - of setup-0. Update snapshot rule to also upload a copy of the binary - with debugging symbols still present. - -2007-05-29 Brian Dessent - - This is a general tidying up/modernization of the build infrastructure. - Renaming the lexer and parser to .ll and .yy allows using automake's - builtin support for flex and bison with C++ sources, and libinilex is a - slightly cleaner way of omitting -Werror. - - * Makefile.am (AUTOMAKE_OPTIONS): Move to AM_INIT_AUTOMAKE. - (AM_YFLAGS): Define. - (AM_LFLAGS): Define. - (INCLUDES): Remove redundant mingw directory. - (EXTRA_DIST): Adjust for newly named lexer/parser. - (BUILT_SOURCES): Ditto. - (inilint_LDADD): Ditto. - (inilint_SOURCES): Ditto. - (setup_LDADD): Ditto. - (setup_SOURCES): Ditto. - (iniparse.cc): Remove custom rules. - (inilex.cc): Ditto. - * configure.in: Update quoting and use modern form of AC_INIT and - AM_INIT_AUTOMAKE. - * inilex.l: Rename from this ... - * inilex.ll: ... to this. - * iniparse.y: Rename from this ... - * iniparse.yy: ... to this. - -2007-05-29 Brian Dessent - - * IniParseFindVisitor.cc (IniParseFindVisitor::IniParseFindVisitor): - Remove error_buf and error_count initializers. - (IniParseFindVisitor::visitFile): Store filename in current_ini_name. - Use yyerror_count and yyerror_messages in place of removed error_count - and error_buf members. - * IniParseFindVisitor.h (class IniParseFindVisitor): Remove error_buf - and error_count members. - * ini.cc: Include io_stream_memory.h. Remove file static variables - error_buf, error_count, and ini_filename. - (GuiParseFeedback::progress): Remove some verbose log spam. - (do_remote_ini): Recode .ini-fetching logic to properly display parse - errors, and to account for corrupt bzip2 files. - (yyerror): Moved elsewhere. - (fprintf): Delete unused function. - * ini.h: Remove useless __cplusplus guard. Declare extern variables - current_ini_name, yyerror_messages, and yyerror_count. - * inilex.l: Add current_ini_name, yyerror_messages, and - yyerror_count. - (ini_init): Initialize new variables. - (yybol): Delete. - (yyerror): Reimplement using std::string and relocate from ini.cc. - * io_stream.cc (io_stream::copy): Add clarifying comment. - -2007-05-04 Igor Peshansky - - * resource.h (IDC_STATIC_HEADER): New control id. - * res.rc (IDD_SPLASH): Adjust the copyright. - (IDD_DESKTOP): Make header text accessible as a separate control. - * desktop.cc (set_status): Use eset() instead of SetWindowText(). - (load_dialog): Disable checkboxes and change dialog text in - download-only mode. - (DesktopSetupPage::OnInit): Disable checkboxes in download-only - mode. - * threebar.cc (ThreeBarProgressPage::OnMessageApp): Deprecate the - default fallthrough. - * download.cc (do_download_thread): Explicitly return the next - dialog. - -2007-04-19 Max Bowsher - - * configure.in: Turn inilint default build off again, since I cannot - get it to work. - -2007-04-19 Max Bowsher - - * configure.in: Make inilint built by default. - -2007-04-19 Max Bowsher - - * inilintmain.cc: Fix multiple compile errors. - -2007-04-19 Max Bowsher - - * Makefile.am: Make inilint use same warnonly-inilex workaround that - setup already does. - -2007-03-29 Igor Peshansky - - * LogFile.cc (LogFile::exit): Write exit_msg directly to log, without - the message box. - * resource.h (IDC_DESKTOP_SEPARATOR,IDC_STATUS_HEADER,IDC_STATUS): New - control ids. - * res.rc (IDD_DESKTOP): Change the caption. Add status information. - * desktop.h (DesktopSetupPage::DesktopSetupPage): Define constructor - in the implementation. - * desktop.cc (DesktopControlsInfo): Position specifiers for status - information items. - (DesktopSetupPage::DesktopSetupPage): Register position specifiers. - (set_status): New static method. - (load_dialog): Set status information, if available. - (DesktopSetupPage::OnInit): Set status header font. - -2007-03-01 Brian Dessent - - * ini.h (SETUP_INI_FILENAME): Rename setup_9x.ini to setup_legacy.ini. - (SETUP_BZ2_FILENAME): Likewise. - -2007-02-27 Brian Dessent - - * ini.h (SETUP_INI_FILENAME): Add define. - (SETUP_BZ2_FILENAME): Add define. - * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Use - above macros to parameterize setup.ini filename. - * fromcwd.cc (SetupFindVisitor::visitFile): Ditto. - * ini.cc (do_remote_ini): Ditto. - * Makefile.am (setup_SOURCES): Add win32.cc. - * autoload.c: Include windows.h directly instead of win32.h so that - win32.h can contain C++. - * desktop.cc (verinfo): Delete. - (make_link): Use IsWindowsNT to check for NT instead of verinfo. - (DesktopSetupPage::OnInit): Likewise. - * mount.cc (is_admin): Likewise. - * script.cc (init_run_script): Likewise. - * main.cc (class SIDWrapper, SIDWrapper::SIDWrapper, - SIDWrapper::~SIDWrapper, SIDWrapper::theSID, class HANDLEWrapper, - HANDLEWrapper::HANDLEWrapper, HANDLEWrapper::~HANDLEWrapper, - HANDLEWrapper::theHANDLE, class TokenGroupCollection, - TokenGroupCollection::TokenGroupCollection, - TokenGroupCollection::~TokenGroupCollection, - TokenGroupCollection::populate, TokenGroupCollection::find, - class NTSecurity, set_default_sec, NTSecurity::NoteFailedAPI, - NTSecurity::NTSecurity, NTSecurity::failed, - NTSecurity::initialiseEveryOneSID, NTSecurity::setDefaultDACL, - NTSecurity::setDefaultSecurity): Remove implementation of these - classes from this file and into new file win32.cc and existing win32.h. - (main): Fix whitespace and formatting per GNU coding standards. - * res.rc (IDS_SETUPINI_MISSING): Parameterize filename with %s. - * win32.cc: New file containing methods removed from main.cc as well - as new class VersionInfo methods. - * win32.h: Include for std::string. - (class SIDWrapper, class HANDLEWrapper, class TokenGroupCollection, - class NTSecurity): Add classes removed from main.cc. - (class VersionInfo): Add new class. - (GetVer): Declare. - (IsWindowsNT): Define. - -2007-02-20 Brian Dessent - - * README: Modernize list of required packages, and mention doconfigure. - -2007-02-17 Cesar Strauss - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * desktop.cc (make_cygwin_bat,save_icon): Capitalize filename. - -2006-08-06 Igor Peshansky - - * package_version.cc (packageversion::scan): Catch and handle - validation exception. - -2006-08-06 Igor Peshansky - - * 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 - - * desktop.cc (DesktopSetupPage::OnInit): Remove stray MessageBox. - -2006-05-24 Igor Peshansky - - * 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 - - * COPYING: New file (GPL). - * Makfile.am (EXTRA_DIST): Add COPYING. - -2006-04-17 Max Bowsher - - * 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 - - * cygpackage.cc, cygpackage.h, package_version.cc, package_version.h: - Do some String to std::string migration. - -2006-04-17 Max Bowsher - - * 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 - - * 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 - - * IniDBBuilder.cc, IniDBBuilder.h, IniDBBuilderPackage.cc, - IniDBBuilderPackage.h, PickLine.h, PickPackageLine.cc: - Do some String to std::string migration. - -2006-04-16 Max Bowsher - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * PickView.cc (PickView::setViewMode): Auto-expand category if - its name starts with a dot. - -2006-03-14 Dave Korn - - * String++.cc (new_cstr_char_array): Handle null input correctly. - -2006-03-10 Christopher Faylor - - * 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 - - * 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 - - * script.cc (Script::run): Fix inverted test for abnormal exit. - -2006-03-09 Bas van Gompel - Max Bowsher - - 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 - - * Makefile.am (EXTRA_DIST): Add tree-minus.bmp and tree-plus.bmp. - -2006-01-20 Bryan Thrall - - * source.cc (SourcePage::OnActivate): Command line takes precedence - over last user selection. - -2005-11-30 Max Bowsher - - * res.rc (IDD_ROOT, IDD_LOCAL_DIR): Rearrange some controls a little, - in response to suggestion from Carl Karsten. - -2005-11-30 Max Bowsher - - * 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 - - * 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 - - * 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 - - * package_db.cc (packagedb::packagedb): Remember missing package - database file. - -2005-09-29 Igor Pechtchanski - - * site.cc (get_site_list): Store mirror list locally. - Use local copy if unable to download. - -2005-09-27 Igor Pechtchanski - - * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): - Better log message on error. - -2005-09-27 Igor Pechtchanski - - * script.cc (Script::isAScript): Fix string comparison. - -2005-09-27 Igor Pechtchanski - - * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Reconnect on FTP timeout. - -2005-09-11 Masayuki FUJII - - * package_meta.cc (packagemeta::ScanDownloadedFiles): Don't use an - invalid iterator. Fix whitespace. - -2005-09-09 Brian Dessent - - * 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 - - * 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 - - * package_meta.cc (packagemeta::uninstall): Remove support for - undocumented and dangerous postremove script. - -2005-09-01 Igor Pechtchanski - - * 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 - - * script.cc (shells): Use /bin/bash, not sh, to allow upgrades to - /bin/sh. - -2005-09-01 Igor Pechtchanski - - * 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 - - * Makefile.am (BASECXXFLAGS): Add -Wno-uninitialized to work around - spurious warnings with gcc 3.4.4. - -2005-05-22 Brian Dessent - - * res.rc (IDD_CHOOSE): Change description to include administrative - packages in addition to obsolete. - -2005-05-21 Brian Dessent - - * 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 - - "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 - - Fix behaviour of hardlinks in source packages. - - * archive.cc (archive::extract_file): - Use prefixPath for link target on hardlinks. - -2005-05-14 Max Bowsher - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * root.h (class RootPage): Add missing virtual to OnMessageCmd. - -2005-05-05 Brian Dessent - - * 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 - - 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 - - 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 - - * 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. - - * 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 - elements. - - * 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 - 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. - - * root.h (class RootPage): Remove constructor implementation from - here... - - * 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 - here... - - * 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.cc (Window::Window): Remove FontCounter. - (Window::~Window): Likewise. Iterate over vector of fonts instead. - (Window::SetDlgItemFont): Use vector. - -2005-05-05 Max Bowsher - - * Makefile.am (EXTRA_DIST, inilint_SOURCES): - Sync with several recent changes. - -2005-05-05 Brian Dessent - - * res.rc: (CREATEPROCESS_MANIFEST_RESOURCE_ID): Include section - comment. - -2005-05-05 Brian Dessent - - * res.rc: (IDC_CHOOSE): Widen 'view' button by 6px horizontally and - 4px vertically. Adjust other controls to accomodate. - (CREATEPROCESS_MANIFEST_RESOURCE_ID): Define so that manifest is - included in the binary. - - * setup.exe.manifest: New file. Results in common controls with - themed appearance on modern versions of Windows. - -2005-05-05 Brian Dessent - - * main.cc (WinMain): Change conditional to avoid spurious error - message on success. Include reason for failure in log message. - -2005-05-04 Max Bowsher - - * state.cc, state.h (net_method, net_proxy_host, net_proxy_port,) - (net_user, net_passwd, net_proxy_user, net_proxy_passwd,) - Inet_ftp_user, net_ftp_passwd): - Move these global variables to be static variables of the NetIO class. - - * netio.h, netio.cc (net_method, net_proxy_host, net_proxy_port,) - (net_user, net_passwd, net_proxy_user, net_proxy_passwd,) - net_ftp_user, net_ftp_passwd): - As above. - - * ConnectionSetting.cc, net.cc: - Change include, refer to variables in new location. - -2005-05-04 Max Bowsher - - * PickLine.cc: Remove file - redundant. - * Makefile.am (setup_SOURCES): Adjust. - -2005-05-04 Max Bowsher - - * package_version.h (packageversion::set_requirements): - Remove deftrust argument default value. - -2005-05-04 Max Bowsher - - * package_version.cc (DependencyProcessor): Remove trivial class. - (select, processOneDependency): Do not use DependencyProcessor, just - pass parameters normally. - -2005-05-04 Brian Dessent - - Fix bug #820: Clicking Curr, etc., causes some dependencies to not - be installed. - - * choose.cc (ChooserPage::changeTrust): - Add a missing "packagedb.markUnVisited ()". - -2005-05-03 Max Bowsher - - * PickCategoryLine.cc (PickCategoryLine::click): - * PickPackageLine.cc (PickPackageLine::click): - Abandon use of trivial packagemeta::PrepareForVisit() wrapper. - - * package_meta.h (packagemeta::PrepareForVisit): Remove. - * package_meta.cc (packagemeta::PrepareForVisit): Remove. - -2005-05-03 Max Bowsher - - * choose.h (ChooserPage::ifChecked): Remove. - (ChooserPage::changeTrust): Convert from template to ordinary function. - * choose.cc (ChooserPage::changeTrust): As above, plus avoid the use - of custom class SetRequirement, when bind2nd(mem_fun(...),...) can - achieve the same effect. - * package_meta.h (SetRequirement): Remove, now unused. - -2005-05-03 Max Bowsher - - * package_meta.h (packagemeta::set_requirements): - Remove default argument which seems inappropriate. - * PickPackageLine.cc (PickPackageLine::click): - Make an argument explicit, and not that it seems like the wrong value. - -2005-05-03 Brian Dessent - - Fix part of bug #853 - proxy port not remembered. - - * net.cc (doing_loading): New static boolean. - (load_dialog): Use the boolean to prevent save_dialog() from taking - action due to field changes due to initialization. - (save_dialog): Check the boolean and respond appropriately. - -2005-04-19 Max Bowsher - - * postinstall.cc (RunFindVisitor::visitFile): Fix crash on - encountering a postinstall script with a name of 4 characters or less. - Bug introduced on 2004-12-25. - -2005-04-05 Max Bowsher - - The Big Cleanup: Phase "rfc1738" - - * rfc1738.cc, rfc1738.h: Delete. - * csu_util/rfc1738.cc: Reimport latest version from upstream source. - Make thread-safe. Rewrite C++ wrapper in terms of std::string. - Document the divergences from the upstream source. - * csu_util/rfc1738.h: Recreate for the std::string version of the - C++ wrapper. - - * Makefile.am (setup_SOURCES): Sync with added/removed files. - * IniParseFindVisitor.cc: Modify #includes. - (IniParseFindVisitor::visitFile): Change function name, as the new - C++ wrapper does not contain an irregularity that the old one did. - * download.cc: Modify #includes. - * ini.cc: Modify #includes. - -2005-04-05 Max Bowsher - - Remove setup's internal compression libraries, instead relying on the - mingw-foo packages which have been part of the Cygwin net distribution - for some time now. At the same time, reorganize the README file to - inform about the change, and make some additional tidy-ups there whilst - working there. - - * GUIDELINES: Remove, contents transferred to README. - * README: Add build instructions. Delete unconfirmed and fixed bugs - sections. Incorporate the former contents of GUIDELINES. - - * bz2lib/: Remove. - * zlib/: Remove. - * Makefile.am (DIST_SUBDIRS, SUBDIRS): - * configure.in: Remove AC_CONFIG_SUBDIRS for removed subdirs. - * compress_bz.h: Remove complex _WIN32 preprocessor conditional. - * compress_gz.h: Fix #include file name. - * archive_tar_file.cc: Remove unused #include. - * install.cc: Remove unused #include. - -2005-01-27 Max Bowsher - - Set CYGWIN=nontsec, for postinstall scripts. - - * main.cc (main): putenv("CYGWIN=nontsec"). - -2005-01-27 Bas van Gompel - - Fix corrupt display of ini parse percentage in log file. - - * ini.cc (GuiParseFeedback): Use a sensible data type for lastpct. - -2004-12-29 Max Bowsher - - * site.cc (get_site_list): Filter the incoming mirrors list to contain - only URL schemes that we can read. - -2004-12-28 Max Bowsher - - The Big Cleanup: Phase "hash" - - * hash.cc, hash.h: Delete. - * Makefile.am (setup_SOURCES): Sync with deleted files. - - * package_mets: Modify includes. - (standard_dirs): Remove. - (hash::add_subdirs): Remove. - (packagemeta::uninstall): Re-implement using STL set instead of - homebrew hash. - -2004-12-28 Max Bowsher - - * String++.h (operator std::string): Take care to never do - std::string((char*)NULL) - it causes a hang! - -2004-12-27 Max Bowsher - - The Big Cleanup: Phase "log" - - * log.cc, log.h: Delete old C-style compatibility wrapper around the - logging subsystem. - * Makefile.am (setup_SOURCES): Sync with deleted files. - - * AntiVirus.cc, archive_tar_file.cc, ini.cc, install.cc, - * io_stream_cygfile.cc, localdir.cc, msg.cc, net.cc, netio.cc, - * netio.h, nio-ftp.cc, nio-ftp.h, root.cc, source.cc: - Throughout, refine includes, and update code using the old - compatibility wrapper to C++ streams style code. - -2004-12-27 Max Bowsher - - * compress.cc: Refine includes. Remove placeholder function - definitions. Make destructor an empty function. - * compress.h: Refine includes. Make placeholder functions pure - virtual. Add missing const on buffer argument to write function, - to match derived classes. - * compress_bz.cc, compress_gz.cc: Refine includes. Throw exception, - rather than logging and returning an error, when an unimplemented - function is called. - * compress_bz.h, compress_gz.h: Refine includes. - -2004-12-26 Max Bowsher - - The Big Cleanup: Phase "version" - - * String++.h (operator std::string): Add. - * desktop.cc, fromcwd.cc: Remove irrelevant include. - - * version.cc, version.h: Delete, replacing all functionality in new - files. - - * setup_version.h: Add, taking over declaration of generated version - symbol functionality. - - * Makefile.am (setup_SOURCES): Sync with new/deleted files. - (setup_version.c): Rename the symbol 'version' to 'setup_version'. - * main.cc: Modify includes. - (main): Adapt to setup_version rename. - * splash.cc: Modify includes. - (SplashPage::OnInit): Adapt to setup_version rename. - - * csu_util/version_compare.cc, csu_util/version_compare.h: Add, - containing a completely rewritten replacement for canonical_version(). - - * IniDBBuilderPackage.cc: Modify includes. - (IniDBBuilderPackage::buildVersion): Use new version_compare API. - * ini.cc: Modify includes. - (setup_version): Rename... - (ini_setup_version): ...to this. - (do_local_ini, do_remote_ini): Adapt to above change. - (do_ini_thread): Adapt to above change. Use new version_compare API. - -2004-12-25 Max Bowsher - - * install.cc (Installer::installOneSource): Remove a stray "break;" - left over from the switch-case -> if-else conversion in the previous - change. - -2004-12-25 Max Bowsher - - The Big Cleanup: Phase "win32" - - * win32.h: Major overhaul. Document why we use _WIN32_IE. Move out - fragment dealing with alloca() to the single file in which it is used. - Remove fragment dealing with _MAX_PATH, and convert all uses of it - elsewhere to MAX_PATH. Remove random include of . Remove - NOCOMATTRIBUTE, as setup contains no code which it affects. Remove - includes of and - see later in this log. - (IsWindowsNT): New inline function, a much simpler implementation of - Win32::OS(). - - * win32.cc: Delete. - - * Makefile.am (setup_SOURCES): Remove "win32.cc". - - * AntiVirus.cc (detect), PickPackageLine.cc (PickPackageLine::paint), - * install.c (Installer::installOneSource): - Use IsWindowsNT(), not Win32::OS(). - * main.cc (main): Use IsWindowsNT(), not locally defined iswinnt. - - * PickView.cc (PickView::WindowProc), netio.cc (auth_proc), - * proppage.cc (PropertyPage::DialogProc): - Avoid using obfuscating macros from . - - * archive.cc: Include or #define alloca() in the only file in which - it is used. - - * nio-ie5.h: Include here, where it is actually needed, - rather than in "win32.h" which is included almost everywhere. - - * archive_tar.cc, archive_tar.h, cygpackage.cc, cygpackage.h, - * desktop.cc, find.cc, install.cc, main.cc, mklink2.c, mount.cc, - * script.cc: Use MAX_PATH, not _MAX_PATH. - -2004-12-25 Max Bowsher - - Remove some overcomplications. - - * Makefile.am (setup_SOURCES): Remove FilterVisitor.{cc,h}. - * FilterVisitor.cc, FilterVisitor.h: Delete. - * String++.cc (strmatch, String::matches): Remove. - * String++.h (String::matches): Remove. - * postinstall.cc: Do not include "FilterVisitor.h". - (RunFindVisitor): Exclude items with the extension ".done". - (do_postinstall_thread): Remove overcomplicated exclusion of items - with the extension ".done". - -2004-12-24 Max Bowsher - - * String++.cc, String++.h: Remove unused and incomplete code. - * LogFile.cc (LogFile::log_save): Don't leak memory. - * filemanip.cc, geturl.cc, root.cc, version.cc: - Don't pointlessly create temporary copies strings. - -2004-12-23 Max Bowsher - - * choose.cc (ChooserPage::OnNext): Relegate some overly verbose - logging to an #ifdef DEBUG section. - * geturl.h (dismiss_url_status_dialog): Remove stale function - declaration, for which there is no definition. - * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): - Motivated by the recent unexplained hang bug, add some extra logging. - -2004-11-22 Max Bowsher - - * MD5++.cc, MD5++.h: Remove this class. - * csu_util/MD5Sum.cc, csu_util/MD5Sum.h: New more complete MD5 class. - * Makefile.am (setup_SOURCES): Adjust to new files. - * download.cc (validateCachedPackage): Simplify, using the new class. - * install.cc (md5_one): Ditto. - * package_source.h (packagesource::md5): Change to be an object of the - new class. - -2004-11-22 Max Bowsher - - * main.cc (main): Fix bug in one of the 2004-11-19 commits. - Avoid referring to the theLog pointer before it is set. - -2004-11-20 Max Bowsher - - * res.rc (IDD_SOURCE): Clarify the radio-button option descriptions. - Re-layout the radio buttons. - -2004-11-20 Max Bowsher - - Repair the broken detection of wrongly-sized package files. - - * download.cc (validateCachedPackage): Make static, since not used - elsewhere. Improve logging. Migrate file-size tests to here, alongside - the MD5 tests. - (check_for_cached): Remove broken testing of file-size, now covered by - the above. Code cleanups. - -2004-11-19 Max Bowsher - - * package_version.cc (dumpAndList): Make dependencies much more - readable in full log output. - -2004-11-19 Max Bowsher - - * proppage.cc (PropertyPage::DialogProc): Wrap in a TOPLEVEL_CATCH - block, since allowing exceptions to unwind into the guts of Windows is - quite disasterous. - -2004-11-19 Max Bowsher - - * main.cc (main): Move option parsing code earlier - it must execute - before any significant object creations, which might test options in - their initialization. - -2004-11-19 Max Bowsher - - * main.cc (main): Remove some junk code - either commented out, or - contained within unreachable preprocessor conditional sections. - -2004-11-19 Max Bowsher - - * install.cc (Installer::installOneSource): Avoid leaking the open - file handles of every tarball that is installed. - -2004-11-19 Max Bowsher - - * package_source.h (packagesource::Canonical, packagesource::Base) - (packagesource::Filename): Add "const" specification to accessor - methods. - -2004-11-18 Max Bowsher - - * archive.h (archive::~archive): Define a pure virtual destructor to - enforce the abstract nature of this class. - * archive.cc (archive::~archive): Pure virtual destructors require an - implementation! Add one. - * io_stream.h (io_stream::destroyed): Remove this severely - brain-damaged implementation of a weakly-enforced abstract class. - The pure virtual destructor was strongly enforcing the abstract nature - anyway. - * io_stream.cc (io_stream::~io_stream): Empty out horribly pointless - code from the pure virtual destructor. - * archive_tar.cc (archive_tar::~archive_tar): Remove all - reference to the removed "destroyed" member. - * archive_tar_file.cc (archive_tar_file::~archive_tar_file): Ditto. - * compress_bz.cc (compress_bz::~compress_bz): Ditto. - * compress_gz.cc (compress_gz::~compress_gz): Ditto. - * io_stream_cygfile.cc (io_stream_cygfile::~io_stream_cygfile): Ditto. - * io_stream_file.cc (io_stream_file::~io_stream_file): Ditto. - * io_stream_memory.cc (io_stream_memory::~io_stream_memory): Ditto. - -2004-11-17 Max Bowsher - - * mount.cc (create_mount): Fix operator precedence error introduced in - first 2004-11-11 commit - warned of by gcc 3.3.3 but not 3.4.1 ! - -2004-11-13 Max Bowsher - - Miscellaneous cleanup. - - * geturl.cc (getUrlToStream): Make static. - * geturl.h (getUrlToStream): Remove declaration. - - * geturl.cc, geturl.h, netio.cc, netio.h, nio-ftp.cc, nio-ftp.h, - nio-http.cc, nio-http.h: - Remove unused "allow_ftp_auth" flag throughout. - -2004-11-11 Max Bowsher - - * libmd5-rfc: New directory, to hold code imported from the libmd5-rfc - project in a clearly delineated fashion. - * libmd5-rfc/README: New file. - * md5.c, md5.h: Delete... - * libmd5-rfc/md5.c, libmd5-rfc/md5.h: ...and replace with pristine - versions from upstream (only change is restoration of upstream CVS - keyword expansions). - * libmd5-rfc/md5main.c: New file. - * Makefile.ami (setup_SOURCES): Edit file paths. - * download.cc, install.cc: Edit include paths. - -2004-11-11 Max Bowsher - - * dialog.cc (fatal): Make capable of handling a passed-in error code, - as an alternative to calling GetLastError(). - * dialog.h (fatal): Adjust prototype as above. - * mount.cc (create_mount): Use the above to correctly report errors. - -2004-10-28 Max Bowsher - - * LogFile.cc (LogFile::getFileName), splash.cc (SplashPage::Create), - threebar.cc (ThreeBarProgressPage::SetBar2): - Migrate from cistring and string resources - to String and string literals. - * localdir.cc: Remove unneeded #include of "cistring.h". - * cistring.cc, cistring.h: Remove this now-redundant class. - * Makefile.am: Remove mention of the above removed files. - * res.rc, resource.h: Remove obsolete strings and IDs, both those - obseleted by and obselete before the above changes. - * res.rc: Merge the 2 adjacent STRINGTABLEs. - -2004-10-27 Max Bowsher - - * Makefile.am (setup_SOURCES): Add "RECTWrapper.h". It was missing. - -2004-10-25 Bas van Gompel - - * package_source.cc (packagesource::set_canonical): - Fix one-off in 'base' when ini is in same dir as package. - -2004-10-25 Max Bowsher - - * main.cc (next_dialog): Remove this legacy global variable. - * download.cc (do_download_thread): Return a value instead of setting - a global variable, then returning void. - (do_download_reflector): Look for the next dialog code as a return - value instead of a global variable. - -2004-10-25 Max Bowsher - - * port.h: Remove this redundant file - all contained definitions are - duplicated in "win32.h". - * Makefile.am, UserSetting.cc, UserSettings.cc, archive.cc, - archive_tar.cc, archive_tar_file.cc, choose.cc, compress.cc, - compress_bz.cc, compress_gz.cc, desktop.cc, find.cc, fromcwd.cc, - iniparse.y, install.cc, io_stream_cygfile.cc, io_stream_file.cc, - main.cc, netio.cc, site.cc, version.cc: - Remove all references to "port.h". - -2004-10-25 Max Bowsher - - Fix compilation with w32api 3.1 and later. - - * ControlAdjuster.h, RECTWrapper.h, cistring.h, propsheet.h, - window.cc, window.h: Include "win32.h" not directly. - * win32.h (WINBASEAPI): Define to empty string. - -2004-09-13 Igor Pechtchanski - - * script.cc (run): Kill stdin when running scripts. - -2004-09-01 Max Bowsher - - * Makefile.am: Oops. Unwanted keyword expansion ate the code of the - previous commit. Restore the code, escaped to not look like a keyword. - -2004-09-01 Max Bowsher - - * Makefile.am: Simplify the shell incantation for getting the revision - of ChangeLog from grep-and-sed to just sed. - -2004-08-31 Max Bowsher - - Attain GCC 3.4 compatibility. - - * PackageSpecification.h (PackageSpecification): Make the - unnecessarily private copy-constructor public. - -2004-08-30 Max Bowsher - - Rework the implementation of not including -Werror for specific files, - to a way that does not require hardcoding modified automake output back - into its input. - - * Makefile.am (AM_CXXFLAGS, BASECXXFLAGS): Seperate out -Werror. - (autoload.o): Drop this rule, -finline-functions is no longer required - and -Werror is acceptable here now we have __attribute__ ((used)). - (WARNONLY_CFLAGS, inilex.o): Drop these. - (EXTRA_PROGRAMS): Add a fake "warnonly" program. - (warnonly_CXXFLAGS): Set to the $(BASECXXFLAGS). - (warnonly_SOURCES): Set to "inilex.cc". - (EXTRA_setup_SOURCES): Set to $(warnonly_SOURCES). - (setup_SOURCES): Remove "inilex.cc". - (setup_LDADD): Add "warnonly-inilex.o". - -2004-08-30 Max Bowsher - - Move closer to GCC 3.4 compatibility. - - * IOStreamProvider.h, io_stream_cygfile.cc, io_stream_cygfile.h, - io_stream_file.cc: Do not incorrectly use "enum" after it has been - hidden inside a typedef. - * archive.h: In "virtual func() = 0;", the 0 is a language construct, - not some symbol that might evaluate to 0, and gcc 3.4 enforces this. - * autoload.c (DllInfo.name): Silence warning by making const. - (DLL, autoload_common): __attribute__ ((used)) is now required to - prevent gcc being over-eager in it's optimization, and removing these - seemingly-unused (used only from assembly) functions. - Silences some warnings, too. - * Makefile.am (AM_CXXFLAGS, AM_CFLAGS): The options - -Wstrict-prototypes -Wmissing-prototypes do not apply to C++ and - g++ 3.4 complains about them. - -2004-08-29 Max Bowsher - - * Exception.h: Reformatting, #include more, remove incorrect and - less-than-useful comments. - (TOPLEVEL_CATCH): New preprocessor macro. - - * LogFile.cc (LogFile::operator()): Throw an exception object, not a - char* string. - - Wrap the top-level of each thread (including the main thread) in a - try...catch block, in order to display a useful error message if an - exception is not caught. - * download.cc (do_download_reflector): Here ... - * ini.cc (do_ini_thread_reflector): ... and here ... - * install.cc (do_install_reflector: ... and here ... - * main.cc (main): ... and here ... - * postinstall.cc (do_postinstall_thread): ... and here ... - * site.cc (do_download_site_info_thread): ... and here! - - * msg.h: Include a missing header requirement. - * res.rc (IDS_UNCAUGHT_EXCEPTION, IDS_UNCAUGHT_EXCEPTION_WITH_ERRNO): - New strings. - * resource.h (IDS_UNCAUGHT_EXCEPTION) - (IDS_UNCAUGHT_EXCEPTION_WITH_ERRNO): New IDs. - -2004-08-28 Max Bowsher - - * res.rc (IDS_WINDOW_INIT_BADMSG): New string. - * resource.h (IDS_WINDOW_INIT_BADMSG): New string resource ID. - * window.cc (Window::FirstWindowProcReflector): Convert an abort() - into a descriptive error. - -2004-08-24 Max Bowsher - - The Doug Lee replacement malloc was no longer hooked up with the - buildsystem in any way. Pruning the remaining unused file. - - * dlmalloc.c: Removed. - -2004-08-18 Max Bowsher - - "librsync is not wire-compatible with rsync 2.x, and is not likely - to be in the future." -- librsync.sourceforge.net - - So, it is of no practical use to setup. Therefore, removing all - rsync related files and code from setup. - - * rsync: Directory removed. - * Makefile.am: Remove rsync support from the buildsystem. - * configure.in: Ditto. - * README: Since it seems vanishingly unlikely that it will ever happen, - remove rsync support from the wishlist. - * io_stream_rsync.cc: Remove. - * io_stream_rsync.h: Remove. - -2004-04-25 Robert Collins - - * package_meta.cc (packagemeta::set_requirements): fix problem with - libpcre0 not being pulled in automatically. - -2004-04-25 Robert Collins - - * IniDBBuilderPackage.cc (dumpAndList): - Move out to packageversion for reuse. - * package_meta.cc (packagemeta::logAllVersions): log dependencies. - * package_version.cc (packageversion::depends): - provide a const accessor. - (dumpAndList): Moved from INIDBBuilder.cc. - * package_version.h: declare new method and function. - -2003-12-21 Robert Collins - - * main.cc (main): Update to head libgetopt++ syntax. - -2003-11-2 Robert Collins - - * ControlAdjuster.h (ControlPosition::CP_MIDDLE): Rename to - CP_CENTERED. - * ControlAdjuster.cc: Ditto. - -2003-10-31 Frank Richter - - * localdir.cc (OnNext): When SelectDirectoryA() fails, display a - message with the error returned from the system instead of just - 'could not change dir'. Also, offer the user to 'Retry', 'Ignore' the - error or 'Abort' the directory change. - -2003-10-31 Frank Richter - - * propsheet.cc (PropSheetWndProc): Don't do child resizing if a the - window gets minimized. Otherwise some glitches (e.g. wrong child - sizes) occur. - Added support for WM_GETMINMAXINFO. Prevents the property sheet from - getting smaller than the original size. - -2003-11-1 Robert Collins - - * ControlAdjuster.h (ControlDimension): Add. - (ControlAdjuster): Factor adjust functionality into ControlInfo. - * ControlAdjuster.cc (ControlAdjuster::adjust): Ditto. - (ControlAdjuster::ControlInfo::adjust): Ditto. - -2003-10-31 Igor Pechtchanski - - * ControlAdjuster.h (ControlPosition): New enum type. - (ControlInfo::horizontalPos, ControlInfo::verticalPos): New - instance variables. - (ControlInfo::anchorLeft, ControlInfo::anchorTop, - ControlInfo::anchorRight, ControlInfo::anchorBottom): Remove. - * ControlAdjuster.cc (ControlAdjuster::AdjustControls): Switch to - using position specifiers instead of anchors. - * choose.cc (ChooserControlsInfo): Ditto. - * proppage.cc (DefaultControlsInfo): Ditto. - * propsheet.cc (PropSheetControlsInfo): Ditto. - * site.cc (SiteControlsInfo): Position specifiers for site - selection dialog controls. - * threebar.cc (ThreeBarControlsInfo): Position specifiers for - progress dialog controls. - -2003-10-27 Ralf Habacker - - * main.cc (HelpOption): New instance. - (main): Added help command line option handling. - * localdir.cc (LocalDirOption): New instance. - (LocalDirSetting::load): allow setting localdir from command line. - -2003-10-16 Frank Richter - - * ControlAdjuster.cc: New file, helper to move elements of a dialog - along when the it's resized. - * ControlAdjuster.h: Ditto. - * Makefile.am: Add new source files. - * proppage.cc (PropertyPage::DialogProc): Adjust some common - controls (Cygwin icon top right, separator below) when a page is - resized. - (PropertyPage::PropertyPage): Dito. - * propsheet.cc (IsDialog): New. Test whether a window is a dialog. - Used internally by resize logic. - (EnumPages): New. Used internally by resize logic: resizes the - property sheet's individual pages. - (PropSheetWndProc): New. Hook for the propery sheet window proc. - (PropSheetProc): More style tweaks, add maximize box and thick border - as well. Hook into the property sheet's window proc. - (PropSheet::AdjustPageSize): New. Adjust the metrics of a single page - to fit nicely into the property sheet. Part of resize logic. - * res.rc (All dialogs): The top-right Cygwin icon and top separator - now have IDs distinct from IDC_STATIC, so their metrics can be - adjusted upon a resize. Also, all those Cygwin icons are at the exact - same spot now. - * choose.cc (ChooserPage::ChooserPage): Now the controls on the - chooser page move/size when the page size is changed. - * choose.h: Dito. - -2003-10-23 Jerry D. Hedden - - * ConnectionSetting.cc (ConnectionSetting::load): Load proxysettings. - (ConnectionSetting::save): Save proxy settings. - -2003-10-07 Robert Collins - - * proppage.h (PropertyPage::wantsActivation): const correctness fix. - -2003-08-19 Max Bowsher - - * win32.h: Define NOMINMAX only if not already defined - because - libstdc++-v3 3.3.1 defines NOMINMAX itself. - -2003-08-03 Max Bowsher - - * ChangeLog: Fix broken line-wrapping throughout. Clarify that - "Ran automake" in 2003-07-26 entry was in bz2lib and zlib subdirs. - -2003-08-03 Gary R. Van Sickle - - * propsheet.cc (Copyright): Update copyright dates. - (PropSheet::PropSheet): Remove NumPropPages initialization. - (PropSheet::CreatePages): Use PropertyPages.size() instead of - NumPropPages. - (PropSheet::Create): Ditto. - (PropSheet::AddPage): Change to use new PropertyPages std::vector<>. - * propsheet.h (Copyright): Update copyright dates. - (File Scope): Include . - (PropSheet::PropertyPages): Change from array to vector<>. - (PropSheet::NumPropPages): Remove. - -2003-08-02 Gary R. Van Sickle - - Changes modified by Max Bowsher - * splash.cc (Copyright): Update copyright dates. - (SplashPage::OnInit): Remove call to SetDlgItemFont(). Now handled in - base class. - * proppage.h (PropertyPage::setTitleFont): Declare. - * proppage.cc (Copyright): Update copyright dates. - (PropertyPage::DialogProc WM_INITDIALOG): Move all font setting code, - including that from splash.cc into new function... - (PropertyPage::setTitleFont): Create, using moved code. Change font - "MS Sans Serif" to "MS Shell Dlg" in line with recent res.rc change. - Set font for IDC_STATIC_WELCOME_TITLE here, to allow easy re-use of - style for future "Finished" page. - -2003-08-02 Gary R. Van Sickle - - * propsheet.cc: Include "resource.h". - (PropSheet::Create): Add the Cygwin icon in the left of the title bar. - -2003-08-01 Gary R. Van Sickle - - * proppage.cc (PropertyPage::FirstDialogProcReflector): Modify comment. - -2003-08-01 Gary R. Van Sickle - - * proppage.h (Copyright): Update copyright dates. - (PropertyPage): Document OnNext and OnBack. - -2003-07-31 Gary R. Van Sickle - - * proppage.cc (PropertyPage::Create): Use more self-documenting - MAKEINTRESOURCE() instead of cast to LPCSTR. - -2003-07-31 Robert Collins - - * README: Mark completed items complete. - -2003-07-31 Pierre Humblet - - * main.cc (set_default_sec): Set token owner from token user. - Always try to set the token primary group to Users or Admins. - -2003-07-30 Igor Pechtchanski - - * String++.h (String::replace): New instance functions. - * String++.cc (String::replace): Implement. - * filemanip.cc (backslash): Change to use String::replace. - * desktop.cc (make_cygwin_bat): Escape '%' in path. - -2003-07-30 Igor Pechtchanski - - * String++.h (TOSTRING): New macro. - * UserSettings.cc (UserSettings::deRegisterSetting): Fix - erroneous __LINE__/__FILE__ usage. - * download.cc (validateCachedPackage, check_for_cached): Ditto. - * geturl.cc (getUrlToStream): Ditto. - * install.cc (md5_one): Ditto. - -2003-07-30 Max Bowsher - - * ini.cc (do_ini_thread): Return bool. - (do_ini_thread_reflector): Put returned bool in lParam. - * threebar.cc (WM_APP_SETUP_INI_DOWNLOAD_COMPLETE): Rework for new - meaning of lParam. Replace erroneous use of do_fromcwd with - SetActivePageByID (IDD_SOURCE). - -2003-07-30 Robert Collins - - * ConnectionSetting.cc: New file, persist connection type selection. - * ConnectionSetting.h: Ditto. - * net.cc: Hold a ConnectionSetting instance to trigger the logic. - (NetPage::OnInit): Don't force net_method to any value. - * Makefile.am: Add new source files. - -2003-07-30 Robert Collins - - * SourceSetting.cc: New file, persist source selection. - * SourceSetting.h: Ditto. - * source.cc: Hold a Source setting instance to trigger the logic. - * Makefile.am: Add new source files. - -2003-07-30 Robert Collins - - * UserSettings.h (UserSettings::settingFileForLoad): Extracted method - from LocalDirSetting::load(). - * UserSettings.cc (UserSettings::settingFileForLoad): Ditto. - * UserSettings.h (UserSettings::settingFileForSave): Extracted method - from LocalDirSetting::save(). - * UserSettings.cc (UserSettings::settingFileForSave): Ditto. - * localdir.cc (LocalDirSetting::load): Extract location logic to - UserSettings. - (LocalDirSetting::save): Extract location logic to UserSettings. - * site.cc (SiteSetting::getSavedSites): Use - UserSettings::settingFileForLoad. - (SiteSetting::save): Use UserSettings::settingFileForSave. - -2003-07-30 Robert Collins - - * PickView.cc: Adjust ::GetClientRect(..) to the inherited one - throughout. - -2003-07-29 Max Bowsher - - Based on a patch by Gary R. Van Sickle . - * AntiVirus.cc (AntiVirusPage::wantsActivation): Define. - * AntiVirus.h (AntiVirusPage::wantsActivation): Declare. - * localdir.cc (LocalDirPage::OnBack): Remove logic subsumed by - RootPage::wantsActivation. - * proppage.cc (PropertyPage::DialogProc): Call wantsActivation(), - and skip to next page in sequence if activation is refused. - * proppage.h (PropertyPage::wantsActivation): Default implementation. - * root.cc (RootPage::wantsActivation): Define. - * root.h (RootPage::wantsActivation): Declare. - * source.cc: Don't include "AntiVirus.h". - (SourcePage::OnNext): Remove logic subsumed by - RootPage::wantsActivation. - (SourcePage::OnBack): Remove logic subsumed by - AntiVirusPage::wantsActivation. - * splash.cc: Don't include "AntiVirus.h" or "dialog.h". - (SplashPage::OnNext): Remove - subsumed by - AntiVirusPage::wantsActivation. - * splash.h (SplashPage::OnNext): Remove declaration. - -2003-07-29 Robert Collins - - * PickView.h (PickView::refresh): New method. - * PickView.cc (PickView::refresh): Extracted from various - ChooserPage callers. - * choose.cc: Use PickView::refresh wherever possible. - -2003-07-29 Robert Collins - - * choose.h (ChooserPage::createListView): Remove last parameter. - (ChooserPage::getDefaultListViewSize): Extracted method. - * choose.cc (ChooserPage::createListView): Remove last parameter. - (ChooserPage::getDefaultListViewSize): Extracted method. - -2003-07-29 Robert Collins - - * choose.cc (ChooserPage::createListView): Remove unneeded - parameter. - * choose.h: Ditto. - -2003-07-29 Gary R. Van Sickle - - * dialog.h (do_fromcwd): Change function declaration. - * fromcwd.cc (do_fromcwd): Change return type to bool. Eliminate - use of next_dialog, return true or false instead. - * localdir.cc (LocalDirPage::OnNext): Use do_fromcwd()'s return - value instead of next_dialog. - -2003-07-29 Robert Collins - - * package_db.h (packagedb::fillMissingCategory): Move from ChooserPage. - * choose.h (ChooserPage::fillMissingCategory): Delete. - * package_db.cc (packagedb::fillMissingCategory): Move from ChooserPage. - * choose.cc (ChooserPage::fillMissingCategory): Delete and adjust - callers. - -2003-07-29 Robert Collins - - * PickView.h (CATEGORY_EXPANDED): Move from choose.h - (CATEGORY_COLLAPSED): Move from choose.cc. - (PickView::setViewMode): Move from ChooserPage. - * choose.h (CATEGORY_EXPANDED): Delete. - (CATEGORY_COLLAPSED): Delete. - (ChooserPage::setViewMode): Delete. - * PickView.cc (PickView::setViewMode): Move from ChooserPage. - * chooser.cc (ChooserPage::setViewMode): Delete, and adjust callers - throughout. - -2003-07-28 Gary R. Van Sickle - - * AntiVirus.cc (AntiVirusPage::OnNext): Do not explicitly specify the - page to display next, since it follows in the default page ordering - anyway. - -2003-07-28 Max Bowsher - - * dialog.h: (NEXT): Remove obsolete macro. - * site.cc (save_dialog): Remove use of NEXT(), and non-functional - unnecessary error handler. - -2003-07-28 Robert Collins - - * package_meta.h (packagemeta::addToCategoryAll): Declare. - * package_meta.cc (packagemeta::addToCategoryAll): New method, - separated to allow clear iteration. - * choose.cc (ChooserPage::fillMissingCategory): BUGFIX: "all" is - meant to be added unconditionally. - -2003-07-27 Robert Collins - - * Generic.h: New file, home for generic programming tools. - (visit_if): Move here from package_meta.cc. - Adjust to be fully parameterised. - * package_meta.h (packagemeta::hasNoCategories): Query for generic - programming. - (packagemeta::setDefaultCategories): set categories for packages - with none. - * package_meta.cc: Move visit_if out. Adjust users for - full paramterised operation. - (packagemeta::hasNoCategories): Implement. - (packagemeta::setDefaultCategories): Implement. - * choose.cc (ChooserPage::fillMissingCategory): Use visit_if to - reduce duplicate code. - (ChooserPage::setExistence): Delete. - * choose.h (ChooserPage::setExistence): Rename to - packagedb::setExistence. - * package_db.h (packagedb::setExistence): Declare. - * package_db.cc (packagedb::setExistence): Copy from choose.cc - -2003-07-27 Robert Collins - - * localdir.h (LocalDirPage::OnInit): Remove. - * localdir.cc (LocalDirPage::OnInit): Move to LocalDirSetting - ::load(). - (LocalDirSetting::load): Copied from LocalDirPage::OnInit. - * site.h (SitePage::OnInit): Remove. - (SitePage::getSavedSites): New member, replaces get_saved_sites. - (SitePage::registerSavedSite): New member, replaces - register_saved_site. - * site.cc (SitePage::OnInit): Move to SiteSetting::load(). - (SiteSetting::load): Copied from SitePage::OnInit. - (SitePage::getSavedSites): Renamed from get_saved_sites. - (SitePage::registerSavedSite): Renamed from register_saved_site. - (do_download_site_info_thread): Don't look at the list size for - determining if the download was successful. - -2003-07-27 Robert Collins - - * choose.h (ChooserPage::setViewMode): Remove HWND from - signature. - (ChooserPage::defaultTrust): Ditto. - Move to PickView. - (ChooserPage::ifChecked): Use Window helper function - IsButtonChecked. - * choose.cc (ChooserPage::setViewMode): Use chooser->GetHWND() - throughout. - Update all callers with new signature. - (ChooserPage::defaultTrust): Ditto. - Move to PickView. - * PickView.h (PickView::defaultTrust): Declare. - * PickView.cc (PickView::defaultTrust): Copy from chooser.cc. - -2003-07-27 Robert Collins - - * PickView.h (PickView::lv): Eliminate. - * PickView.cc (PickView::init): Replace use of lv with - GetHWND(). - (PickView::list_click): Ditto. - * choose.h (ChooserPage::lv): Eliminate. - * choose.cc: Replace lv with chooser->GetHWND() - throughout. - -2003-07-27 Robert Collins - - * PickView.h (PickView::chooser): Eliminate. - (PickView::list_vscroll): Make non-static. - (PickView::list_hscroll): Ditto. - (PickView::list_click): Ditto. - (PickView::paint): Ditto. - * PickView.cc (PickView::list_vscroll): Eliminate use - of PickView::chooser. - (PickView::list_hscroll): Ditto. - (PickView::list_click): Ditto. - (PickView::paint): Ditto. - * choose.cc (Chooser::createListView): Eliminate use - of PickView::chooser. - -2003-07-27 Robert Collins - - * PickView.h (PickView): Inherit from Window. - (PickView::RegisterWindows): Move from ChooserPage. - (PickView::listview_proc): Likewise. - (PickView::paint): Ditto. - (PickView::list_click): Ditto. - (PickView::list_hscroll): Ditto. - (PickView::list_vscroll): Ditto. - (PickView::lv): Ditto. - (PickView::chooser): Ditto. - (PickView::Create): Override Windows::Create as we migrate. - (PickView::registerWindowClass): Renamed RegisterWindows. - (PickView::WindowClassAtom): Prevent double registration. - (PickView::init): Declare. - * PickView.cc: Adjust for new inheritance. - (PickView::RegisterWindows): Move from ChooserPage. - (PickView::listview_proc): Likewise. - (PickView::paint): Ditto. - (PickView::list_click): Ditto. - (PickView::list_hscroll): Ditto. - (PickView::list_vscroll): Ditto. - (PickView::lv): Ditto. - (PickView::chooser): Ditto. - (PickView::Create): Introduce stub. - (PickView::RegisterWindows): Rename - (PickView::init): Extracted from constructor to allow - reordering. - * chooser.h (ChooserPage::registerWindows): Rename to - PickView::RegisterWindows. - (ChooserPage::listview_proc): Likewise. - (ChooserPage::paint): Ditto. - (ChooserPage::list_click): Ditto. - (ChooserPage::list_hscroll): Ditto. - (ChooserPage::list_vscroll): Ditto. - (ChooserPage::lv): Duplicate into PickView, observe - as non-static. - (ChooserPage::chooser): Ditto. - * chooser.cc (ChooserPage::registerWindows): Delete. - (ChooserPage::listview_proc): Ditto. - (ChooserPage::paint): Ditto. - (ChooserPage::list_click): Ditto. - (ChooserPage::list_hscroll): Ditto. - (ChooserPage::list_vscroll): Ditto. - (ChooserPage::createListView): Create() on PickView. - * window.h (Window::RegisterWindowClass): Make virtual - to allow Create to become a Template Method, and rename - to registerWindowClass as it's not static. - * window.cc (Window::registerWindowClass): Ditto. - (Window::FirstWindowProcReflector): BUGFIX: Set window - handle to prevent races with the window procedure. - -2003-07-27 Robert Collins - - * choose.cc (set_view_mode): Rename to ChooserPage::setViewMode. - (default_trust): Rename to ChooserPage::defaultTrust. - (fill_missing_category): Rename to ChooserPage::fillMissingCategory. - (set_existence): Rename to ChooserPage::setExistence. - (register_windows): Rename to ChooserPage::registerWindows. - (listview_proc): Rename to ChooserPage::listview_proc. - (paint): Rename to ChooserPage::paint. - (list_click): Rename to ChooserPage::list_click. - (list_hscroll): Rename to ChooserPage::list_hscroll. - (list_vscroll): Rename to ChooserPage::list_vscroll. - (lv): Rename to ChooserPage::lv. - (chooser): Rename to ChooserPage::chooser. - * choose.h (ChooserPage::setViewMode): Declare. - (ChooserPage::defaultTrust): Declare. - (ChooserPage::fillMissingCategory): Declare. - (ChooserPage::setExistence): Declare. - (ChooserPage::registerWindows): Declare. - (ChooserPage::listview_proc): Declare. - (ChooserPage::paint): Declare. - (ChooserPage::list_click): Declare. - (ChooserPage::list_hscroll): Declare. - (ChooserPage::list_vscroll): Declare. - (ChooserPage::lv): Declare. - (ChooserPage::chooser): Declare. - -2003-07-27 Robert Collins - - * choose.cc (create_listview): Use for_each instead of explicit - iteration. - (create_listview): Rename to ChooserPage::createListview. - * package_meta.h (packagemeta::set_requirements): Explicitly separate - the 1 and 2 parameter versions. - -2003-07-27 Robert Collins - - * String++.h (String::operator !=): Declare for char * and String. - * String++.cc (String::operator !=): Implement. - * package_meta.cc(StringConcatenator): Move above all users. - (_visit_if): Predicate support for visitors. - (packagemeta::getReadableCategoryList): Refactor to use - StringConcatenator with a predicate. - * choose.h: Remove unneeded c++ guards. - -2003-07-26 Robert Collins - - * choose.cc (scan_downloaded_files): Rename to - packagemeta::ScanDownloadedFiles. - (scanAVersion): Rename to packageversion::scan. - (GetParentRect): Rename to ChooserPage::getParentRect. - * choose.h (ChooserPage::getParentRect): Declare. - * package_meta.h (packagemeta::ScanDownloadedFiles): Declare. - * package_version.h (packageversion::scan): Declare. - * package_version.cc (packageversion::scan): Move from choose.cc - * package_meta.cc (packagemeta::ScanDownloadedFiles): Move from - choose.cc - -2003-07-26 Robert Collins - - * choose.cc (ChooserPage::OnNext): log before starting activity threads. - (ChooserPage::OnInit): Remove temporary variable frame. - (ChooserPage::setPrompt): Extract method from OnInit. - (choose_inst_text): Remove unused variable. - * choose.h(ChooserPage::setPrompt): Declare - * res.rc (IDD_CHOOSE): Bugfix: the chooser was setting a non-present - caption. - -2003-07-26 Robert Collins - - Remove package specific code from choose.cc. - Update copyrights where appropriate. - * choose.cc(ChooserPage::OnNext): Extract logging to - packagemeta::logSelectionStatus. - * package_meta.cc(packagemeta::logSelectionStatus): Extract from - ChooserPage::OnNext. - (StringConcatenator): helper for logSelectionStatus. - (action_caption): Make const. - * package_meta.h(packagemeta): Declare logSelectionStatus. - (packagemeta::action_caption): Make const. - * package_version.cc(packageversion::sourcePackage): Make const. - * package_version.h(packageversion::sourcePackage): Make const. - -2003-07-26 Robert Collins - - * choose.cc: Update copyright. - (ChooserPage::keepClicked): Extracted from OnMessageCmd. - (ChooserPage::changeTrust): Ditto. - * choose.h (ChooserPage): Declare keepClicked and changeTrust. - (ChooserPage::ifChecked): Extracted from OnMessageCmd. - * package_meta.h (SetRequirement): Adapter for visiting package - collections. - -2003-07-26 Max Bowsher - - * tests/.cvsignore: New file, listing Makefile.in. - -2003-07-26 Robert Collins - - Save used local cache dir from initial run of setup, so the user doesn't - need to retype it. - * localdir.h (LocalDirSetting): UserSetting class for the local cache - dir. - * localdir.cc (LocalDirSetting::save): Replace save_local_dir, and - update callers. - -2003-07-26 Robert Collins - - Save used site from initial run of setup, so the user doesn't need to - retype it. - * main.cc (main): Load and save all user settings. - * site.cc (SiteSetting::save): Migrate logic from save_site_url. - (SitePage::OnNext): Use ChosenSites.save() to remove uneeded - save_site_url call. - (save_site_url): Delete. - * site.h (save_site_url): Remove declaration. - * .cvsignore: Update autoconf generated files. - -2003-07-26 Robert Collins - - * tests/Makefile.am: Driver for test suite. - * tests/UserSettingTest.cc: Test UserSetting interface. - * tests/UserSettingsTest.cc: Test UserSettings interface. - * Makefile.am: Add the tests dir to recurse into. - * configure.in: Ditto. - * UserSetting.h: Add load and save methods to allow global - serialisation. - Add explicit copy and assignment operators to prevent synthetics. - Make the constructor protected to prevent direct instantiation. - * UserSettings.h (UserSettings::loadAllSettings): New method. - (UserSettings::savedAllSettings): New method. - * UserSettings.cc: Implement new methods. - * site.cc: Implement stubs for new required UserSetting methods. - * site.h (ChosenSite): Ditto. - * bz2lib/: Ran automake. - * zlib/: Ran automake. - -2003-07-23 Max Bowsher - - * desktop.cc (DesktopSetupPage::OnBack): Remove obsolete use of NEXT(). - * root.cc (RootPage::OnNext): Ditto. - (RootPage::OnBack): Ditto. - * install.cc (do_install_thread): Remove obsolete use of next_dialog. - * main.cc (main): Ditto. - * postinstall.cc (do_postinstall_thread): Ditto. - -2003-07-23 Max Bowsher - - * dialog.h (do_choose, do_desktop, do_local_dir, do_net, do_other) - (do_root, do_site, do_source, do_splash): Remove declarations, since - these functions no longer exist. - -2003-07-23 Gary R. Van Sickle - - * choose.cc (initialized): Remove obsolete file scope variable. - -2003-07-18 Max Bowsher - - * res.rc: Make caption of every dialog page begin with "Cygwin Setup". - This aids recognition when minimized. - Prompted by Gary R. Van Sickle . - -2003-07-10 Jeremy White - - * mount.cc, root.cc, site.cc: Make StringOptions required, - thereby making --longopt behave as a newbie would expect. - -2003-07-08 Max Bowsher - - * LogFile.h, cistring.h, dialog.h, diskfull.h, filemanip.h, geturl.h, - hash.h, log.h, mkdir.h, mklink2.h, mount.h, msg.h, netio.h, nio-file.h, - nio-ftp.h, nio-http.h, nio-ie5.h, port.h, simpsock.h, state.h, - version.h: Add inclusion guard. - * root.h: Standardize naming of inclusion guard. - -2003-06-23 Max Bowsher - - * AntiVirus.h, Exception.h, FilterVisitor.h, FindVisitor.h, - IOStreamProvider.h, IniDBBuilder.h, IniDBBuilderPackage.h, - IniParseFeedback.h, IniParseFindVisitor.h, LogSingleton.h, MD5++.h, - PackageSpecification.h, PackageTrust.h, PickCategoryLine.h, PickLine.h, - PickPackageLine.h, PickView.h, RECTWrapper.h, ScanFindVisitor.h, - String++.h, UserSetting.h, UserSettings.h, archive.h, archive_tar.h, - category.h, choose.h, compress.h, compress_bz.h, compress_gz.h, - cygpackage.h, desktop.h, download.h, find.h, ini.h, io_stream.h, - io_stream_cygfile.h, io_stream_file.h, io_stream_memory.h, - io_stream_rsync.h, localdir.h, net.h, package_db.h, package_meta.h, - package_source.h, package_version.h, proppage.h, propsheet.h, script.h, - site.h, source.h, splash.h, threebar.h, win32.h, window.h: - Standardize naming and placement of inclusion guards. - -2003-06-22 Benjamin Riefenstahl - - * res.rc (all dialogs): Change font from "MS Sans Serif" to - "MS Shell Dlg". - -2003-06-22 Max Bowsher - - * Makefile.am: Clarify comment. - Derive AM_CFLAGS from AM_CXXFLAGS, rather than the other way around. - (AM_CXXFLAGS): Remove -Wmissing-declarations - it is a C-only warning. - (AM_CFLAGS): Add -Winline, and -Wmissing-declarations. - -2003-06-22 Max Bowsher - - * rfc1738.cc (rfc1738_do_escape): Eliminate redundant conditional. - -2003-06-05 Gary R. Van Sickle - - * window.h (SETUP_WINDOW_H): Rename multi-include guard. - (Copyright): Update. - (RECTWrapper): New forward declaration. - (Window::Create): Move. - (Window::MoveWindow): New overload declaration. - * window.cc: (RECTWrapper.h) Include. - (Copyright): Update. - (Window::FirstWindowProcReflector): Use reinterpret_cast<> instead - of C-style casts. - (Window::MoveWindow): New overload. - -2003-05-31 Max Bowsher - - * res.rc: Resize title controls to fully fill available width. - -2003-05-07 Gary R. Van Sickle - - * RECTWrapper.h: New file. - -2003-04-12 Robert Collins - - * script.cc (Script::extension): Extract method from Script::run. - (Script::run): Extract extension generation to Script::extension. - * script.h (Script::extension): Declare. - -2003-04-12 Robert Collins - - * script.cc (run_script): Remove. - (try_run_script): Inline method run_script. - * script.h (run_script): Remove. - -2003-04-12 Robert Collins - - * postinstall.cc (RunScript::operator()): Use new run syntax. - * script.h (Script::run): Eliminate to_log parameter. - * script.cc (Script::run): Ditto. - (run_script): Use new run syntax. - -2003-04-12 Robert Collins - - * script.cc (Script::run): Eliminate temp variable 'f2'. - Rename temp variable 'f2' to 'windowsName' for increased clarity. - -2003-04-12 Robert Collins - - * script.cc (Script::run): Eliminate temp variable 'fname'. - -2003-04-12 Robert Collins - - * script.cc (Script::run): Eliminate temp variable 'dir'. - -2003-04-12 Robert Collins - - * script.cc (run_script): Always pass TRUE to Script::run. - * script.h (run_script): Remove optional to_log parameter. - -2003-04-12 Robert Collins - - * script.cc (run_script): Move functionality into Script. - (Script::run): Absorb run_script. - -2003-04-12 Robert Collins - - * PickCategoryLine.cc (PickCategoryLine::click): Tell packagemeta we - are about to perform a visit. - * PickPackageLine.cc (PickPackageLine::click): Tell packagemeta we - are about to perform a visit. - * package_db.cc (packagedb::markUnVisited): Convenience wrapper - - mark all packages as unvisited. - * package_db.h (packagedb::markUnVisited): Declare. - * package_meta.cc (packagemeta::PrepareForVisit): New static method - to prepare for a loop-free visit. - (packagemeta::packagemeta): Adjust for new member. - (packagemeta::set_requirements): Only visit a node once. - (packagemeta::visited): Get and Set methods for new member visited_. - * package_meta.h (packagemeta::PrepareForVisit): Declare. - (packagemeta::visited): Declare. - (packagemeta::visited_): Declare. - -2003-04-07 Max Bowsher - - * download.cc: Add command line option to suppress MD5 checks. - (validateCachedPackage): Test option and possibly skip. - -2003-04-02 Robert Collins - - Merge in setup-200303-troubleshooting fixes. - -2003-04-02 Robert Collins - - * main.cc (NTSecurity::setDefaultDACL): Reinstate commented code. - (NTSecurity::setDefaultSecurity): Ditto. - -2003-04-02 Robert Collins - - * main.cc (NTSecurity::setDefaultDACL): Use MS calculations for ACL - buffer sizing. - -2003-04-02 Robert Collins - - * main.cc (NTSecurity::setDefaultDACL): Sanity check memory allocation. - -2003-04-02 Robert Collins - - * main.cc (NTSecurity::setDefaultDACL): Adjust commented code for - auto_ptr use. - -2003-04-02 Robert Collins - - * main.cc (NTSecurity::NoteFailedAPI): Helper function. - Use throughout NTSecurity routines. - (NTSecurity::setDefaultDACL): Use dynamic memory for ACL storage. - -2003-04-02 Robert Collins - - * main.cc (NTSecurity::setDefaultDACL): Disable ~ 50% of remaining - active code. - -2003-04-02 Robert Collins - - * main.cc (NTSecurity::GroupInfo): Extract group query code. - (NTSecurity::setDefaultDACL): Disable ~ 50% of code. - -2003-04-02 Robert Collins - - * main.cc (NTSecurity::setDefaultSecurity): Disable ~ 50% of security - code. - -2003-04-01 Robert Collins - - * main.cc (NTSecurity::setDefaultSecurity): Remove double declaration of - sz. User TokenGroupCollection to abstract token searching logic, - eliminate isadmin and isuser temporary variables. - (TokenGroupCollection): New class for querying token group information. - -2003-04-01 Robert Collins - - * main.cc (NTSecurity::setDefaultSecurity): Extract esid initialisation. - Move local variables to just before first use. - SetTokenInformationFailures where being handled inconsistently. - Remove assignments from if statements. - (NTSecurity::esid): Rename to everyOneSID. - (NTSecurity::initialiseEveryOneSID): new method. - (NTSecurity::setDefaultDACL): Extract method for default DACL logic. - -2003-04-01 Robert Collins - - * main.cc (SIDWrapper): Manage SID memory. - (HANDLEWrapper): Likewise for HANDLES. - (NTSecurity): Worker class for set_default_sec(). - (set_default_sec): Move body into NTSecurity::setDefaultSecurity(). - (NTSecurity::setDefaultSecurity): Eliminate goto out: via memory - managing objects. - -2003-04-01 Gary R. Van Sickle - - * cygwin.ico: Added two new resolutions, 64x64 and 72x72. - -2003-03-29 Robert Collins - - * GUIDELINES: New file documenting code guidelines. - -2003-03-26 Max Bowsher - - * .cvsignore: Add cfgaux. - -2003-03-26 Robert Collins - - * package_version.cc (_defaultversion::accessible): Override and make - always false. - (_packageversion::accessible): Fix a couple of logic bugs resulting in - incorrect trues. - * package_version.h (_packageversion::accessible): Make virtual. - -2003-03-25 Igor Pechtchanski - - * threebar.h (WM_APP_START_POSTINSTALL): New message. - (WM_APP_POSTINSTALL_THREAD_COMPLETE): New message. - * threebar.cc (ThreeBarProgressPage::OnMessageApp): - Add handling for WM_APP_START_POSTINSTALL and - WM_APP_POSTINSTALL_THREAD_COMPLETE. - * install.cc (do_install_thread): Set next_dialog to - IDD_S_POSTINSTALL. - * desktop.cc (DesktopSetupPage::OnFinish): Move the - do_postinstall call to ThreeBarProgressPage::OnMessageApp. - * script.h (Script::fullName): New member function. - (Script::run): New member function. - (Script::ETCPostinstall): New static member constant. - * script.cc (Script::fullName): Implement. - (Script::run): Implement. - (Script::ETCPostinstall): Define. - (Script::isAScript): Use ETCPostinstall instead of a - hardcoded string constant. - (run): Enable "#if 0"'d code. - * postinstall.cc (Progress): New extern variable. - (RunFindVisitor::visitFile): Add script to vector - instead of running. - (RunFindVisitor::_scripts): New member variable. - (RunScript): New helper class for use in for_each. - (do_postinstall_thread): Rename do_postinstall to. Add - Progress bar and text setting. Add package count. - (do_postinstall_reflector): New static function. - (do_postinstall): Rename to do_postinstall_thread. - Create a thread instead. - -2003-03-18 Igor Pechtchanski - - * script.cc (run): Add file_out parameter. - Redirect output of subprocess to file, creating the - path if necessary. Minimize the script window. - (run_script): Add optional to_log boolean parameter. - If to_log, redirect output to temporary file and then - import it into LOG_BABBLE. - (OutputLog): New helper class. - (operator<<): New operation on OutputLog. - * script.h (run_script): Add optional to_log parameter. - * postinstall.cc (RunFindVisitor::visitFile): Instruct - run_script() to log script output. - (do_postinstall): Ditto. - -2003-03-20 Robert Collins - - * package_meta.cc (packagemeta::set_action): The logic - test for the default action was reversed. - -2003-03-18 Igor Pechtchanski - - * postinstall.cc (do_postinstall): Filter out '*.done'. - * FilterVisitor.h: New header file. Declare the - FilterVisitor, Filter, and ExcludeNameFilter classes. - * FilterVisitor.cc: New file. Implement FilterVisitor, - Filter, and ExcludeNameFilter. - * String++.h (String::matches): New instance function. - * String++.cc (String::matches): Implement. - (strmatch) Import and adapt for strings. - * Makefile.am (setup_SOURCES): Add FilterVisitor.cc and - FilterVisitor.h to value. - -2002-03-18 Max Bowsher - - * LogFile.cc (LogFile::exit): Use CRT exit() instead of ExitProcess(). - Use passed exit_code even if been_here. - Remove incorrect _CYGWIN_ preprocessor conditional. - -2003-03-16 Robert Collins - - * package_db.h (PackageDBConnectedIterator): Typedef - for connected loop detection collection iterator. - * package_db.cc (ConnectedLoopDetector): An - implementation of R.E. Tarjans strongly connected - set visitor algorithm. - * postinstall.cc (do_postinstall): Use the new iterator - for visiting postinstall scripts. - -2003-03-16 Robert Collins - - * install.cc: Introduce Installer class. - (init_dialog): Rename to Installer::initDialog. - (progress): Rename to Installer::progress. - (standard_dirs): Rename to Installer::StandardDirs. - (uninstall_one): Rename to Installer::uninstallOne. - (replace_one): Rename to Installer::replaceOne. - (log_ror_failure): Rename to - Installer::replaceOnRebootFailed. - (log_ror_success): Rename to - Installer::replaceOnRebootSucceeded. - (install_one_source): Rename to Installer::installOneSource. - Note script files as they are installed. - * package_version.cc (packageversion::addScript): Implement. - (packageversion::scripts): Implement. - * package_version.h (packageversion::addScript): Record the - presence of a script. - * script.h (Script): New class to track scripts. - * postinstall.cc (do_postinstall): Iterate through the - package listed scripts before searching for scripts. - * String++.cc (String::substr): Second argument needed to - be signed. - * String++.h (String::substr): Second argument needed to - be signed. - -2003-03-16 Max Bowsher - - * .cvsignore: Create, to ignore configure, aclocal.m4, Makefile.in and - autom4te.cache. - -2003-03-16 Max Bowsher - - * UserSettings.cc (UserSettings::Instance): Remove premature return. - -2003-03-15 Robert Collins - - * script.cc (run): Rename variable b to createSucceeded. - -2003-03-15 Igor Pechtchanski - - * script.cc (run): Close unneeded handles. - -2003-03-15 Robert Collins - - * configure: Remove. - * aclocal.m4: Remove. - * Makefile.in: Remove. - * cfgaux: Remove. - * cfgaux/compile: Remove. - * cfgaux/config.guess: Remove. - * cfgaux/config.sub: Remove. - * cfgaux/depcomp: Remove. - * cfgaux/install-sh: Remove. - * cfgaux/ltmain.sh: Remove. - * cfgaux/missing: Remove. - * cfgaux/mkinstalldirs: Remove. - -2003-03-14 Igor Pechtchanski - - * install.cc (replace_one): Clear Text3. - -2003-03-14 Igor Pechtchanski - - * 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 - - * choose.cc (ChooserPage::OnNext): Fix iterator bug. Reported by - Igor Pechtchanski . - -2003-03-13 Max Bowsher - - * Update included zlib to 1.1.4. - -2003-03-13 Robert Collins - - * install.cc (do_install_thread): Use a query method rather than temp - variable do_skip. - -2003-03-09 Pavel Tsekov - - * 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 - - * Makefile.am: Add foreign to AUTOMAKE_OPTIONS. - -2003-03-10 Robert Collins - - * UserSettings.cc (UserSettings::init): Really initialize all members. - -2003-03-10 Robert Collins - - * 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 - - * 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 - - * choose.h (ChooserPage): Override OnActivate. - * choose.cc (ChooserPage::OnActivate): Refresh the current view when - activating the dialog. - -2003-03-09 Robert Collins - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * bootstrap.sh: Add sanity check of current directory. - Recurse into libgetopt++ if needed. - -2003-03-09 Robert Collins - - * Update readme of bugs and wishes. - -2003-03-05 Max Bowsher - - * netio.cc (save_dialog): Allocate an empty string if the password is - null, so that an empty password is accepted elsewhere in setup. - (check_if_enable_ok): An empty password is OK. - -2003-03-05 Brian Keener - - * 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 - - * compress_gz.cc (compress_gz::construct): - Fix broken checkin dated 2002-07-03. - -2003-02-28 Max Bowsher - - * main.cc (set_default_sec): Add logging. - -2003-02-28 Pierre Humblet - - * main.cc (set_default_dacl): Replace with set_default_sec. - (set_default_sec): Attempt to change the default group to - Users or Administrators if it is None, in addition to setting - Everyone in the default DACL. - (main): Call set_default_sec instead of set_default_dacl. - -2003-01-31 Max Bowsher - - * install.cc (install_one_source): Fix spacing in log message. - -2003-01-19 Max Bowsher - - * 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 - - * mkdir.cc [_CYGWIN_]: Implement what was pseudocode. - * io_stream.h [__CYGWIN__]: Don't typedef ssize_t. - * proppage.h: Include "win32.h" instead of . - -2003-01-15 Max Bowsher - - * mount.cc [MAINTAINER_FEATURES]: Add --override-registry-name option. - -2002-12-11 Abraham Backus - - * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Leave port out of Host header, - unless non-default. - -2002-12-11 Max Bowsher - - * package_meta.cc: Change 'endl' to 'endLog' as appropriate. - * package_version.cc: Ditto. - -2002-09-22 Max Bowsher - - * 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 - - * 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 - - * AntiVirus.cc: Change the short option again! It's now 'A'. - * desktop.cc (etc_profile): Remove. - (make_etc_profile): Remove. - (uexists): Remove. - (make_passwd_group): Remove. - (do_desktop_setup): Don't call removed functions. - -2002-11-26 Robert Collins - - * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Fix my botched application of - Marcel's patch. - -2002-07-08 Marcel Telka - - * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Fixed decoding of the FTP - reply (code 227) to the PASV command. - -2002-11-26 Robert Collins - - * 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 - - * 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 - - * 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 - - * AntiVirus.cc: Change 'd' to 'D' to fix command line conflict. - -2002-11-25 Robert Collins - - * 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 - - * 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 - - * 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 - - * main.cc (main): Oops, pass LogSingleton a reference, not a pointer. - -2002-11-04 Max Bowsher - - * 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 . - * 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 - - * compress_bz.cc: Don't include bzlib.h directly, the compress_bz.h - header includes it. - -2002-11-04 Max Bowsher - - * 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 - - * 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 - - * 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 - - * String++.h: Add 'std::' where needed. - -2002-11-04 Max Bowsher - - * 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 - - * LogSingleton.h: Add 'std::' where needed. - -2002-11-04 Max Bowsher - - * archive_tar_file.cc: Include . - Change min(a,b) to std::min(a,b) - * compress_bz.cc: Ditto. - * compress_gz.cc: Ditto. - -2002-11-04 Max Bowsher - - * res.rc: Change a #-comment (invalid) to a //-comment. - -2002-11-04 Max Bowsher - - * Makefile.am (%.o: %.rc): Make windres use $(CC) not hardcoded gcc. - (inilint_LDADD): Remove -lstd++. - (setup_LDADD): Ditto. - -2002-09-22 Max Bowsher - - * IniDBBuilderPackage.cc: Update DEBUG code to current class - layout. - -2002-09-21 Robert Collins - - * 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 - - * res.rc: Commit Harry Johnston's dialog caption patch. From July. - -2002-07-15 Robert Collins - - * package_version.cc (packageversion::sources): Implement this. - * download.cc (do_download_thread): Support multiple files per package. - -2002-07-15 Robert Collins - - * package_version.h (packageversion::sources): Support multiple files in - a single package version. - * package_version.cc (_packageversion::accessible): Ditto. - (packageversion::source): Ditto. - -2002-07-15 Robert Collins - - * iniparse.y: Implement support for multiple source files for a source - package. - * IniDBBuilder.h (IniDBBuilder::buildSourceFile): Ditto. - * IniDBBuilderPackage.h (IniDBBuilder::buildSourceFile): Ditto. - * IniDBBuilder.cc (IniDBBuilder::buildSourceFile): Ditto. - * IniDBBuilderPackage.cc (IniDBBuilder::buildSourceFile): Implement a - stub as preparation. - -2002-07-13 Robert Collins - - * PickPackageLine.cc (PickPackageLine::click): Set requirements for - packages under all circumstances - slightly higher overheader, simpler - code. - * download.cc (do_download_thread): Correctly download source - packages. - * package_meta.cc (checkForInstalled): Remove. - (checkForUpgradeable): Ditto. - (checkForSatisfiable): Ditto. - (processOneDependency): Ditto. - (packagemeta::set_requirements): Move guts to packageversion. - * package_version.cc (checkForInstalled): Copied from package_meta.cc. - (checkForUpgradeable): Ditto. - (checkForSatisfiable): Ditto. - (processOneDependency): Ditto. - (packageversion::set_requirements): Ditto. - * package_version.h (packageversion::set_requirements): Declare. - -2002-07-13 Robert Collins - - * IniDBBuilder.cc (IniDBBuilder::buildBeginBuildDepends): Implement. - (IniDBBuilder::buildBeginBinary): Implement. - * IniDBBuilder.h (IniDBBuilder::buildBeginBuildDepends): Declare. - (IniDBBuilder::buildBeginBinary): Ditto. - * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildBeginBuildDepends): - Implement. - (IniDBBuilderPackage::buildBeginBinary): Ditto. - * IniDBBuilderPackage.h (IniDBBuilderPackage::buildBeginBuildDepends): - Declare. - (IniDBBuilderPackage::buildBeginBinary): Ditto. - * inilex.l: Recognise Build-Depends-Indep, [,], >, < and remove - T_UNKNOWN. - * iniparse.y: Full support for parsing a debian Sources file in-line in - setup.ini. - * package_version.cc (packageversion::binaries): Implement. - * package_version.h (packageversion::binaries): Declare list of what - packages are created from a given source package. - (_packageversion::binaries): Ditto. - -2002-07-10 Robert Collins - - * iniparse.y: Add basis for support for parsing a debian Sources file. - * inilex.l: Ditto. - -2002-07-09 Robert Collins - - Change custom container code for packagedb::packages to STL containers - throughout. - * IniDBBuilderPackage.cc: Ditto. - * PickView.cc: Ditto. - * choose.cc: Ditto. - * desktop.cc: Ditto. - * download.cc: Ditto. - * install.cc: Ditto. - * package_db.cc: Ditto. - * package_db.h: Ditto. - * Makefile.am: Remove list.h references. - * list.h: Remove. - -2002-07-08 Max Bowsher - - * PickView.cc (PickView::PickView): Set font of package list header to - the same as used in the rest of the package list. - -2002-07-08 Robert Collins - - * install.cc (NoReplaceOnReboot): New command line option to prevent - replacing in use files. - (install_one_source): Check the option and use it. - * README: Update TODO lists. - -2002-07-08 Robert Collins - - * PickCategoryLine.cc: Change bucket to use STL container syntax - throughout. - (PickCategoryLine::paint): Use new Category type syntax. - * PickCategoryLine.h: Use STL vectors rather than custom containers - throughout. - * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageCategory): - Use new add_category syntax. - * PickView.cc (PickView::insert_pkg): Use new Category type syntax. - (PickView::insert_category): Ditto. - (PickView::init_headers): Ditto. - * category.cc: Trim obsolete code. - * category.h: Replace interconnecting class with a typedef to - facilitate leveraging STL maps. - * choose.cc (fill_missing_category): Use updated pkg.add_category - syntax. - (default_trust): Use new Category type syntax. - (set_view_mode): Ditto. - (create_listview): Ditto. - * package_db.cc (categories): Ditto. - * package_db.h: Update headers list to include needed headers. - (packagedb::categories): Replace custom list with STL map. - * package_meta.cc: Use new Category type syntax throughout. - (packagemeta::add_category): Implement new syntax. - * package_meta.h: Remove commented out source. - (packagemeta::add_category): Update syntax to decouple interface from - packagedb. - -2002-07-06 Christopher Faylor - - * site.cc (do_download_site_info_thread): Correct spelling error. - -2002-07-06 Robert Collins - - * PickCategoryLine.h: Include required header list.h. - * PickPackageLine.cc (PickPackageLine::paint): Adjust to use STL - containers for listing of packages per category and vice verca. - * PickView.cc (PickView::insert_pkg): Ditto. - (PickView::insert_category): Ditto. - * String++.h (String::caseless): STL helper to allow trivial containers - of Strings with case insensitive comparisons. - * category.h: Adjust to use STL containers for listing of packages per - category and vice verca. - * choose.cc (fill_missing_category): Ditto. - (default_trust): Ditto. - (ChooserPage::OnNext): Ditto. - * package_meta.cc (CategoryPackage::~CategoryPackage): Remove. - (packagemeta::packagemeta): Adjust for new category list name. - (packagemeta::~packagemeta): Adjust to use STL containers for listing - of packages per category and vice verca. - (packagemeta::set_action): Ditto. - * package_meta.h (CategoryPackage): Remove. - (packagemeta): Adjust to use STL containers for listing of packages per - category and vice verca. - -2002-07-05 Robert Collins - - * io_stream.cc: Use STL containers rather than custom ones. - (io_stream::registerProvider): Ditto. - (findProvider): Ditto. - -2002-07-05 Robert Collins - - * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource): - Use STL collections for download site collections. - (IniDBBuilderPackage::add_correct_version): Ditto. - (IniDBBuilderPackage::process_src): Ditto. - * PickPackageLine.cc (PickPackageLine::click): Use the packageversion - accessible() call to abstract package availability. - * choose.cc (scanAVersion): Use STL collections for download site - collections. - * download.cc (check_for_cached): Ditto. - (download_one): Ditto. - * package_meta.cc (packagemeta::set_action): Use the packageversion - accessible() call to abstract package availability. - * package_source.h: Use STL containers rather than custom containers. - (site): Create a == operator to allow STL container use. - (packagesource::sites): Use STL containers rather than custom - containers. - * package_version.cc (_packageversion::accessible): Use STL containers - for download site containers. - -2002-07-05 Robert Collins - - * LogFile.cc: Use STL containers rather than custom containers. - (filedef): Create == and < operators for STL use. - (files): Convert to an STL set. - (LogFile::setFile): Use STL operations on files. - (LogFile::exit): Ditto. - -2002-07-05 Robert Collins - - * ini.cc (do_remote_ini): Use STL collection for site collection. - * site.cc: Include site.h first to ensure it's parsable standalone. - Use STL algorithms. - (site_list): Convert to an STL container. - (all_site_list): Ditto. - (site_list_type::site_list_type): Implement copy constructor. - (site_list_type::operator=): Implement assignment operator. - (site_list_type::operator ==): Implement. - (site_list_type::operator <): Ditto. - (save_dialog): Use STL collection calls for site collection. - (save_site_url): Ditto. - (get_site_list): Ditto. - (get_saved_sites): Ditto. - (do_download_site_info_thread): Ditto. - (SitePage::OnNext): Ditto. - (SitePage::PopulateListBox): Ditto. - (SitePage::OnMessageCmd): Ditto. - * site.h: Use STL vectors instead of custom code. - (site_list_type::site_list_type): Declare. - (site_list_type::operator=): Ditto. - (site_list_type::operator ==): Ditto. - (site_list_type::operator !=): Ditto. - (site_list_type::operator <): Ditto. - (site_list_type::operator <=): Ditto. - (site_list_type::operator >): Ditto. - (site_list_type::operator >=): Ditto. - (site_list): Convert to an STL container. - (all_site_list): Ditto. - -2002-07-05 Robert Collins - - * choose.cc (default_trust): Check package accessibility before - triggering an install. (Suggested by Pavel). - -2002-07-03 Pavel Tsekov - - * compress_gz.cc (compress_gz::construct): Always initialize key members - to ensure the destructor does the right thing. - -2002-07-03 Pavel Tsekov - - * filemanip.cc (parse_filename): Do not try to parse empty - strings (filenames). - * package_db.cc (packagedb::packagedb): For each line check if sscanf() - extracted good package name and filename. - -2002-07-03 Robert Collins - - * package_meta.cc (packagemeta::set_requirements): Automatically select - version of dependent packages that satisfies the requirements. - Use processOneDependency to trigger the install of those packages. - (checkForInstalled): Check that the package remains installed. - (processOneDependency): Helper function for dependent packages. - * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackage): Add more - debug information. - Clear out all current state on new packages. - (IniDBBuilderPackage::add_correct_version): Copy the dependency list - across. - -2002-07-02 Robert Collins - - * Makefile.am (inilint_SOURCES): Add PackageSpecification sources. - nb: inilint is still incomplete, as the packageversion code is not - ready for database-less linking. - * site.cc (get_site_list): When the same site is reentered by the user - replace the old one. (Suggested by John Marshall). - -2002-07-02 Robert Collins - - * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource): - Clear out package selections when generating implicit source packages. - * PackageSpecification.cc (PackageSpecification::satisfies): Implement. - (PackageSpecification::_operators::satisfies): Implement. - * PackageSpecification.h (PackageSpecification::_operators::satisfies): - Worker function for testing versions. - -2002-07-01 Robert Collins - - * IniDBBuilder.cc (IniDBBuilder::buildPackageRequirement): Remove. - * IniDBBuilder.h (IniDBBuilder::buildPackageRequirement): Ditto. - * IniDBBuilderPackage.cc: Use the STL algorithms. - Change cpv to cbpv throughout. Adjust -> to ., and use the new accessor - functions for the same variable throughout. - (IniDBBuilderPackage::IniDBBuilderPackage): Initialise new members. - (IniDBBuilderPackage::buildPackage): Use new cygpackage syntax, - and set an empty source package. - (IniDBBuilderPackage::buildPackageInstall): Use the new source member - to record an install package. - (IniDBBuilderPackage::buildPackageSource): Move source package logic - out from process_src, as it now occurs at separate times. - (IniDBBuilderPackage::buildPackageRequirement): Remove. - (IniDBBuilderPackage::buildSourceName): Use renamed package - specifiation accessor for clarity. - (IniDBBuilderPackage::buildSourceNameVersion): Ditto. - (IniDBBuilderPackage::add_correct_version): Use STL iterators rather - than custom code. - Remove source package references. - (IniDBBuilderPackage::process_src): Remove source package code as it's - now handled separately. - Set Path information before merging versions, to prevent dangling - pointers. - * IniDBBuilderPackage.h (IniDBBuilderPackage::buildPackageRequirement): - Remove. - (IniDBBuilderPackage::cpv): Remove. - (IniDBBuilderPackage::cbpv): New generic binary working variable. - (IniDBBuilderPackage::cspv): Ditto, but for source packages. - (IniDBBuilderPackage::csp): Source package variable for disjoint - source packages. - * Makefile.am (AM_CFLAGS): Remove -Winline to allow stl set code - to compile. If it compiles cleanly in gcc 3.1, then reinstate. - * PickPackageLine.cc: Adjust packageversion accessors to the new - reference calls. (i.e. -> to .) throughout. - (PickPackageLine::paint): Use accessible() for clarity. - Use new split out source package logic. - (PickPackageLine::click): Ditto. - * PickView.cc (PickView::init_headers): Adjust packageversion accessors - to the new reference calls. (i.e. -> to .) throughout. - Use new split out source package logic. - * choose.cc: Don't depend on a specific package type. - Adjust packageversion accessors to the new reference calls. (i.e. -> to - .) throughout. - (set_existence): Use accessible () for clarity. - (default_trust): Simplify a little. - (scanAVersion): Factored out code from scan_downloaded_files for - clarity. - (scan_downloaded_files): Factor out inner loop for clarity. - (ChooserPage::OnNext): Don't dump the dependency list, - it's parsing is robust now!. - * cygpackage.cc (createInstance): Use a factory method to create new - objects. - (cygpackage::cygpackage): Make this private for use by the factory. - (cygpackage::setCanonicalVersion): Renamed from set_canonical_version. - Remove key usage as it's obsolete. - * cygpackage.h (cygpackage): Inherit from _packageversion, not - packageversion. - (cygpackage::createInstance): New factory. - (cygpackage::cygpackage): Make private. - * desktop.cc (make_passwd_group): Use new packageversion reference. - * download.cc (do_download_thread): Use changeRequested() for clarity. - Use new packageversion reference calls. - * iniparse.y (REQUIRES): Reuse the packageList code and dump the one-off - requires code. - * install.cc: Adjust -> to ., and use the new accessor functions for - packageversion throughout. - * package_db.cc: Adjust -> to ., and use the new accessor functions for - packageversion throughout. - (packagedb::packagedb): Use the new cygpackage factory. - (packagedb::flush): Leverage String to remove buffer overflow chance in - sprintf. - (packagedb::findBinary): Find a binary meta package that has a version - matching a given specification. - (packagedb::findSource): Ditto, but for source. - * package_db.h (packagedb::findBinary): Declare. - (packagedb::findSource): Ditto. - * package_meta.cc: Adjust packageversion accessors to the new - reference calls. (i.e. -> to .) throughout. - Include the package_meta header first to ensure it parses standalone. - Use the STL algorithms. - (packagemeta::packagemeta): Create a copy constructor to allowing - cloning binary package metadata to source package metadata. - (packagemeta::~packagemeta): Use the STL coleltion code rather than - custom collection code. - (packagemeta::add_version): Ditto. - (packagemeta::set_installed): Ditto. - (packagemeta::SDesc): Ditto. - (hasSDesc): Helper function for find_if. - (checkForInstalled): Ditto. - (checkForUpgradeable): Ditto. - (checkForSatisfiable): Ditto. - (packagemeta::action_caption): Update for split out source packages. - (packagemeta::set_action): Ditto. - (packagemeta::set_requirements): Support multi-valued dependency - lists - a|b & c|d - with versioned package specifications. - (packagemeta::accessible): Helper member to improve abstraction. - (packagemeta::sourceAccessible): Ditto. - * package_meta.h: Adjust packageversion accessors to the new - reference calls. (i.e. "->" to "." and"*" to "" ) throughout. - (packagemeta::packagemeta): Declare copy constructor. - Remove self initialising members. - (packagemeta::set_action): Update parameters for new packageversion. - (packagemeta::trustp): Ditto. - (packagemeta::versions): Becomes an STL set. - * package_source.h (packagesource::Cached): Const correctness change. - * package_version.cc: Rewrite the packageversion interface to remove - the cygpackage nonvirtual members, and provide a copy by value, - pointer semantics reference counting wrapper class to ease use and - comparison of packageversions. - Change existing packageversion class to _packageversion throughout. - (_defaultversion): A trivial concrete class to prevent specialcasing - the default constructor for packageversion; - (packageversion::packageversion): Implement. - (packageversion::~packageversion): Ditto. - (packageversion::operator=): Ditto. - (packageversion::operator !): Ditto. - (packageversion::operator bool): Ditto. - (packageversion::operator ==): Ditto. - (packageversion::operator !=): Ditto. - (packageversion::operator <): Ditto. - (packageversion::Name): Ditto. - (packageversion::Canonical_version): Ditto. - (packageversion::setCanonicalVersion): Ditto. - (packageversion::getfirstfile): Ditto. - (packageversion::getnextfile): Ditto. - (packageversion::SDesc): Ditto. - (packageversion::set_sdesc): Ditto. - (packageversion::LDesc): Ditto. - (packageversion::set_ldesc): Ditto. - (packageversion::sourcePackage): Ditto. - (packageversion::sourcePackageSpecification): Ditto. - (packageversion::setSourcePackageSpecification): Ditto. - (packageversion::depends): Ditto. - (packageversion::predepends): Ditto. - (packageversion::recommends): Ditto. - (packageversion::suggests): Ditto. - (packageversion::replaces): Ditto. - (packageversion::conflicts): Ditto. - (packageversion::provides): Ditto. - (packageversion::picked): Ditto. - (packageversion::pick): Ditto. - (packageversion::changeRequested): Ditto. - (packageversion::uninstall): Ditto. - (packageversion::source): Ditto. - (packageversion::accessible): Ditto. - (_packageversion::sourcePackage): Ditto. - (_packageversion::accessible): Ditto. - (_packageversion::changeRequested): Ditto. - * package_version.h: Rewrite the packageversion interface to remove - the cygpackage nonvirtual members, and provide a copy by value, - pointer semantics reference counting wrapper class to ease use and - comparison of packageversions. - Change existing packageversion class to _packageversion throughout. - (Dependency): Remove. - (packageversion): New wrapper class. - (_packageversion): Renamed from packageversion. - (_packageversion::setCanonicalVersion): New method. - (_packageversion::sourcePackage): Ditto. - (_packageversion::sourcePackageSpecification): Ditto. - (_packageversion::setSourcePackageSpecification): Ditto. - (_packageversion::changeRequested): Ditto. - (_packageversion::bin): Rename to source. - (_packageversion::src): Remove. - (_packageversion::accessible): New method. - (_packageversion::references): Allow reference counting. - (_packageversion::sourceVersion): Cached the best-match source - package version. - -2002-06-27 Robert Collins - - * compress_bz.h (compress_bz::position): Track how much has been read. - * compress_bz.cc (compress_bz::compress_bz): And initialise it. - (compress_bz::read): Track amount read by the client. - (compress_bz::tell): And report it when asked. - -2002-06-27 Robert Collins - - * Makefile.am (snapshot): Automate snapshot creation some more. - -2002-06-27 Robert Collins - - * msg.cc (msg): Use vsnprintf to avoid buffer overflows. - (mbox): Ditto. - * ini.cc (fprintf): Ditto. - * log.cc (log): Ditto. - * package_db.cc (packagedb::sourcePackages): Split out source packages - from binary packages. - * package_db.h: Ditto. - -2002-06-27 Robert Collins - - * PackageSpecification.h: New file. Abstracts the ability to refer - to another package, by name, or name and version. - * PackageSpecification.cc: Ditto. - * IniDBBuilder.cc (IniDBBuilder::buildPackageInstall): Simplify. - (IniDBBuilder::buildPackageSource): Ditto. - (IniDBBuilder::buildBeginDepends): New method for versioned - dependencies. - (IniDBBuilder::buildBeginPreDepends): Likewise, for dependencies to be - satisfied before pre-install. - (IniDBBuilder::buildPriority): New method, for getting the package - Priority. - (IniDBBuilder::buildInstalledSize): How much disk space does it need? - (IniDBBuilder::buildMaintainer): Who maintains the package? - (IniDBBuilder::buildArchitecture): What platform is it for? - (IniDBBuilder::buildInstallSize): How big is the binary download? - (IniDBBuilder::buildInstallMD5): Whats the MD5 on the binary? - (IniDBBuilder::buildSourceMD5): Whats the MD5 on the source package? - (IniDBBuilder::buildBeginRecommends): What other packages are - recommended with this one? - (IniDBBuilder::buildBeginSuggests): And suggested? - (IniDBBuilder::buildBeginReplaces): What packages does this replace? - (IniDBBuilder::buildBeginConflicts): And collide with? - (IniDBBuilder::buildBeginProvides): What virtual packages (or obsolete - package names) does this provide? - (IniDBBuilder::buildDescription): Grab a multi line description one - line at a time. - (IniDBBuilder::buildSourceName): What source package should be used to - install the source for this binary package? - (IniDBBuilder::buildSourceNameVersion): Is a specific version needed? - (IniDBBuilder::buildPackageListAndNode): Add another AND clause to a - list of package specifications. - (IniDBBuilder::buildPackageListOrNode): Add another OR clause. - (IniDBBuilder::buildPackageListOperator): Add a versioning operator - to the current specification. - (IniDBBuilder::buildPackageListOperatorVersion): What version does the - operator act on? - * IniDBBuilder.h: Declare all the IniDBBuilder.cc changes. - * IniDBBuilderPackage.cc: As for IniDBBuilder.cc. - (IniDBBuilderPackage::IniDBBuilderPackage): Iniitialize new members. - (IniDBBuilderPackage::process_src): Streamline and split out - functionality. - (IniDBBuilderPackage::setSourceSize): From process_src. - * IniDBBuilderPackage.h: Declare the IniDBBuilderPackage.cc changes. - (IniDBBuilderPackage::currentSpec): Track the in-progress specifiation. - (IniDBBuilderPackage::currentOrList): Track the current Or list. - (IniDBBuilderPackage::currentAndList): Track the current And list. - * IniParseFeedback.cc (IniParseFeedback::progress): Provide completion - progress on parsing. - (IniParseFeedback::iniName): Tell what ini filename we are currently - processing. - * IniParseFeedback.h: Declare IniParseFeedback.cc changes. - * IniParseFindVisitor.cc (IniParseFindVisitor::IniParseFindVisitor): - Make the feedback object non-const to allow mutating methods which are - needed when the object has state. - (IniParseFindVisitor::visitFile): Tell the caller the name of each - .ini found. - Initialise the parser with the feedback object to allow it to tell of - progress. - * IniParseFindVisitor.h: Declare IniParseFindVisitor.cc changes. - * Makefile.am (inilinst_SOURCES): Add more requisite classes. - (setup_SOURCES): Add the new PackageSpecification sources. - * ScanFindVisitor.cc (ScanFindVisitor::visitFile): Use the new - builder syntax to setup binary package details. - * choose.cc: Use the LogSingleton calls throughout. - * configure.in: Create the INILINT substitution correctly for recent - autotool configurations. - * cygpackage.cc (cygpackage::getfirstfile): Return an empty String - rather than a string built from an int. Thanks to Pavel Tsekov for - identifying the bug. - (cygpackage::getnextfile): Ditto. - * download.cc: Use LogSIngletion calls throughout. - (validateCachedPackage): A refactoring of the - check_for_cached code to eliminate duplciation. - (check_for_cached): Use validateCachedPackage to check packages. - * ini.cc (GuiParseFeedback): Provide gui feedback on ini name and - parsing progress. - (do_remote_ini): Ditto. - * ini.h (ini_init): Pass a IniParseFeedback to the parser, to allow - progress reporting. - * inilex.l: Identify new symbols - operators, and multi line plain text. - Releases files. - * inilintmain.cc (show_help): Provide basic infomation on inilint. - * iniparse.y: Adjust for the new builder syntax, and process debian - Release files. - * io_stream_file.cc: Always include mkdir.h. - * list.h: Factor index location into a private routine. - (list::findindex): Implement this. - * mkdir.cc (mkdir_p): Make the use of WIN32 code conditional on mingw - builds. NB: This breaks cygwin build functionality still. - * package_meta.cc: Use the LogSingleton calls throughout. - (packagemeta::set_requirements): Adjust for object changes in - dependencies. - * package_meta.h (packagemeta::packagemeta): Initialise new members. - (packagemeta::architecture): What platform does this package run on? - This may need to move in the future to a per packagefile object. - (packagemeta::priority): What priority does this package have? - * package_source.h (packagesource::packagesource): Initialise new - members. - (packagesource::installedSize): How much space does the package need? - (packagesource::setInstalledSize): Tell the amount. - (packagesource::_installedSize): And store it. - * package_version.cc (packageversion::sourcePackage): return the - source package. - (packageversion::setSourcePackage): And set it. - * package_version.h: Declare the package_version.cc changes. - (packageversion::depends): New package specification AND list. - (packageversion::predepends): Ditto. - (packageversion::recommends): Ditto. - (packageversion::suggests): Ditto. - (packageversion::replaces): Ditto. - (packageversion::conflicts): Ditto. - (packageversion::provides): Ditto. - (packageversion::sourcePackage): What source package is needed? - * threebar.cc (ThreeBarProgressPage::SetText4): Set the label beside - the bottom bar. - * threebar.h: Declare the threebar.cc change. - -2002-06-27 John Marshall - - * res.rc (SETUPINI_MISSING): Make trailing spaces visible. - * site.cc (SitePage::OnMessageCmd): Ditto - -2002-06-15 Robert Collins - - * nio-ie5.cc (NetIO_IE5::NetIO_IE): Allow cached data. - -2002-06-15 Robert Collins - - * package_meta.cc (packagemeta::set_action): When installing packages - with no binaries, choose the source package. - -2002-06-10 Robert Collins - - * IniParseFindVisitor (IniParseFindVisitor::visitFile): Apply Max - Bowshers fix for the crash with a root level setup.ini. - * README: Update todos. - -2002-05-26 Ralf Habacker - - * archive_tar.cc (archive_tar::next_file_name()): fixed broken - GNU long name extension support. - -2002-05-27 Robert Collins - - * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Don't - unescape 0 length strings. - -2002-05-20 Robert Collins - - * package_meta.cc (packagemeta::set_action): Don't allow reinstall - when local with no cached file, and install the default source if the - default version has no binary. - -2002-05-19 Robert Collins - - * IniDBBuilderPackage.cc (IniDBBuilderPackage::IniDBBuilderPackage): New - method. - (IniDBBuilderPackage::buildVersion): Provide a warning when a newer - setup version created the ini file. - * IniDBBuilderPackage.h (IniDBBuilderPackage::IniDBBuilderPackage): New - method. - * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Use the new - feedback strategy. - * IniParseFindVisitor.h (IniParseFindVisitor::IniParseFindVisitor): - Require a feedback strategy. - * Makefile.am (setup_SOURCES): Add IniParseFeedback sources. - * Makefile.in: Regenerate. - -2002-05-19 Robert Collins - - * io_stream_file.cc (io_stream_file::remove): Use the SetFileAttributes - trick to delete read only files. - * io_stream_cygfile.cc (io_stream_cygfile::remove): Use file:// to - remove files. - * Makefile.am (release): Tweak to be more helpful. - * Makefile.in: Regenerate. - -2002-05-19 Robert Collins - - * Makefile.am (release): Tweak to be more helpful. - * Makefile.in: Regenerate. - -2002-05-19 Robert Collins - - * Makefile.am (release): Tweak to be more helpful. - * Makefile.in: Regenerate. - -2002-05-19 Robert Collins - - * choose.cc (scan_downloaded_files): When a non-installed version - has neither bin nor src cached files for local installs, - remove the version from availability. - -2002-05-19 Robert Collins - - * ini.cc (do_remote_ini): Save uncompressed ini's correctly. - -2002-05-19 Robert Collins - - * rsync: New support library, contains librsync. This is not (yet) - rsync interoperable. - * configure.in: --with-rsync to enable rsync support. (Not complete). - * Makefile.am: Enable building with rsync. - * Makefile.in: Regenerate. - * configure: Ditto. - * IniDBBuilder.cc (IniDBBuilder::buildPackageInstall): Pass the md5 as - an array. - (IniDBBuilder::buildPackageSource): Ditto. - * IniDBBuilder.h: Ditto. - * IniDBBuilderPackage.cc: Ditto. - * IniDBBuilderPackage.h: Ditto. - * FindVisitor.cc: New file. - * FindVisitor.h: New file, interface for visiting a file system - aggregate. - * IniParseFindVisitor.cc: New file. - * IniParseFindVisitor.h: New file, concrete FindVisitor that parses - found setup.ini's. - * README: Update TODO's. - * String++.cc (String::String): New constructor for inter- - operability. - (String::substr): New method. - * String++.h: Ditto. - * choose.cc (scan2): Remove. - (scan_downloaded_files): Simplify. - * dialog.h: Include parsing pre-requirements. - * download.cc (check_for_cached): Fullname was used incorrectly - fix. - * filemanip.cc (parse_filename): -src packages where incorrectly parsed. - * find.cc: Rewrite. Now uses a Visitor pattern and is re-entrant. - * find.h: Ditto. - * fromcwd.cc: Remove unneeded includes. - (is_test_version): Remove. - (found_file): Remove. - (SetupFindVisitor): Trivial visitor to detect setup.ini's. - (found_ini): Remove. - (do_fromcwd): Remove commented code that has be replaced elsewhere. - * ini.cc (local_ini): Remove. - (findBuilder): Remove. - (find_routine): Remove. - (do_local_ini): Use new IniParseFindVisitor. - * iniparse.y: Typecase MD5 arrays, as we know they are allocated as - unsigned char. - * postinstall.cc: Remove non-core includes. - (run_script_in_postinstall): Remove. - (RunFindVisitor): Trivial Visitor, runs each found script. - (do_postinstall): Use new find syntax. - -2002-05-14 Christopher Faylor - - * ini.cc (find_routine): Don't clear buffer it it's NULL. - -2002-05-14 Christopher Faylor - - * filemanip.h (trail): Declare. - * filemanip.cc (trail): New function. - (find_tar_ext): Use trail() instead of strstr(). - * fromcwd.cc (check_ini): Ditto. - * ini.cc (find_routine): Ditto. Don't tack local_dir to path since it - should now be fully qualified. Set ini_filename. Reset error_buf and - error_count for any subsequent ini file parsing. - (ini_filename): New static variable for parse error reporting. - (yyerror): Use full path of setup.ini in error message. Subtract one - from line number if at bol. - * find.cc (found_part): Eliminate. - (find_sub): Call for_each with full path found rather than just file - component. - (find): Don't calculate found_part. - * inilex.l (ini_init): Flush input buffer and reset line number. - (yybol): New function. Exports YY_AT_BOL. - * iniparse.y: Increase stack depth to allow more tokens to be processed. - (yyparse): Remove newline from error condition to allow subsequent - per-line error processing to proceed normally. - -2002-05-14 Christopher Faylor - - * find.cc (find_sub): Be more defensive in preserving trailing parts of - components when doing recursive directory searches or calling user - supplied for_each(). - * ini.cc (find_routine): Don't assume that any path name with - "setup.ini" in it is actually a setup.ini file. Only honor trailing - components. Copy path argument to temporary storage when unescaping - to prevent nuking of argument. - -2002-05-12 Robert Collins - - * CONTRIBUTORS: New file. - -2002-04-02 Gary R. Van Sickle - - * choose.cc: Run indent. - (nextbutton): Remove static variable. - (default_trust): Remove use of nextbutton. - (set_view_mode): Ditto. - (create_listview): Add IDC_CHOOSE_PREV and IDC_CHOOSE_NEXT to ta[] so - rbset() sets the prev/next/curr radio buttons properly. - (dialog_cmd): Delete function. - (dialog_proc): Delete function. Move WM_INITDIALOG functionality to - ChooserPage::OnInit. - (do_choose): Delete function. Move pre-DialogBox() code to - ChooserPage::OnInit(), post-DialogBox() code to ChooserPage::OnNext. - (WM_APP_START_CHOOSE): Remove define. - (WM_APP_CHOOSE_IS_FINISHED): Remove define. - (do_choose_thread): Delete function. - (ChooserPage::OnActivate): Delete method. - (ChooserPage::OnMessageApp): Delete method. - (ChooserPage::OnInit): New method. - (ChooserPage::OnNext): New method. - (ChooserPage::OnBack): New method. - (ChooserPage::OnMessageCmd): New method. - * choose.h: Run indent. - (ChooserPage::OnMessageApp): Delete declaration. - (ChooserPage::OnActivate): Ditto. - (ChooserPage::OnMessageCmd): New declaration. - (ChooserPage::OnInit): Ditto. - (ChooserPage::OnNext): Ditto. - (ChooserPage::OnBack): Ditto. - * desktop.cc (DesktopSetupPage::OnBack): Replace use of IDD_CHOOSER - with IDD_CHOOSE. - * fromcwd.cc (do_fromcwd): Replace use of IDD_CHOOSER with IDD_CHOOSE. - * ini.cc (do_ini_thread): Replace use of IDD_CHOOSER with IDD_CHOOSE. - * res.rc (IDD_CHOOSE): Remove dialog template. - (IDD_CHOOSER): Alter dialog template to fit wizard size and format. - -2002-05-12 Robert Collins - - * LogFile.cc (endLog): Work around an apparent libg++-3 bug causing - corrupt log file entries. - * geturl.cc: Convert to the new LogSingleton logging. - -2002-05-12 Robert Collins - - * ini.cc (do_remote_ini): Use setup.bz2 if it exists in preference to - setup.ini. - -2002-05-12 Robert Collins - - * geturl.h: Declare getUrlToStream. - * geturl.cc (getUrlToStream): New function. - (get_url_to_membuf): Refactor to use getUrlToStream. - -2002-05-11 Robert Collins - - * Makefile.am: Add a release target to automate some of the routine - work. - * Makefile.in: Regenerate. - -2002-05-11 Robert Collins - - * choose.cc (scan_downloaded_files): On local installs remove all - mirror sites if no cached copy of a package is found. - -2002-05-10 Robert Collins - - * Makefile.in: Regenerate. - * iniparse.y: Use left recursion, not right in the lines rule to - avoid stack overflows. - * README: Update TODO's. - * io_stream_file.cc: Native builds need to include sys/stat.h - -2002-05-06 John Marshall - - * site.cc (SitePage::OnMessageCmd): recalculate navigation - button activation when "Add" is pressed. - (SitePage::CheckControlsAndDisableAccordingly): tweak comment. - -2002-05-07 Robert Collins - - * Makefile.am (inlint_SOURCES): Add conditional objects to inilint - depending on platform. - Add file:// support. - * configure.in: Set conditional MINGWTARGET if compiling against mingw - libraries. - * Makefile.in: Regenerate. - * configure: Ditto. - * io_stream_file.cc: Only use win32 calls when building for mingw. - -2002-05-05 Robert Collins - - * Makefile.am (noinst_PROGRAMS): Make inilint configurable. - * configure.in: Ditto. - Fix incorrect header checking syntax. - * aclocal.m4: Regenerate. - * configure: Regenerate. - * Makefile.in: Regenerate. - * io_stream.cc: Remove platform specific and provider specific code. - (io_stream::registerProvider): New method, registers a Url provider with - the io_stream code. - Make all methods consistently throw invalid_argument exceptions when - a provider that is requested is not present. - (findProvider): New private function, finds a provider. - * io_stream.h: Declare io_stream::registerProvider. - * io_stream_cygfile.cc: Create a Provider class to register with - io_stream.cc. - * io_stream_file.cc: Ditto. - * archive.cc: Remove unneeded includes. - * archive_tar.cc: Remove unneeded includes. - * archive_tar.h: Add required include. - * archive_tar_file.cc: Remove unneded includes. - * choose.cc: Remove unneeded includes: - -2002-05-04 Robert Collins - - * io_stream.cc: Use the new log interface thruout. - -2002-05-04 Robert Collins - - * log.cc (log): Reimplement via LogSingleton. - (log_save): Remove. - (exit_setup): Remove. - * log.h (log_save): Remove. - (exit_setup): Remove. - * LogSingleton.cc: New file. - * LogSingleton.h: New file. - * LogFile.cc: New file. - * LogFile.h: New file. - * Makefile.am (inilint_SOURCES): Add the new log interface. - (setup_SOURCES): Add the new log interface and the concrete File - implementation. - * Makefile.in: Regenerate. - * archive.cc: Use the new log interface thruout. - * archive_tar.cc: Ditto. - * main.cc: Ditto. - * dialog.cc (fatal): Use the new log interface. - * ini.cc (do_ini_thread): Use the log interface to exit. - * isntall.cc (do_install_thread): Ditto. - * netio.cc (auth_cmd): Ditto. - * msg.cc (fatal): Ditto. - * localdir.cc (save_local_dir): Save to different files depending on - the mode, and if a root dir exists. - -2002-05-04 Robert Collins - - * IniDBBuilder.cc: New file. - * IniDBBuilder.h: New file. - * IniDBBuilderPackage.cc: New file. - * IniDBBuilderPackage.h: New file. - * PackageTrust.h: New file. - * IniState.h: Remove, wasn't thought out well enough. - * Makefile.am (inilint_SOURCES): Add more requirements. - (setup_SOURCES): Add new Builder base and concrete classes. - * Makefile.in: Regenerate. - * String++.cc (String::String): Implement int contructor. - * String++.h (String): Declare int constructor. - * archive_tar.cc (archive_tar::next_file_name): Return String() when - no filename exists. - * archive_tar.h (archive_tar_file): Remove get_next_filename method, - it's not needed. - * ini.cc: Replace IniState wuth IniDBBuilderPacakge. - (find_routine): Use new IniDBBuilder to configure the parser. - (do_local_ini): Ditto. - (do_remote_ini): Ditto. - * ini.h: Use IniDBBuilder to initialise parsing. - * inilex.l (MD5): Parse the MD5 string correctly, we had the nibbles - swapped. - (ini_init): Use an IniDBBuilder rather than static variables. - * iniparse.y: Hand off all the object creation to a builder, rather - than hardcoding the behaviour. This allows run-time configured - behaviour. - * io_stream_cygfile.h (io_stream_cygfile): Remove get_next_filename - method, it's not needed. - * io_stream_file.h (io_stream_file): Ditto. - * mount.cc (cygpath): Return String() for missing mounts. - * package_meta.cc (packagemeta::SDesc): Return String() for blank - descriptions. - * package_meta.h (trusts): Remove - replaced by PackageTrust.h. - (packagemeta::packagemeta): Fix incorrect syntax in String constructor - usage. - * cygpackage.cc (cygpackage::cygpackage): Fix incorrect syntax in - String constructor usage. - * site.h (site_list_type): Ditto. - -2002-05-03 Robert Collins - - * String++.h: Declare a << operator that accepts String objects. - * String++.cc: We need iostream for.. - (operator <<): this. Provide a << operator that accepts String objects. - * ini.cc (yyerror): Remove the "C" classifier - it's not needed. - Change from vargs to a String parameter. - * inilintmail.cc: Remove the gui related headers. - (yyerror): Implement this for parsing. - * iniparse.y: Use the new yyerror syntax. - -2002-05-03 Robert Collins - - * Makefile.am: Add IniState.h. - * Makefile.in: Regenerate. - * IniState.h: New file. - * choose.cc: Don't include ini.h - it's not needed. - * configure: Regenerate. - * desktop.cc: Don't include ini.h - it's not needed. - * download.cc: Ditto. - * fromcwd.cc: Ditto. - * ini.cc: Use IniState.h to track each parsing calling. - (find_routine): Ditto. - (do_remote_ini): Ditto. - (do_ini_thread): Ditto. - * ini.h (ini_init): Adjust parameters to include state object. - * inilex.l: Declare parser state variable. - (ini_init): Adjust parameters to include state object. - * iniparse.y: Remove obsolete setup_timestamp and setup_version - declarations. - (setup_header): Use new state variable to track time and version. - (add_correct_version): Ditto. - * install.cc: Don't include ini.h - it's not needed. - -2002-05-03 Robert Collins - - * nio-files.cc (NetIO): Use io_stream syntax for get_file_size. - * io_stream_file.cc: Don't include filemanip.h. - (io_stream_file::get_size): Implement here to remove filemanip - dependency. - * io_stream_cygfile.cc: Don't include filemanip.h. - (io_stream_cygfile::get_size): Implement here to remove filemanip - dependency. - Implement a stat based version for when win32 is not available. - * filemanip.h (get_file_size): Return size_t - it's more appropriate. - * filemanip.cc: Don't include win32.h - be platform independent. - Include strings.h and io_stream.h as part of that. - (get_file_size): Leverage io_streams and remove win32 implementation. - * download.cc (check_for_cached): Use io_stream syntax for - get_file_size. - (download_one): Ditto. - -2002-05-02 Robert Collins - - * configure.in: Correct a typo in last change. - * configure: Regenerate. - * Makefile.in: Regenerate. - -2002-05-02 Robert Collins - - * configure.in: Check for string.h and string. - * configure: Regenerate. - * Makefile.in: Regenerate. - -2002-05-01 Robert Collins - - * res.rc (IDD_SPLASH): Remove white box. - -2002-05-01 Robert Collins - - Oops! forgot to list these in the last checkin. - * inilintmain.cc: New file. - * md5.h: New file - imported md5 source, BSD style licence. - * md5.cc: New file - imported md5 source, BSD style licence. - * Exception.cc: New file. - * Exception.h: New file. - * MD5++.cc: New file. - * MD5++.h: New file. - -2002-05-01 Robert Collins - - * Makefile.am (AM_CFLAGS): Remove -mwindows, it's a linker flag. - Remove -fno-rtti, we need it for exceptions. - (AM_CXXFLAGS): Ditto. - (WARNONLY_CFLAGS): Ditto. - (EXTRA_PROGRAMS): Add with initial linter sources - not functional yet. - (setup_LDFLAGS): Add and set to -mwindows. - (setup_SOURCES): Add new sources. - * Makefile.in: Regenerate. - * README: Update TODO. - * choose.cc (scan_downloaded_files): Use ini information if it's - available. - * configure: Regenerate. - * download.cc (check_for_cached): Make reusable from elsewhere. - Throw exceptions on errors (as opposed to failures). - Check MD5 sum when it's known. - (download_one): Never force a download. - Handle corrupt package exceptions. - * ini.cc (find_routine): Reverse escape the URL to correctly identify - the site URL. - * inilex.l (MD5): Provide a parsing rule (note: lowercase is required). - * iniparse.y: Allow calculation of MD5 sums, and allow src only - packages. - (process_src): New helper function. - * isntall.cc (install_one_source): Check MD5 sums when possible. - Throw exceptions on errors. - (do_install_thread): Handle exceptions for installation calls. - * package_source.h: Store MD5 information. - * propsheet.cc (PropSheet::Create): Add a useful comment. - * res.rc (IDS_INSTALL_ERROR): Define. - (IDS_CORRUPT_PACKAGE): Define. - * resource.h (IDS_INSTALL_ERROR): Define. - (IDS_CORRUPT_PACKAGE): Define. - * rfc1738.cc (rfc1738_unescape_part): Implement. - * rfc1738.h (rfc1738_unescape_part): Declare. - -2002-04-29 Robert Collins - - * Makefile.am: Remove dependecy rules that automake emits. - Correct badly copied dependency info for manually compiled files. - (setup_SOURCES): Add all used headers. - (EXTRA_DIST): Include non compilate but required sources. - (setup_LDADD): Remove mingw32, it is autodetected. - * Makefile.in: Regenerate. - * String++.h: sys/types is a system header. - * choose.cc (do_choose_thread): Make into a Win32 thread routine. - Use ExitThread. - (ChooserPage::OnMessageApp): Use Win32 threads. (_beginthread is not - portable). - * configure: Regenerate. - * configure.in: Check for mingw32/cygwin specific headers and libraries. - * cygpackage.h: Include the win32.h header to get correct macro - definitions in all situations. - * download.cc (do_download_reflector): Make into a Win32 thread routine. - Use ExitThread. - (do_download): Use Win32 threads. - * ini.cc: Ditto. - * install.cc: Ditto. - * (WinMain): Adjust to build valid command line using application - under both mingw32 and cygwin. - * mount.cc (set)cygdrive_flags): Create new system flags if the - user requests system and the value does not exist. - * nio-http.cc: Define a _strnicmp for cygwin. - * package_db.cc: Include if it exists. - * site.cc (do_download_site_info_thread): Make into a Win32 thread - routine. - Use ExitThread. - (do_download_site-Info): Use Win32 threads. - * state.cc: Explicity declare variables to avoid header conflicts - caused by '#define extern" on cygwin. - * win32.h: Include if it exists. - (_MAX_PATH): Define as MAX_PATH when not defined by windows.h. - (_access): Define as access if not defined by windows.h. - -2002-04-27 Robert Collins - - * compress_gz.cc (compress_gz::error): EOF is not an error condition. - -2002-04-27 Robert Collins - - * Makefile.am: Add libgetopt++ to the subdirs list. - Search the libgetopt++ header directory. - Link against libgetopt++.la. - (setup_SOURCES): Remove GetOption.cc and getopt.c and Option.cc. - (setup_LDADD): Explicitly include res.o. - * Makefile.in: Regenerate. - * aclocal.m4: Regenerate. - * bootstrap.sh: Call libtoolize. - * configure: Regenerate. - * configure.in: Add libtool support and configure libgetopt++. - * desktop.cc (NoShortcutsOption): Turn into a BoolOption. - (DesktopSetupPage::OnInit): Use the simpler syntax. - * desktop.h: Remove dependency on Option.h, and remove NoShortcustOption - declaration. - * main.cc: Include getopt++/GetOption.h. - (main): Use simpler syntax. - * cdefs.h: Remove. - * getopt.h: Remove. - * getopt.c: Remove. - * GetOption.h: Remove. - * GetOption.cc: Remove. - * Option.h: Remove. - * Option.cc: Remove. - -2002-04-26 Robert Collins - - * Makefile.am: Add zlib and bz2lib to SUBDIRS. - -2002-04-26 Robert Collins - - * aclocal.m4: New file, cached macros. - * bootstrap.sh: New file, calls required autotools in appropriate - order. - * Makefile.am: New file, input Makefile for automake. - * Makefile,in: Now a generated file - regenerate. - * configure: Regenerate. - * configure.in: Add automake support. - * inilex.l: Change VERSION to PACKAGEVERSION to avoid a collision with - automake's VERSION define. - * iniparse.y: Ditto. - -2002-04-26 Robert Collins - - * cdefs.h: New file, imported to allow getopt.c to build without - cygwin headers. - * getopt.h: New file, imported to allow building without cygwin headers. - * getopt.c: Ditto. - * bz2lib: New directory, contains copy of bz2lib. - * cfgaux: New directory, contains autotool helper scripts. - * Makefile,in: Adjust library and target definitions for building - outside the sourceware tree. - * compress_bz.h: Use new bz2lib header location. - * mount.cc: Import key defines and enums to be independent of cygwin - headers. - * configure.in: Update to autoconf 2.53, and to be sourceware - independent. - * configure: Regenerate. - -2002-04-12 Robert Collins - - * mklink2.cc (make_link_2): Tweak to work with current w32api - headers. - -2002-04-10 Pavel Tsekov - - * version.cc (canonicalize_version): Fix a call delete[] - to delete the allocated address. - -2002-03-29 Robert Collins - - * PickView.cc (PickView::set_headers): Set last_col correctly. Thanks - to Ton van Overbeek for locating the bug area. - -2003-03-27 Robert Collins - - * PickView.cc (PickView::insert_pkg): Be more generic with - object use. - (PickView::insert_category): Ditto. - (PickView::~PickView): Create. - * PickView.h (PickView::~PickView): Declare. - -2003-03-27 Robert Collins - - * Makefile.in (OBJS): Add new commandline objects. - * desktop.cc (NoShortCutsOption): New option code. - (DesktopSetupPage::OnInit): Check whether to skip shortcuts. - * desktop.h (NoShortCutsOption): New concrete command line option class. - * main.cc (WinMain): Process command line options. - * GetOption.h: New file, singleton command line class. - * GetOption.cc: New file, implementation of the above. - * Option.h : New file, abstract option for GetOption. - * Option.cc: New file, implement constructor and destructor. - -2002-03-26 Pavel Tsekov - - * mkdir.cc (mkdir_p): Stop processing if the path is exhausted. - -2002-03-26 Ton van Overbeek - - * PickPackageLine.cc (PickPackageline::paint): Adjust clipping rectangle - to textheight, so large fonts work. - -2003-03-26 Robert Collins - - * io_stream_cygfile.cc (io_stream_cygfile::mklink): Don't translate - symlinks. - -2003-03-26 Robert Collins - - * io_stream_cygfile.cc (cwd): New static for cwd storage. - (io_stream_cygfile::normalise): New method. - (io_stream_cygfile::io_stream_cygfile): Use it. - (io_stream_cygfile::exists): Ditto. - (io_stream_cygfile::remove): Ditto. - (io_stream_cygfile::mklink): And again. - (cygmkdir_p): Yes, again. - (io_stream_cygfile::move): And once more. - * io_stream_cygfile.h (io_stream_cygfile::normalise): Declare. - (io_stream_cygfile::cwd): Ditto. - -2003-03-26 Robert Collins - - * package_meta.cc (package_meta::~package_meta): Remove duplicate. - (CategoryPackage::~CategoryPackage): Ditto. (Thanks to Ton van - Overbeek for the report). - * mklink2.cc: Moved from mklink2.c to avoid 'not a prototype error'. - Make g++ compatible. - * mklink2.c: Remove. - * site.cc (site_list_type::init): Delete the correct memory addres. - Thanks to Pavel Tsekov for tracking this down. - -2002-03-20 Robert Collins - - * win32.h: Only define alloca if it's not already. - -2002-03-20 Robert Collins - - * package_meta.h (packamgemeta::trustp): Make 'test' choice leave - installed packages alone. - * README: Update with latest requests. - * Various: MTC fixes from setup200202 branch. - -2002-03-19 Christopher Faylor - - * Makefile.in (setup_version.c): Add back magic which allows detection - of setup.exe version number. - -2002-03-17 Robert Collins - - * PickPackageLine.cc (PickPackageLine::paint): Fix incorrect clip region - calculation on win9x systems. - -2002-03-16 Robert Collins - - * install.cc (install_one_source): Write the correct length of a string - to the lst file (Thanks to Pavel Tsekov for reporting the bug). - -2002-03-15 Robert Collins - - * choose.cc (list_click): Always refresh the entire chooser, as our - package state change mechanism is broken with the new improved list - classes. - -2002-03-15 Robert Collins - - * desktop.cc (make_passwd_group): Check for .lnk suffix on /etc/passwd - and /etc/group. - -2002-03-15 Robert Collins - - * PickPackageLine.cc (PickPackageLine::DrawCheck): New method factored - out from paint(). - (PickPackageLine::paint): Use DrawCheck to draw the src tick box, and - the new bin tickbox. - (PickPackageLine::click): Handle the new bin tickbox. - * PickPackageLine.h (PickPackageLine::DrawCheck): Declare this. - * PickView.cc (pkg_headers): Add a Bin? column. - (cat_headers): Ditto. - (PickView::set_headers): Ditto. - (PickView::init_headers): Ditto. - * PickView.h (PickView): Ditto. - * choose.cc (list_click): Use the new name for src_col to set the clip - rectangle. - -2002-02-24 Michael A Chase - - * io_stream_cygfile.cc (io_stream_cygfile::mklink): Fix up Robert's - fixup. - -2002-02-24 Michael A Chase - - * desktop.cc (make_link): Add "file://" prefix to io_stream::mkpath_p() - call. - (make_passwd_group): Ditto. - * localdir.cc (save_local_dir): Ditto. - * io_stream_cygfile.cc (io_stream_cygfile::mklink): Wrap long lines. - Add "cygfile://" prefix to io_stream::open() calls. - -2002-02-24 Robert Collins - - * log.cc (log_save): Fix creating /var/log. - * packate_meta.cc (standard_dirs): Remove duplicate '/''s. - -2002-02-24 Gary R. Van Sickle - - * res.rc (STRINGTABLE): Add IDS_CYGWIN_SETUP and - IDS_CYGWIN_SETUP_WITH_PROGRESS strings. - * resource.h: Add IDS_CYGWIN_SETUP and - IDS_CYGWIN_SETUP_WITH_PROGRESS IDs. - - * splash.cc (OnInit): Qualify SetWindowText() call with global scope - operator (::SetWindowText()). - - * threebar.cc: Run indent. - (cistring.h): Add include. - (SetText1, SetText2, SetText3): Qualify SetWindowText() call with - global scope operator. - (SetBar2): Add logic for writing percent complete into window title. - - * window.h: Run indent. - (SetWindowText): New function. - (String): Add forward declaration. - * window.cc: Run indent. - (String++.h): Add include. - (SetWindowText): New function. - -2002-02-24 Robert Collins - - * README: Update TODO list. - * install.cc (install_one): Fix src package location. - (do_install_thread): Fix creating directories. - -2002-02-19 Robert Collins - - * choose.cc: Include cygpackage.h for scan2 use. - (set_existence): Ignore setup.ini mirrors when installing from cwd. - (scan2): Process any valid file. - Add cache entries when a file matching a setup.ini listed version is - found. - * filemanip.cc (parse_filename): Remove pkgtar - not used anywhere else. - * filemanip.h (filemanip::pkgtar): Remove. - * package_meta.cc (CategoryPackage::~CategoryPackage): New method. - (packagemeta::~packagemeta): Move from package_meta.h - Remove and delete all version and category information. - * package_meta.h (CategoryPackage): Create a destructor. - (packagemeta::~packagemeta): Move to .cc file. - -2002-02-19 Robert Collins - - * install.cc (install_one_source): Make NULL cached package names cause - errors. - -2002-02-18 Michael A Chase - - * desktop.cc (make_passwd_group): Don't create passwd-grp.bat - unnecessarily. - -2002-02-18 Michael A Chase - - * log.cc (log_save): Put "\n" at end of log lines instead of "'". - -2002-02-19 Robert Collins - - * mount.cc (create_mount): Avoid a const char*->char* warning. - (read_mounts): Ditto. - -2002-02-05 Jason Tishler - - * download.cc (do_download_thread): Fix off-by-one error. - -2002-02-19 Robert Collins - - * configure.in (CXXFLAGS): Substitute at configure time, not runtime. - * configure (CXXFLAGS): Regenerate. - * Makefile.in (iniparse.o): Build via default rules - no errors now. - * README: TODO list updates. - -2002-02-19 Michael A Chase - - * String++.cc (String::concat):: Remove. - (String::vconcat):: Ditto. - * String++.h (String::concat):: Remove. - (String::vconcat):: Ditto. - * archive_tar.cc: Don't include concat.h. - * archive_tar_file.cc: Don't include concat.h. - * compress_bz.cc (compress_bz::peek): Don't log unneeded messages. - (compress_bz::seek): Ditto. - (compress_bz::~compress_bz): Ditto. - * compress_gz.cc (compress_gz::peek): Ditto. - (compress_gz::error): Ditto. - (compress_gz::~compress_gz): Ditto. - * concat.cc (vconcat): Remove. - (concat): Ditto. - * concat.h (vconcat): Remove. - (concat): Ditto. - * desktop.cc (desktop_icon): Use new cygpath. - (make_etc_profile): Ditto. - (uexists): Ditto. - (make_passwd_group): Ditto. - (save_icon): Ditto. - (check_desktop): Remove concat use. - (check_start_menu): Ditto. - * download.cc (download_one): Use new mkpath_p correctly. - Use LOG_PLAIN. - * fromcwd.cc: Don't include concat.h. - * geturl.cc (get_url_to_membuf): Use String log() call. - (get_url_to_file): Ditto. - * install.cc: Don't include concat.h. - (uninstall_one): Use LOG_PLAIN. - (replace_one): Ditto. - (install_one_source): Ditto. - (install_one): More char to String conversion. - (do_install_thread): Use new cygpath. - Use new create_mount. - * io_stream.cc (io_stream::move): Use new log(). - * io_stream_cygfile (io_stream_cygfile::io_stream_cygfile): Use new - cygpath. - (io_stream_cygfile::exists): Ditto. - (io_stream_cygfile::remove): Ditto. - (io_stream_cygfile::mklink): Ditto. - (io_stream_cygfile::write): Ditto. - (cygmkdir_p): Ditto. - (io_stream_cygfile::move): Ditto. - * io_stream_file.cc: Don't include log.h. - (io_stream_file::write): Don't log unneeded messages. - * localdir.cc: Don't include concat.h. - (LocalDirPage::OnNext): Use LOG_PLAIN. - * log.cc: Don't include log.h. - (exit_setup): Use new cygpath. - * log.h (log_level): Add new level LOG_PLAIN. - * main.cc (WinMain): Use new log(). - * mount.cc (SLASH_P): New macro from concat.h. - (cygpath): Make String version globally visible. - Remove varargs version. - * mount,h: Ditto. - * msg.cc (mbox): Use LOG_PLAIN. - * net.cc (NetPage::OnNext): Ditto. - * nio-ftp.cc (ftp_line): Use new log(). - * nio-http.cc: Don't include log.h. - (retry_get): Use alternative url variable. - * package_db.cc: Don't include concat.h. - (packagedb::flush): Don't use concat. - * package_meta.cc: Don't include concat.h. - (packagemeta::uninstall): Use new cygpath. - * postinstall.cc (do_postinstall): Ditto. - * root.cc (RootPage::OnNext): Use LOG_PLAIN. - * script.cc: Don't include concat.h. - (init_run_script): Use new cygpath. - (run_script): More char * to String conversion. - (try_run_script): Ditto. - * site.cc: Don't include concat.h. - (SitePage::OnNext): Use LOG_PLAIN. - (SitePage::OnMessageCmd): Use new log(). - * source.cc (SourcePage::OnDeactivate): Use LOG_PLAIN. - -2002-02-19 Robert Collins - - * Makefile.in (OBJS): Add new object. - * PickCategoryLine.cc (PickCategoryLine::paint): Print a "+" before the - name. - * PickCategoryLine.h (PickCategoryLine::bucket): Use the String class. - * PickLine.h (Pickline::key): Change to a String to help plug leaks. - (PickLine::Pickline): Accept a String for the key. - * PickPackageLine.cc (PickPackageLine::paint): Convert all char use to - Strings. - * PickPackageLine.h (PickPackageLine::PickPackageLine): The key is - automatically initialised now. - * PickView.cc (PickView::note_width): Convert all char * use to Strings. - (PickView::init_header): Move category length checking out of the inner - loop for efficiency. - Convert all char use to Strings. - * PickView.h: Include the String++ header. - (PickView::note_width): Update the prototype. - * String++.cc: New file, implements a reference counting string class. - * String++.h: New file, declares a reference counting string class. - * archive.cc: Include String++ instead of concat. - (archive::extract_file): Convert char * usage to Strings. - * archive.h: Inlude the String++ header. - (archive::extract_file): Update prototype. - (archive::next_file_name): Convert to a String. - (archive::linktarget): Ditto. - * archive_tar.cc (archive_tar::next_file_name): Convert to String usage. - (archive_tar::linktarget): Ditto. - * arhive_tar.h: Update the copyright. - Explicitly include the relevant headers. - (tar_map_result_type): Convert to String usage. - (archive_tar::next_file_name): Update prototype. - (archive_tar::linktarget): Ditto. - * category.cc (Category::Category): Update initialisers. - Convert to String usage. - (Categorycmp): Update to String usage. - * category.h: Include the String++ header. - (Category::Category): Update to String usage. - (Category::name): Ditto. - (Category::key): Ditto. - * choose.cc: Remove concat.h, it's not needed. - (scan2): Update to String usage. - (do_choose): Ditto. - * cygpackage.cc: Update includes for use of String class. - (cygpackage::cygpackage): Update for String usage. - (cygpackage::set_canonical_version): Ditto. - (cygpackage::destroy): Ditto. - (cygpackage::getfirstfile): Ditto. - (cygpackage::getnextfile): Ditto. - (cygpackage::Name): Ditto. - (cygpackage::Vendor_version): Ditto. - (cygpackage::Package_version): Ditto. - (cygpackage::Canonical_version): Ditto. - (cygpackage::set_sdesc): Ditto. - (cygpackage::set_ldesc): Ditto. - * cygpackage.h: Include String++.h for parsing this file. - (cygpackage::cygpackage): Update for String usage. - (cygpackage::set_canonical_version): Ditto. - (cygpackage::destroy): Ditto. - (cygpackage::getfirstfile): Ditto. - (cygpackage::getnextfile): Ditto. - (cygpackage::Name): Ditto. - (cygpackage::Vendor_version): Ditto. - (cygpackage::Package_version): Ditto. - (cygpackage::Canonical_version): Ditto. - (cygpackage::set_sdesc): Ditto. - (cygpackage::set_ldesc): Ditto. - (cygpackage::name): Ditto. - (cygpackage::vendor): Ditto. - (cygpackage::packagev): Ditto. - (cygpackage::canonical): Ditto. - (cygpackage::fn): Ditto. - (cygpackage::sdesc): Ditto. - (cygpackage::ldesc): Ditto. - * desktop.cc: Update includes for use of String class. - (batname): Update for String usage. - (iconname): Ditto. - (make_link): Ditto. - (start)menu): Ditto. - (desktop_icon): Ditto. - (make_cygwin_bat): Ditto. - (make_etc_profile): Ditto. - (uexists): Ditto. - (make_passwd_group): Ditto. - (save_icon): Ditto. - (check_desktop): Ditto. - (check_startmenu): Ditto. - * dialog.cc (eget): Update for String usage. - (egetString): New function. - (eset): New variant for Strings. - * dialog.h: Include String++.h for parsing this file. - (egetString): New function. - (eset): New variant for Strings. - * diskfull.cc (diskfull): Update for String usage. - * diskfull.h: Include String++.h for parsing this file. - (diskfull): Update for String usage. - * download.cc: Update includes for use of String class. - (check_for_cached): Update for String usage. - (download_one): Ditto. - * filemanip.cc (get_file_size): Ditto. - (base): Ditto. - (parse_filename): Ditto. - (backslash): Ditto. - * filemanip.h: Include String++.h for parsing this file. - (fileparse): Update for String usage. - (base): Ditto. - (parse_filename): Ditto. - Don't consider '_' to be a separator. - (backslash): Ditto. - * find.cc: Update includes for use of String class. - (find_sub): Make more flexible. - (find): Update for String usage. - * find.h (find): Use Strings. - * fromcwd.cc (found_file): Update for String usage. - * geturl.cc: Ditto. - (init_dialog): Ditto. - (get_url_to_membuf): Ditto. - (get_url_to_string): Ditto. - (get_url_to_file): Ditto. - * geturl.h: Ditto. - (get_url_to_membuf): Ditto. - (get_url_to_string): Ditto. - (get_url_to_file): Ditto. - * hash.h: Ditto. - (add_subdirs): Ditto. - * ini.cc: Update includes for String usage. - (find_routine): Update for String usage. - (do_remote_ini): Ditto. - (do_ini_thread): Ditto. - * ini.h (ini_init): Ditto. - * inilex.l: Update includes for String usage. - (ini_init): Update for String usage. - * iniparse.y: Ditto. - (add_correct_version): Ditto. - * install.cc: Update includes for String usage. - (install_one_source): Update for String usage. - (uninstall_one): Ditto. - (replace_one): Ditto. - (install_one_source): Ditto. - (do_install_thread): Ditto. - * io_stream.cc: Update includes for String usage. - (io_stream::open): Update for String usage. - (io_stream::mkpath_p): Ditto. - (io_stream::remove): Ditto. - (io_stream::mklink): Ditto. - (io_stream::move_copy): Ditto. - (io_stream::move): Ditto. - (io_stream::exists): Ditto. - * io_stream.h: Update includes to allow correct parsing. - (io_stream::open): Update for String usage. - (io_stream::mkpath_p): Ditto. - (io_stream::remove): Ditto. - (io_stream::mklink): Ditto. - (io_stream::move_copy): Ditto. - (io_stream::move): Ditto. - (io_stream::exists): Ditto. - * io_stream_cygfile.cc: Update includes for String usage. - (get_root_dir_now): Update for String usage. - (io_stream_cygfile::io_stream_cygfile): Ditto. - (io_stream_cygfile::~io_stream_cygfile): Ditto. - (io_stream_cygfile::exists): Ditto. - (io_stream_cygfile::remove): Ditto. - (io_stream_cygfile::mklink): Ditto. - (cygmkdir_p): Ditto. - (io_stream_cygfile::set_mtime): Ditto. - (io_stream_cygfile::move): Ditto. - (io_stream_cygfile::get_size): Ditto. - * io_stream_cygfile.h: Update includes for String usage. - (io_stream_cygfile::io_stream_cygfile): Update for String usage. - (io_stream_cygfile::~io_stream_cygfile): Ditto. - (io_stream_cygfile::exists): Ditto. - (io_stream_cygfile::remove): Ditto. - (io_stream_cygfile::mklink): Ditto. - (cygmkdir_p): Ditto. - (io_stream_cygfile::set_mtime): Ditto. - (io_stream_cygfile::move): Ditto. - (io_stream_cygfile::get_size): Ditto. - (io_stream_cygfile::fname): Ditto. - (io_stream_cygfile::lmode): Ditto. - * io_stream_file.cc: Update includes for String usage. - (io_stream_file::io_stream_file): Update for String usage. - (io_stream_file::~io_stream_file): Ditto. - (io_stream_file::exists): Ditto. - (io_stream_file::remove): Ditto. - (io_stream_file::mklink): Ditto. - (io_stream_file::set_mtime): Ditto. - (io_stream_file::move): Ditto. - (io_stream_file::get_size): Ditto. - * io_stream_file.h: Update includes for String usage. - * io_stream_file.cc: Update includes for String usage. - (io_stream_file::io_stream_file): Update for String usage. - (io_stream_file::~io_stream_file): Ditto. - (io_stream_file::exists): Ditto. - (io_stream_file::remove): Ditto. - (io_stream_file::mklink): Ditto. - (io_stream_file::set_mtime): Ditto. - (io_stream_file::move): Ditto. - (io_stream_file::get_size): Ditto. - (io_stream_file::fname): Ditto. - (io_stream_file::lmode): Ditto. - * localdir.cc: Update includes for String usage. - (save_local_dir): Update for String usage. - (check_if_enable_next): Ditto. - (load_dialog): Ditto. - (browse_cb): Ditto. - (LocalDirPage::OnInit): Ditto. - (LocalDirPage::OnNext): Ditto. - * log.cc: Update includes for String usage. - (struct LogEnt): Update for String usage. - (log): Ditto. - (log_save): Ditto. - (exit_setup): Ditto. - * log.h: Update includes for String usage. - (log_level): Update for String usage. - (log): Ditto. - (log_save): Ditto. - * main.cc (WinMain): Update for String usage. - * mklink2.c (make_link_2): Update for String usage. - * mklink2.h (make_link_2): Update for String usage. - * mount.cc: Update includes for String usage. - (mount_table): Update for String usage. - (find2): Ditto. - (create_mount): Ditto. - (remove1): Ditto. - (remove_mount): Ditto. - (read_mounts): Ditto. - (set_root_dir): Ditto. - (get_root_dir): Ditto. - (path_prefix_p): Ditto. - (cygpath): Ditto. - * mount.h: Update includes for String usage. - (create_mount): Update for String usage. - (remove_mount): Ditto. - (cygpath): Ditto. - (set_root_dir): Ditto. - (get_root_dir): Ditto. - * msg.cc (mbox): Ditto. - * net.cc (NetPage::OnNext): Ditto. - * package_db.cc (packagedb::flush): Ditto. - (packagedb::packages): Ditto. - (packagedb::categories): Ditto. - * package_db.h: Update includes for String usage. - (packagedb::packages): Update for String usage. - (packagedb::categories): Ditto. - * package_meta.cc: Update includes for String usage. - (hash::add_subdirs): Update for String usage. - (packagemeta::uninstall): Ditto. - (packagemeta::SDesc): Ditto. - (packagemeta::action_caption): Ditto. - * package_meta.h: Update includes for String usage. - (packagemeta::packagemeta): Update for String usage. - (packagemeta::~packagemeta): Ditto. - (packagemeta::uninstall): Ditto. - (packagemeta::SDesc): Ditto. - (packagemeta::action_caption): Ditto. - (package_source.cc site::site): Ditto. - (packagesource::set_canonical): Ditto. - (packagesource::set_cached): Ditto. - * package_source.h: Update includes for String usage. - (site::site): Update for String usage. - (packagesource::set_canonical): Ditto. - (packagesource::set_cached): Ditto. - (packagesource::packagesource): Ditto. - (packagesource::sites): Ditto. - (packagesource::cached): Ditto. - * package_version.h: Update includes for String usage. - (Dependency): Update for String usage. - (packageversion): Ditto. - * postinstall.cc: Update includes for String usage. - (do_postinstall): Update for String usage. - * res.rc (IDD_LOCAL_DIR): Fix typo again! - * rfc1738.cc (rfc1738_escape_part): Update for String usage. - * rfc1738.h: Update includes for String usage. - (rfc1738_escape_part): Update for String usage. - * root.cc: Update includes for String usage. - (check_if_enable_next): Update for String usage. - (save_dialog): Ditto. - (browse_cb): Ditto. - (directory_is_absolute): Ditto. - (directory_is_rootdir): Ditto. - (directory_has_spaces): Ditto. - (RootPage::OnInit): Ditto. - (RootPage::OnNext): Ditto. - * script.cc: Update includes for String usage. - (init_run_script): Update for String usage. - (run): Ditto. - (run_script): Ditto. - (try_run_script): Ditto. - * script.h: Update includes for String usage. - (run_script): Update for String usage. - (try_run_script): Ditto. - * site.cc site_list): Ditto. - (all_site_list): Ditto. - (other_url): Eliminate. - (site_list_type::init): Update for String usage. - (site_list_type::site_list_type): Ditto. - (get_site_list): Ditto. - (get_saved_sites): Ditto. - (do_download_site_info_thread): Ditto. - (SitePage::OnNext): Ditto. - (SitePage::OnActivate): Ditto. - (SitePage::PopulateListBox): Ditto. - (SitePage::OnMessageCmd): Handle empty url's. - * site.h: Update includes for String usage. - (site_list_type::site_list_type): Update for String usage. - (site_list_type::init): Ditto. - (site_list_type::~site_list_type): Ditto. - (site_list_type::url): Ditto. - (site_list_type::displayed_url): Ditto. - (site_list_type::key): Ditto. - * source.cc (SourcePage::OnDeactivate): Ditto. - * state.h: Update includes for String usage. - (local_dir): Update for String usage. - (trust_level): Remove. - * version.cc: Update includes for String usage. - (canonicalize_version): Update for String usage. - * version.h: Update includes for String usage. - (canonicalize_version): Update for String usage. - -2002-02-15 Christopher Faylor - - * filemanip.c (parse_filename): Revert previous change. - -2002-02-14 Christopher Faylor - - * filemanip.c (parse_filename): Don't treat '_' as a version number - introducer. - -2002-01-29 Christopher Faylor - - * configure: Regenerate. - -2002-01-27 Robert Collins - - * res.rc (IDD_LOCAL_DIR): Fix typo reported by Rene - - -2002-01-27 Robert Collins - - * README: Update Todo's. - * list.h: Run indent. - (list): New methods checksize and insert to reduce code duplication. - (list::registerbykey): Use them. - (list::registerbyobject): Ditto. - (list::removebyindex): Copy each object individually - safe for non - trivial objects. - (list::checksize): Implement. - (list::insert): Implement. - -2002-01-27 Robert Collins - - * Makefile.in: Remove the dlmalloc object by default. - * install.cc (do_install_thread): Remove the mallinfo call for 'working - around' the crashing issue. - * package_db.h: Include - it's needed to parse this. - * package_source.cc (site::site): Move here from the header file. - * package_source.h (site): Stop the constructor being inlinable. - -2002-01-26 Robert Collins - - * filemanip.cc (find_tar_ext): Add a descriptive comment. - -2002-01-25 Michael A Chase - - * filemanip.cc (find_tar_ext): Clean up tests for .tar.gz and .tar. - * fromcwd.cc (do_fromcwd): Expand FIXME comment in source file check. - * install.cc (install_one_source): Add space between words in log() - call. - -2002-01-22 Robert Collins - - * log.cc (exit_setup): When saving to the download dir, explicity - specify the path. - -2002-01-22 Robert Collins - - * archive.cc (extract_file): Separate out the prefix and the URL - scheme. - * archive.h (archive::extract_file): Ditto. - * install.cc (install_one_source): Ditto. Use the new - archive::extract_file syntax. - (replace_one): Use the new syntax. - (io_stream.cc): Add some log info for links. - -2002-01-22 Robert Collins - - * PickCategoryLine.cc (PickCategoryLine::actiontext): Remove. - (PickCategoryLine::paint): Use the new action method. - (PickCategoryLine::click): Set the action for all children. - (PickCategoryLine::set_action): New method. - * PickCategoryLine.h (PickCategoryLine::-actions): Remove. - (PickCategoryLine::current_default): Use packagemeta _actions class. - * PickLine.h (PickLine::set_action): New abstract method that requires - including package_meta.h. - * PickPackageLine.cc (PickPackageLine::set_action): New method. - * PickPackageLine.h (PickPackageLine::set_action): Declare this. - * list.h (getbykey): A const correctness fix. - * package_meta.cc: Run indent. - (packagemeta::Default_action): New const. - (packagemeta::Install_action): Ditto. - (packagemeta::Reinstall_action): Ditto. - (packagemeta::Uninstall_action): Ditto. - (packagemeta::_actions::caption): New method. - (packagemeta::_actions::operator++): Ditto. - (packagemeta::set_action): New overload. - * package_meta.h (packagemeta::_actions): New class. - (packagemeta::set_action): Declare this. - -2002-01-22 Robert Collins - - * Makefile.in (OBJS): Remove supp.o - it appears accidental. - * choose.cc: Don't define alloca anymore, it's done in win32.h - -2002-01-22 Robert Collins - - * PickPackageLine.cc: New file. - * PickPackageLine.h: New file. - * PickLine.cc: New file. - * PickLine.h: New file. - * PickCategoryLine.cc: New file. - * PickCategoryLine.h: New file. - * PickView.cc: New file. - * PickView.h: New file. - * Makefile.in: Add new objects to setup.exe. - Backout -fno-exceptions option. - * choose.cc: Include PickView.h. - Remove view related defines and static variables. - (_pkg_headers): Moved to PickView.cc. - (_cat_headers): Ditto. - (view::views::Unknown): Ditto. - (view::views::PackageFull): - (view::views::Package): - (view::views::Category): - (pkgtrustp): Moved to package_meta.cc. - (add_required): Moved to package_meta.cc. - (pick_category_line::empty): Moved to PickCategoryLine.cc - (paint): Adjust for moved static variables. - (view::scroll): Moved to PickView.cc. - (list_vscroll): Adjust for moved static variables. - (list_hscroll): Ditto. - (list_click): Ditto. - (note_width): Moved to PickView.cc. - (view::view): Ditto. - (view::set_view_mode): Ditto. - (view::mode_caption): Ditto. - (view::views::caption): Ditto. - (view::set_headers): Ditto. - (DoInsertItem): Ditto. - (view::init_headers): Ditto. - (view::insert_pkg): Ditto. - (view::insert_category): Ditto. - (view::clear_view): Ditto. - (view::views::operator++): Ditto. - (view::click): Ditto. - (default_trust): Adjust for moved statics. - (pick_pkg_line::paint): Moved to PickPackageLine.cc. - (pick_pkg_line::click): Ditto. - (pick_category_line::actiontext): Moved to PickCategoryLine.cc - (pick_category_line::paint): Ditto. - (pick_category_line::click): Ditto. - (set_view_mode): Adjust for moved statics. - (create_listview): Ditto. - * choose.h: Remove Category and packagemeta forward defines - - not needed. - Don't include unneeded headers list and package_meta. - (_header): Move to PickView.h. - (pick_line): Move to PickLine.h. - (pick_pkg_line): Move to PickPackageLine.h. - (pick_category_line): Move to PickCategoryLine.h. - (view): Move to PickView.h. - * ini.h (trusts): Move to package_meta.h. - * package_meta.h (trusts): New enum. - (packagemeta::set_requirements): New helper method. - (packagemeta::trustp): Ditto. - -2002-01-21 Christopher Faylor - - * choose.h (view): Move forward declaration of views into public area - or g++ v3 will complain. - -2002-01-21 Christopher Faylor - - * Makefile.in (CXXFLAGS): Add -fno-exceptions. - * win32.h (alloca): Define as __builtin_alloca. - * io_stream_memory.cc: Add include file. - -2002-01-21 Robert Collins - - * archive_tar.cc (archive_tar::~archive_tar): Mark the stream as - destroyed. - * archive_tar_file.cc (archive_tar_file::~archive_tar_file): Ditto. - * compress.cc (compress::~compress): Be less verbose. - * compress_bz.cc (compress_bz::~compress_bz): Ditto. - Mark the stream as destroyed. - * compress_gz.cc (compress_gz::~compress_gz): Mark the stream as - destroyed. - * io_stream.cc (io_stream::~io_stream): Only warn when the stream is not - marked as destroyed. - * io_stream_cygfile.cc (io_stream_cygfile::~io_stream_cygfile): Mark the - stream as destroyed. - * io_stream_file.cc (io_stream_file::~io_stream_file): Ditto. - * io_stream_memory.cc (io_stream_memory::~io_stream_memory): Ditto. - -2002-01-21 Robert Collins - - * Makefile.in (CFLAGS): Allow customisable malloc debug flags. - (OBJS): Link in malloc objects. - * category.cc (category): Use new char, not strdup. - * choose.cc (pick_pkg_line::paint): Allow for the regionsize to shrink. - (do_choose): Use new char, not malloc. - * concat.cc (vconcat): Ditto. - * cygpackage.cc (cygpackage): Use new char, not strdup. - (set_canonical_version): Ditto. - (cygpackage::destroy): Use delete[], not free. - * desktop.cc (uexists): Ditto. - * dialog.cc (egest): Use new char, not strdup. - * dlmalloc.c: New file - Doug Lea's malloc 2.7.0 - * hash.cc (hash::hash): Use delete instead of free. - (hash::add): Use new char, not strdup. - * ini.cc (do_remote_ini): Use delete[] not free. - * inilex.l: Use new char, not strdup. - (ini_init): Ditto. - * iniparse.y: Ditto. - Use a local package_db rather than a static one. - * install.cc (struct mallinfo): Workaround an apparent dlmalloc bug. - (do_install_thread): Call mallinfo to force a consistency check. Appears - to fix a 'inuse' error in -DDEBUG builds. - Use delete[] for strings. - * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): Use new - char, not strdup. - (io_stream_cygfile::~io_stream_cygfile): Use delete[], not free. - (io_stream_cygfile::remove): Use new char, not strdup. - * io_stream_file.cc (io_stream_file::io_stream_file): Use new char, not - strdup. - (io_stream_file::io_stream_file): Use delete[], not free. - (io_stream_file::remove): Use new char, not strdup. - * io_stream_memory.cc (memblock::~memblock): Use delete[], not free. - * io_stream_memory.h (memblock): Use new char, not malloc. - * localdir.cc (LocalDirPage::OnInit): Use new char, not strdup. - * main.cc (WinMain): Use new char, not strdup. - * mount.cc (find2): Use new char, not malloc. - (read_mounts): Ditto. - (cygpath): Use new char, not strdup. - * netio.cc (NetIO::~NetIO): Use delete[], not free. - (NetIO::set_url): Use new char, not strdup. - (NetIO::get_ftp_auth): Use delete[], not free. - * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Ditto. - Use new char instead of strdup. - * nio-http.cc (base64_encode): Use new char, not malloc. - * package_meta.cc (hash::add_subdirs): Use new char instead of strdup. - * package_source.h (~ packagesource): Use delete[] instead of delete. - * port.h (strdup): Deprecate the use of strdup. - * rfc1738.cc (rfc1738_do_escape): Use new char, not calloc. - * script.cc (init_run_script): Us delete[], not free. - (run_script): Ditto. - * simpsock.cc (SimpleSocket::fill): Use new char, not malloc. - (SimpleSocket::invalidate): Use delete[], not free. - * site.cc (site_list_type::init): Use new char instead of strdup. - * site.h (~site_list_type): Use delete[], not free. - -2002-01-20 Robert Collins - - * Makefile.in (OBJS): Add win32.o - win32 support functions. - * README: Update todos. - * archive.cc (extract_file): Support a suffix for appending to extracted - files. - * archive.h: Ditto. - * choose.cc (set_view_mode): Use the new view::views class. - (view::views::Unknown): New static for defaulting view::views variables. - (view::views::PackageFull): New static for the current view. - (view::views::Package): Ditto. - (view::views::Category): Ditto. - (topbucket::paint): Remove. - (topbucket::empty): Rename to pick_category_line::empty. - (topbucket::~topbucket): Remove. - (paint): Use the new view::views class. - Don't paint 'all' as a category when showing package categoies. - (pick_category_line::actiontext): New method. - (pick_category_line::paint): Make showing the category optional, and - show the 'category action'. - (pick_category_line::click): Make showing the category optional, and - differentiate between the name being clicked, and the action - description. - (view::view): Use the new view::views class. - (view::set_view_mode): Ditto. - (view::mode_caption): Ditto. - (view::views::caption): New method. - (view::set_headers): Use the new view::views class. - (view::clear_view): Ditto. - (viewsplusplus): Replaced by - (view::views::operator++): New operator. - (set_view_mode): Use the new view::views class. - (create_listview): Ditto. - (dialog_cmd): Ditto. - * choose.h (actions): Remove. - (views): Remove. - (pick_line): Add a new convenience constructor. - (top_bucket): Remove. - (pick_category_line): Reparent under pick_line, and adsorb top_bucket. - (view::views): New class. - * ini.h: Don't include choose.h - (is_download_action): Remove. - (is_upgrade_action): Remove. - (is_uninstall_action): Remove. - (is_full_action): Remove. - * install.cc (num_replacements): New static. - (rebootneeded): Ditto. - (replace_one): Handle upgrades separate from removal or new installs. - (install_one_source): Handle in use files. - (install_one): Don't repeat upgrades. - (do_install_thread): Initialize new statics. - Order actions as uninstall, replace, install. - Warn about rebooting if needed. - * res.rc (IDS_REBOOT_REQUIRED): New string. - * resource.h (IDS_REBOOT_REQUIRED): Give value. - * win32.h: Declare class Win32, and update copyright and intent message. - * win32.cc: New file. - -2002-01-15 Corinna Vinschen - - * io_stream.cc (io_stream::gets): Eliminate trailing new line chars. - * package_meta.cc (packagemeta::uninstall): Check for additional - Windows shortcut. Unset R/O file attribute before trying to delete - file. - -2002-01-09 Robert Collins - - * choose.cc (pkgtrustp): Fall back to installed if a package is not - present in the current trust level. For prev, fall back via curr. - (set_existence): Allow sources with no sites, but cached files to be - kept. - (pick_category_line::paint): Start drawing clickable categories. - * fromcwd.cc (found_file): Reinstate local file scanning. - -2002-01-07 Gary R. Van Sickle - - * fromcwd.cc: Run indent. - (do_fromcwd): Reverse sense of comment. Set next_dialog - to IDD_CHOOSER instead of IDD_CHOOSE. - * ini.cc (find_routine): Remove "/" from "/setup.ini". - -2001-01-07 Robert Collins - - * category.cc (Categorycmp): Add a const safe version. - * category.h (Categorycmp): Add a const safe version. - (Category): Add operator ==. - * choose.cc (fill_missing_category): Add every package to "All". - (pick_category_line::paint): Add support for hidden labels, and a tree - depth. - (pick_category_line::click): Ditto. - (view::view): Pass in a top level category to use. - (view::insert_pkg): Special case - skip category "All". - (view::insert_category): Ditto. - (view::clear_view): Set the contents label state. - (create_listview): Pass in a top level category to view(). - * choose.h (topbucket): Make bucket available to derived classes. - (pick_category_line): Add support for hidden labels, and a tree depth. - Remove our second copy of bucket. - (view): Pass in a top level category to the constructor. - Use pick_category_line to allow three level display. - -2001-01-06 Robert Collins - - * cygpackage.h (cygpackage): Make set_[s|l]desc virtual. - * iniparse.y (add_correct_version): Copy descriptions across. - * package_meta.cc (SDesc): Iterate through versions, return the first - with a description. - * package_version.h (packageversion): Add new virtuals set_[l|s]desc. - -2001-01-04 Robert Collins - - * script.cc (run_script): Change cygpath:// to cygfile://. - * install.cc (do_install_thread): Fix off-by-one errors. - -2001-01-04 Robert Collins - - * package_db.cc (packagedb::flush): Fix an off-by-one error. - -2002-01-04 Jan Nieuwenhuizen - - * Makefile.in (realclean): more clean. - (OBJS): Add script.o. - * postinstall.cc (run_script_in_etc_postinstall): New function. - (do_postinstall): Split off new funtion init_run_script (). - (init_run_script): - (run): - (run_script): Move to script.cc. Replace some deprecated remove - and move calls. - * script.h: - * script.cc: New file. - * Forward port cygwin-20010707.jcn3.patch. - * package_meta.cc (uninstall): Run pre- and postremove scripts. - * install.cc: Typo fix. - (do_install): Run script initialisation. - -2001-01-04 Gary R. Van Sickle - - * cistring.cc: Run d2u. - * cistring.h: Run d2u. - - * desktop.cc (etc_profile): Remove "test -f ./.bashrc && . ./.bashrc" - from the generated /etc/profile. Bash will source this file - automatically, and having this here merely results in .bashrc being - executed twice. Run d2u. - * desktop.h: Run d2u. - - * propsheet.cc: Run d2u. - (PropSheetProc): New function. Add minimize box here instead of in - PropertyPage::DialogProc. - (PropSheet::Create): Change to use creation callback PropSheetProc. - (DLGTEMPLATEEX): Add 'hidden' Windows struct definition. - - * propsheet.h: Run indent, d2u. - * proppage.h: Run indent, d2u. - - * proppage.cc: Run d2u. - (PropertyPage::DialogProc): Remove minimize-box-adding - functionality. Remove commented-out "PropSheet_SetWizButtons" calls. - Add support for calling virtual OnMessageCmd. Add setting of fonts in - WM_INITDIALOG handler. - (resource.h): New include for resource IDs. - - * res.rc: Resize and rearrange property page dialog templates - to bring them in line with "Microsoft's Backward Compatible Wizard 97" - specification. Run d2u. - (IDD_SITE): Add an edit control and an "Add" button in order to - combine the IDD_SITE and IDD_OTHER_URL functionality onto one page. - (IDD_OTHER_URL): Remove dialog template. - (IDD_DLSTATUS): Remove dialog template. - - * site.cc: Run d2u. - (SitePage::OnBack): Remove NEXT() macro invocation. - (SitePage::OnActivate): New member function. - (load_dialog): Remove. Functionality subsumed into - SitePage::OnActivate. - (save_dialog): Change to support both list and user URLs. Remove - OTHER_IDX and mirror_idx logic. - (SitePage::PopulateListBox): New member function. - (SitePage::CheckControlsAndDisableAccordingly): New member function. - (SitePage::OnMessageCmd): New override. - (check_if_enable_next): Remove. - (dialog_cmd): Remove. - (do_download_site_info_thread): Remove calls to NEXT() macro. - (SitePage::Create): Call the single-param PropertyPage::Create - overload. - (other_url): New static taken from other.cc. - (SitePage::OnNext): Remove mirror_idx logic. - (SitePage::OnInit): Remove "Other URL" entry from list box. Remove - list box populating code, now handled in SitePage::PopulateListBox. - (mirror_idx, NO_IDX, OTHER_IDX): Remove. - (save_site_url): Fix potential buffer overflow problem. Switched to - TCHAR in grossly premature preparation for multilingual support. - * site.h: Run d2u. - (SitePage::OnActivate): New member function. - (SitePage::CheckControlsAndDisableAccordingly) New member. - (SitePage::OnMessageCmd): New override. - (do_download_site_info_thread): Add MessageBox call on failure to - download site list. - - * splash.cc: Run d2u. - (SplashPage::OnInit): Set the font for the title. - * splash.h: Run d2u. - - * threebar.cc: Run d2u. - * threebar.h: Run d2u. - - * window.h: Run d2u. - (Window::IsButtonChecked): New member function declaration. - (Window::OnMessageCmd): New member function. - (Window::SetDlgItemFont): New member function declaration. - (Window::MAXFONTS, Window::Fonts, Window::FontCounter): New data - members. - * window.cc: Run d2u. - (Window::IsButtonChecked): New member function definition. - (Window::SetDlgItemFont): New member function definition. - (Window::Window): Add initialization for FontCounter. - (Window::~Window): Delete any fonts we created. - - * geturl.cc: Run d2u. - (progress): Remove the "3" field width from the "%3d" - percent-complete format indicator. Causes line to not start at - beginning of text box, and does little to help with "jumping", since - the "bytes downloaded so far" field is variable-width anyway. Change - kb/s format field to "%03.1" to 0-pad the kb/s number in the event of - painfully slow connections, or temporary slowdowns in faster - connections should such more-instantaneous functionality become - available. - - * net.h: Run d2u. - (NetPage::OnMessageCmd): New member function declaration. - (NetPage::CheckIfEnableNext): New member function declaration. - * net.cc: Run d2u. - (NetPage::OnMessageCmd): New member function definition. - (dialog_cmd): Remove, subsumed into NetPage::OnMessageCmd. - (check_if_enable_next): Remove. - (NetPage::CheckIfEnableNext): New member function, subsumes - check_if_enable_next. - (propsheet.h): Add include. - (NetPage::Init): Add call to CheckIfEnableNext. - (load_dialog): Remove call to check_if_enable_next. - (NetPage::Create): Call single-template-ID-parameter overload of - PropertyPage::Create instead of three-parameter one. - - * Makefile.in (OBJS): Remove other.o. - * other.cc: Remove file. - -2002-01-01 Robert Collins - - * README: Update TODO's. - * choose.cc (set_existence): Delete non installed packages with no - mirrors. - (fill_missing_category): Fix an off-by-one error. - (default_trust): Ditto. Also delete any unused categories. - (view::init_headers): Fix an off-by-one error. - (set_view_mode): Ditto. - (set_view_mode): Ditto. - (create_listview): Ditto. - (dialog_cmd): Ditto. - (do_choose): Ditto. - * io_stream.cc: Indent. - * io_stream.h: Ditto. - * package_db.cc: Ditto. - * package_meta.h: Const correctness for SDesc (); - * proppage.cc: Run d2u and indent. - * propsheet.cc: Run d2u and indent. - * window.cc: Run d2u and indent. - * window.h: Run d2u and indent. - -2001-12-28 Christopher Faylor - - * Makefile.in (iniparse.o): Accommodate newer bisons. - -2001-12-23 Gary R. Van Sickle - - * window.h (Window): New file, new class. - * window.cc (Window): New file, new class. - - * threebar.h (ThreeBarProgressPage): New file, new class. - * threebar.cc (ThreeBarProgressPage): New file, new class. - - * splash.h (SplashPage): New file, new class. - * splash.cc (SplashPage): Replace file with implementation of new - class. - - * source.h (SourcePage): New file, new class. - * source.cc: Run indent. - (SourcePage): Add class implementation to this file. - (do_source): Remove, functionality subsumed by SourcePage::Create() - and SourcePage::OnDeactivate(). - (dialog_proc): Remove, functionality subsumed by - SourcePage::OnActivate(). - - * site.h: Run indent. - (SitePage): Add class declaration. - * site.cc: Run indent. - (SitePage): Add class implementation. - (do_download_site_info_thread): New function. - (context): New var. Context info for do_download_site_info_thread(). - (do_download_site_info): New function. - (SitePage::Create, SitePage::OnInit SitePage::OnNext) - (SitePage::OnBack): SitePage class implementation.. - (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL handlers, now handled - by SitePage members. - (dialog_proc): Remove, now handled by SitePage::OnInit and base class - functionality. - (do_site): Remove, now handled by do_download_site_info_thread() and - SitePage::OnNext functionality. - (get_site_list): Remove dismiss_url_status_dialog() call. - - * root.h (RootPage): New file, new class. - * root.cc: Run indent. - (dialog_cmd): Pass parent HWND parameter to note(), yesno(). - (dialog_proc): Remove. - (do_root): Remove - (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL clauses from switch. - (RootPage::OnInit): New member function. Move get_root_dir() logic to - here from do_root(). - (RootPage::Create): New member function. - (RootPage::OnNext): New member function. Move IDOK logic from - dialog_cmd() to here. - (RootPage::OnBack): New member function. - - * propsheet.h (PropSheet): New file, new class. - * propsheet.cc (PropSheet): New file, new class. - - * proppage.h (PropertyPage): New file, new class. - * proppage.cc (PropertyPage): New file, new class. - - * postinstall.cc (do_postinstall): Add owner parameter. - - * other.cc (do_other): Add owner parameter. - - * nio-file.cc (NetIO::Purl): Pass NULL parent param to note(). - * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Pass NULL parent param to - get_ftp_auth(). - * nio-http.cc (retry_get): Pass NULL parent param to get_auth(), - get_proxy_auth(), - and get_ftp_auth(). - * nio-ie5.cc (NetIO::_url): Pass NULL parent param to note(), - get_auth(), get_proxy_auth(). - - * netio.h (get_auth, get_proxy_auth, get_ftp_auth): Add owner param. - * netio.cc (auth_common, NetIO::get_auth, NetIO::get_proxy_auth, - NetIO::get_ftp_auth) - (auth_common): Add owner param. Pass owner param to DialogBox. - (NetIO::get_auth, NetIO::get_proxy_auth, NetIO::get_ftp_auth): Pass - owner param to auth_common(). - - * net.h (NetPage): New file, new class. - * net.cc: Run indent. - (net.h, threebar.h): Add includes. - (Progress): Add extern. - (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, now handled by - property sheet logic. Saved temporarily for reference. - (NetPage::Create, NetPage::OnInit, NetPage::OnDeactivate, - NetPage::OnNext, NetPage::OnBack): - New implementation of NetPage class members. - (do_net): Remove. - (dialog_proc): Remove. - - * msg.h (fatal, note, yesno): Add owner param. - * msg.c (fatal, note, yesno, mbox): Add owner param. - (mbox): Remove MB_TOPMOST from MessageBox call. Unnecessary and wrong - now that we have a parent. - - * main.cc: Run indent. - (commctrl.h, proppage.h, propsheet.h, splash.h, source.h) - (localdir.h, net.h, site.h, choose.h, threebar.h, desktop.h): Include - headers. - (root_dialog_proc): extern into this file. - (Progress): Progress dialog defined here, used in several other files. - (WinMain): Instantiate and create Splash, Source, Root, LocalDir, Net, - Site, Chooser, Desktop pages and MainWindow sheet. Call - InitCommonControls() to make sure Windows is set up for our use of - property sheets. Add pages to sheet. - Call MainWindow.Create() to "DoModal". Remove main loop, that logic is - now handled by the PropSheet class. - (root.h): Add include. - - * log.cc (log_save): Pass NULL parent to fatal(). - (exit_setup): Pass NULL parent to note(). - - * localdir.h (LocalDirPage): New file, new class. - * localdir.cc: Run indent. - (localdir.h): New include. - (threebar.h): New include. - (Progress): extern into this file. - (LocalDirPage::Create, LocalDirPage::OnInit, LocalDirPage::OnActivate) - (LocalDirPage::OnNext, LocalDirPage::OnBack): Implementation of - LocalDirPage. - (LocalDirPage::OnNext): Move log() call from do_local_dir() to here. - (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL handlers. - (do_local_dir): Remove. - (dialog_proc): Remove. - (cwd): Remove, not used by anything. - - * install.cc: Run indent. - (process.h, threebar.h): New includes. - (Progress): extern into this file. - (ins_dialog, ins_action, ins_pkgname, ins_filename, ins_pprogress) - (ins_iprogress, ins_diskfull, init_event): Remove, now handled by - ThreeBarProgressPage. - (dialog_cmd, dialog_proc, dialog): Removed, handled in - ThreeBarProgressPage. - (init_dialog): Remove all mention of the above ins_* handles. Now - handled in ThreeBarProgressPage. Altered SetWindowText()s to call - ThreeBarProgressPage instance Progress directly. - (progress): Alter bar update logic to call ThreeBarProgressPage - instance Progress directly. - (uninstall_one): Alter SetWindowText()s to call ThreeBarProgressPage - instance Progress directly. - (install_one_source): Alter SetWindowText()s to call - ThreeBarProgressPage - instance Progress directly. Pass NULL parent to note(). - (do_install_thread): Rename from do_install(), added owner param. - Alter SetWindowText()s to call ThreeBarProgressPage instance Progress - directly. - Remove dismiss_url_status_dialog() call, no longer necessary. Remove - ShowWindow() call, also unnecessary now. Pass owner handle to - fatal(). - (do_install_reflector): New function. - (do_install): New function. - - * ini.cc (process.h, threebar.h): New includes. - (Progress): externed into this file. - (find_routine): Pass NULL parent to note(). - (do_local_ini): Add owner param. - (do_remote_ini): Add owner param. Pass owner to get_url_to_membuf() - and note(). Remove call to dismiss_url_status_dialog(). - (do_ini_thread): Rename from do_ini(). Add owner param. Pass owner to - do_local_ini(), do_remote_ini(), yesno(), and note(). Set next_dialog - to IDD_CHOOSER on exit. - (do_ini_thread_reflector): New function. - (context): New var. Context for do_ini_thread. - (do_ini): New function. - - * geturl.h (get_url_to_membuf, get_url_to_string, get_url_to_file): Add - owner param. - * geturl.cc (gw_dialog, gw_url, gw_rate, gw_progress, gw_pprogress, - gw_iprogress) - (gw_progress_text, gw_pprogress_text, gw_iprogress_text, init_event): - Removed. - (threebar.h): New include. - (Progress): externed into this file. - (dialog_cmd, dialog_proc, dialog): Removed, handled by - ThreeBarProgressPage now. - (init_dialog): Remove "if (gw_dialog == 0)" clause. Alter - SetWindowText()s - and bar setting SendMessage()s to call ThreeBarProgressPage instance - Progress directly. Remove "one bar only" logic, this is now handled - explicitly in the ThreeBarProgressPage class. - (progress): Altered bar and text update logic to call - ThreeBarProgressPage instance Progress directly. Changed kbps - calculation to floating point and now print out a single decimal - place. - (get_url_to_membuf): Add owner param. Pass it to init_dialog. - (get_url_to_string): Add owner param. Pass it to get_url_to_membuf. - (get_url_to_file): Add owner param. Pass it to init_dialog. Alter bar - update logic to call ThreeBarProgressPage instance Progress directly. - (dismiss_url_status_dialog): Remove. - - * fromcwd.cc (do_fromcwd): Add owner param. Initialize found_ini to - false, was true. - - * download.cc: Run indent. - (process.h, threebar.h): New includes. - (Progress): externed into this file. - (download_one): Add owner param. Pass it to get_url_to_file(). - (do_download_thread): Renamed from do_download. Add owner param. When - calculating total_download_bytes, take binpicked and srcpicked into - account. Remove call to dismiss_url_status_dialog(), no longer needed. - Pass owner handle to download_one() and yesno(). - (do_download_reflector, do_download): New functions. - (context): New var. Context for do_download_thread(). - - * dialog.h (D(x)): Add owner param. - - * desktop.h (DesktopSetupPage): New file, new class. - * desktop.cc: Run indent. - (desktop.h): Add include. - (dialog_proc, do_desktop): Remove, now handled in - DesktopSetupPage::OnInit(). - (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, handled in - DesktopSetupPage::OnFinish(), DesktopSetupPage::OnBack(), and PropSheet - resp. - (DesktopSetupPage::Create, DesktopSetupPage::OnInit) - (DesktopSetupPage::OnBack, DesktopSetupPage::OnFinish): Implementation - of DesktopSetupPage. - - * cistring.h: New file, new class. - * cistring.cc: New file, new class. - - * choose.h: Run indent. - (Chooser): New class declaration. - * choose.cc: Run indent. - (do_choose): Add owner param. Pass it to DialogBox() and - fatal(). - (Chooser): New class implementation. - - * res.rc (IDS_VERSION_INFO): New string. - (IDD_SOURCE, IDD_LOCAL_DIR, IDD_ROOT, IDD_SITE, IDD_OTHER_URL) - (IDD_DLSTATUS, IDD_INSTATUS, IDD_SPLASH, IDD_CHOOSE, IDD_DESKTOP): - Change WS_POPUP to WS_CHILD. Numerous positioning/size changes - throughout. - (IDD_CHOOSE): Give template the WS_EX_CONTROLPARENT style to enable - TAB control navigation etc. Give the controls a reasonable tab order. - Grouped radio buttons. Something's still not right, can't tab away - from back/next/cancel group reliably. - * resource.h (IDD_CHOOSER): New dialog ID. - - * Makefile.in (OBJS): Add cistring.o, proppage.o, propsheet.o, - threebar.o, and window.o. - -2001-12-21 Robert Collins - - * choose.cc (listview_proc): Update the scrollbar when the headers are - dragged. - (pick_pkg_line::paint): Clip columns to prevent overlap. - -2001-12-20 Robert Collins - - * Makefile.in: Add libcomctl32.a for setup.exe. - * archive.h (archive): Prevent non-child direct creation of the class. - * archive_tar.h (archive_tar): Prevent inaccurate synthetic copy and - assignment. - * choose.cc: Include commctrl for the choose header. - (NEW_COL_SIZE_SLOP): Define without magic numbers. - (pkgtrustp): Convert to function. - (set_action): Remove. - (add_required, fill_missing_category,default_trust): Use list syntax for - package list. - Use new set_action. - (choose_caption): Remove. - (topbucket::paint): New method. - (topbucket::empty): Ditto. - (topbucket::click): Ditto. - (topbucket::~topbucket): Ditto. - (paint): Remove i,ii and p as they are obsolete. - Remove header drawing code. - Use new chooser method to paint the chooser. - Use new chooser itemcount method. - (scroll_common): Rename to view::scroll. - Scroll the header window separately. - (list_vscroll, list_hscroll, list_click): Update for new chooser - methods. - (listview_proc): Look for header messages. - (note_width): Accept stringless calls. - (pick_line::set_line): Remove. - (pick_line::paint): Remove. - (pick_pkg_line::paint): Paint this one line, using the header column - widths. - (pick_category_line::paint): Paint this category, and anything in the - bucket. - (pick_line::click): Remove. - (pick_pkg_line::click): Handle a click. - (pick_category_line::click): Handle a click. - (_view): Rename all to view. - (view::view): Initialise the control contents. - (view::set_headers): Work with the header control. - (view::init_headers): Use list syntax for package list. - Rearrange the width logic a little. - (view::insert_pkg): Update to use the hierarchy. - (view::insert_category): Ditto. - (view::insert_at, view::insert_under): Remove. - (view::clear_view): Update to use the hierarchy. - (view::click): Update to use the hierarchy. - (set_view_mode): Use list syntax for package list. - Update for new chooser methods. - (DoInsertItem): New helper function. (Needs a home somewhere). - (create_listview): Remove choose control code and use the constructor - instead. - (dialog_cmd,scan2,do_choose): Use list syntax for package list. - * choose.h: Include newly required headers list and package_meta. - (_voew): Rename to view. - (pick_line): Convert to an ABC. - (pick_pkg_line): New class. - (pick_catgory_line): New class. - (topbucket): New class. - (view::scroll): New method created from listview_scroll function. - * desktop.cc (make_passwd_group): Use list syntax for package list. - * download.cc (do_download): Use list syntax for package list. - * fromcwd.cc (found_file): Use list syntax for package list. - * iniparse.y (pacakges): Use list syntax for package list. - * install.cc (uninstall_one): Use list syntax for package list. - (do_install): Use list syntax for package list. - * io_stream.h (io_stream): Prevent non-child direct creation of the - class. - Prevent inaccurate synthetic copy and assignment. - * list.h: Include required header stdlib. - Work on const correctness. - * package_db.cc (packagedb::getpackagebyname): Remove. - (packagedb::packagedb): Remove custom list code, and make db a local. - (packagedb::getfirstpackage): Remove. - (packagedb::getnextpackage): Remove. - (packagedb::addpackage): Remove. - (flush): Remove custom list code. - (packagedb::registerpackage): Remove. - (packagedb::packages): New static member. - (packagedb::task): New static member. - * package_db.h (PackageDBActions): New enum. - (packagedb): Remove getfirstpackage, getnextpackage, getpackagebyname, - addpackage, registerpackage, packages, packagecount, curr_package, db. - Add packages, task. - * pacakge_meta.cc: Include package_db.h. - (packagemeta::action_caption): New method. - (packagemeta::set_action): New method. - * package_meta.h (CategoryPackage): Initialise key. - (packagemeta): Initialise key. - Add set_action and action_caption methods. - Prevent inaccurate synthetic copy and assignment. - * resource.h (IDC_CHOOSE_LISTHEADER): New ID. - * source.cc: Include package_db for db manipulation. - (save_dialog): Set the db task. - * win32.h: Tell the w32 include headers what IE version to - expect/require. - -2001-12-06 Robert Collins - - * README: Wishlist updates. - -2001-12-04 Robert Collins - - * package_db.cc (getnextpackage): Don't overrun the array. - -2001-12-04 Robert Collins - - * Makefile.in (OBJS): Add setup_version.o. - (version.c): Rename to setup_version. - * choose.cc (set_action): Prevent NULL pointer dereference. - (package_sort): Remove. - * fromcwd.cc (canonicalize_version): Moved to version.cc. - (check_ini): New function for use with find to see if there is a cached - setup.ini. - (do_fromcwd): Check for a cached setup.ini from any mirror site. - * ini.cc (find_routine): New function, for finding cached setup.ini's. - (do_local_ini): New function, drives parsing of local ini's. - (do_remote_ini): New function, drives parsing and caching of remote - ini's. - (do_ini): Move guts to do_remote_ini and do_local_ini. - * list.h (removebyindex): New method. - * other.cc (save_dialog): Use new site_list and all_site_list to add the - new site to the site picklist. - (dialog_cmd): Only save the dialog when exiting the dialog. - * res.rc (IDD_SITE): Make IDC_URL_LIST a multiple-selection control. - * site.cc (site_list_type): Move to site.h - (site_list): New global, sites chosen by the user. - (all_site_list): New global, all potential sites. - (site_list_type::init): New method, parses a mirror.lst URL string into - a site_list_type object. - (site_list_type::site_list_type): New method. - (check_if_enable_next): Examine the control, not a local variable. - (load_dialog): Select all the user chosen sites by default. - (save_dialog): Adjust for multiple selection semantics. - (save_site_url): Save all user chosen sites. - (dialog_cmd): Don't save the dialog when the listbox recieves a message - - thats not needed. - Remove obsolete other_url reference. - (dialog_proc): Use all_site_list instead of site_list. - (site_sort): Remove. - (get_site_list): Remove malloc use - use list template instead. - Move site_list_type initialisation to site_list_type::init(). - (get_initial_list_idx): Renamed to ... - (get_saved_sites): this. Also read in multiple sites to the site_list. - (do_site): Use all_site_list not site_list. - Log all chosen sites. - * site.h: New file, defines site related class, functions and variables. - * state.h: Add comment about use of state.h - (mirror_site): Remove. - (other_url): Remove. - (MIRROR_SITE): Remove. - * version.cc: New file, for version-handling and related functions. - -2001-12-02 Robert Collins - - * Makefile.in: Add filemanip.o to setup. - * archive.cc (archive::extract_file): Use new io_stream method 'copy'. - * archive_tar.h (archive_tar_file): Implement get_size virtual. - (archive_tar): Ditto. - * choose.cc (set_action): Use [] operator instead of getnth - its more - readable. - (paint): Ditto. - (_view::init_headers): Ditto. - (_view::insert_pkg): Ditto. - (set_view_mode): Ditto. - (scan2): Ditto. - (do_choose): Ditto. - (base): Moved to filemanip.cc. - (find_tar_ext): Ditto. - (parse_filename): Ditto. - (_Info::_Info): Remove. - * compress_bz.h (compress_bz): Implement get_size virtual. - * compress_gz.h (compress_gz): Implement get_size virtual. - * cygpackage.cc (cygpackage::destroy): Use array delete for char * - objects. - * download.cc (get_file_size): Move to filemanip.cc. - (check_for_cached): Use [] operator instead of getnth - its more - readable. - (download_one): Ditto. - * filemanip.cc: New file. - * geturl.cc (init_dialog): Make url a pointer to const as it is not - modified. - (get_url_to_membuf): New function - contains get_url_to_string worker - code. - (get_url_to_string): Becomes a trivial wrapper to get_url_to_membuf. - * geturl.h: Declare new prototype. - * ini.cc (do_ini): Use get_url_to_membuf and pass ini_init an io_stream. - Tidy up the error code a little. - * ini.h: Remove __cplusplus protection for ini_init. - (_Info): Remove. - * inilex.l: Remove old globals. - (ini_init): Use an io_stream for getting the characters. - (ini_getchar): Ditto. - * iniparse.y: Declare yylex as a C++ function. - (add_correct_version): Use [] operator instead of getnth - its more - readable. - * io_stream.cc (io_stream::move_copy): Use the copy method. - (io_stream::copy): New method to simply copy from one stream to another. - * io_stream.h (io_stream): New static method copy, and virtual method - get_size. - * io_stream_cygfile.cc (io_stream_cygfile::get_size): Implement this. - * io_stream_cygfile.h (io_stream_cygfile::get_size): Declare this. - * io_stream_file.cc (io_stream_file::get_size): Implement this. - * io_stream_file.h (io_stream_file::get_size): Declare this. - * io_stream_memory.h: Include errno as it's neded to parse the header. - (io_stream_memory::get_size): Implement this. - (io_stream_memory::st_size): Delete this. - * list.h: Change getnth into the [] operator. - * netio.cc (NetIO::NetIO): Change prototype to reflect Purl not being - modified. - (NetIO::set_url): Ditto. - (NetIO::open): Ditto. - * netio.h: As for netio.cc. - * nio-file.cc (NetIO_File::NetIO_File): Change prototype to reflect - Purl not being modified. - * nio-file.h: Ditto. - * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Ditto. - * nio-ftp.h (NetIO_FTP::NetIO_FTP): Ditto. - * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Ditto. - * nio-http.h (NetIO_HTTP::NetIO_HTTP): Ditto. - * nio-i5.cc (NetIO_IE5::NetIO_IE5): Ditto. - * nio-i5.h (NetIO_IE5::NetIO_IE5): Ditto. - * package_meta.cc (packagemeta::~packagemeta): Bugfix: use array delete. - * package_source.cc (packagesource::set_canonical): Ditto. - (packagesource::set_cached): Ditto. - * package_source.h (site::~site): Ditto. - * site.cc: Change site_list_type to a class, and search and replace - sort_key to key globally. - -2001-12-01 Robert Collins - - * package_source.cc (packagesource::set_canonical): Filename was out by - one. - -2001-11-30 Robert Collins - - * Makefile.in (OBJS): Remove category_list - it's not needed. - * README: More wishlist updates. - * category.cc (Category::Category): Initialise new members. - (Categorycmp): New function. - * category.h (Category): New member key for template use. - * category_list.cc: Remove. - * category_list.h: Remove. - (Categorycmp): New function prototype. - * choose.cc: Remove category_list - not needed. - (set_action): Only show the 'source' option when the source is actually - available. - (add_required): Fix recursion limiter to 5. - (fill_missing_category): Use list access. - (default_trust): Ditto. - (pick_line::paint): Ditto. - (_view::init_headers): Ditto. - (_view::insert_pkg): Ditto. - (_view::insert_category): Ditto. - (_view::click): Ditto. - (set_view_mode): Ditto. - (do_choose): Ditto. - * cygpackage.h: Remove category_list - not needed. - * geturl.cc (get_url_to_string): Fix null byte insertion. - * inipatse.y: Remove category_list - not needed. - (categories): Use list access. - * package_db.cc: Ditto. - * package_db.h: Remove category_list - not needed. - (packagedb): Use the list template for categories. - * package_meta.cc (add_category): Ditto. - * package_meta.h (CategoryPackage): Link to the category as well. - (packagemeta): Use a list of CategoryPackages instead of Categories - for more memory efficient cross-referencing. - -2001-11-30 Robert Collins - - * package_db.cc (packagedb::flush): Write a canonical version for all - packages irrespective of the media they were installed from. - -2001-11-29 Robert Collins - - * Makefile.in (OBJS): Add package_source and rfc1738. - * README: Wishlist update. - * category_list.cc (register_category): Use references. - * category_list.h (CategoryList): Ditto. - * choose.cc (isinstalled): Remove. - (pkgtrustp): New macro. - (set_action): Use packagemeta. - (add_required): Ditto. - (choose_caption): Example package to choose caption, rather than state - flags. - (check_existence): Remove. - (set_existence): Remove old code. - (fill_missing_category): Use packagemeta. - (keep_or_skip): Remove. - (default_trust): Use packagemeta and set trust values directly. - (pick_line::set_line): Use packagemeta. - (_view::insert_pkg): Ditto. - (_view::insert_category): Ditto. - (_view::click): Ditto. - (set_view_mode): Ditto. Also remove "exclude" code. - (create_listview): Use packagemeta. - (dialog_cmd): Ditto. - (getpkgbyname): Remove - (scan2): Use packagemeta. Temporarily comment out the holefinding code. - (read_installed_db): Remove. - (package_sort): Use packagemeta. - (do_choose): Use packagemeta. Don't sort the packages - the db does - that. - * choose.h: Use packagemeta. - * cygpackage.cc (cygpackage::cygpackage): Initialise all variables. - (cygpackage::cygpackage): Ditto. - (cygpackage::set_canonical_version): Copy the passed string. - (cygpackage::~cygpackage): Move cleanup code to destroy(). - (cygpackage::destroy): New function. - (cygpackage::getfirstfile): Use a separate buffer. - (cygpackage::getnextfile): Ditto. - (cygpackage::Canonical_version): New function. - (cygpackage::set_sdesc): Ditto. - (cygpackage::set_ldesc): Ditto. - * cygpackage.h (cygpackage::Canonical_version): New method. - (cygpackage::set_sdesc): New method. - (cygpackage::set_ldesc): New method. - (cygpackage::SDesc): New method. - (cygpackage::LDesc): New method. - (cygpackage::set_canonical_version): New method. - * desktop.cc: Include packagedb headers. - (make_password_group): Use packagemeta. - * download.cc: Include packagedb headers. - (check_for_cached): New method to find any cached file and fill out the - database info. - (download_one): Take a packagesource, support multiple mirrors. - (do_download): Use packagemeta. - * from cwd.cc: Include packagedb headers. - (found_file): Use packagemeta. - * ini.cc (do_ini): Beginning of multiple-mirror support. - * ini.h (CategoryPackage): Remove. - (Dependency): Remove. - (Package): Remove. - (new_package,getpkgbyname,getpackagecategorybyname,add_category): - Remove. - * inilex.l: Support multiple mirrors. - * iniparse.y: Include packagedb headers. - (parser): Use packagemeta. - (new_package): Remove. - (add_correct_version): New function. - (new_requirement): Remove. - (add_category): Remove. - * install.cc (uninstall_one): Use packagemeta. - (install_one_source): New function. - (install_one): Use packagemeta. - (do_install): Use packagemeta. - * io_stream.cc (io_stream::move): Bugfix on move/copy case. - * io_stream_cygfile.cc (io-stream_cygfile::set_mtime): Do not reopen the - file after setting the mtime, it makes no sense, and results in 0 length - files. - * io_stream_file.cc (io-stream_file::set_mtime): Ditto. - * list.h: New file, template class for a form of list. - * package_db.cc (packagedb::registerpackage): New function. - * package_db.h (packagedb::npackages ()): New method. - * package_meta.cc (packagemeta::add_version): Use list template. - (packagemeta::set_installed): Ditto. - (packagemeta::add_category): New method. - * package_meta.h: Include necessary headers to parse the class. - (CategoryPackage): New class. - (packagemeta): Initialise all members. - (packagemeta::SDesc): New method. - (packagemeta::Categories): New method. - (packagemeta::add_category): Ditto. - (packagemeta::versions): Change to be a list instance. - * package_source.cc (packagesource::set_canonical): New method. - (packagesource::set_cached): New method. - * package_source.h: Include necessary headers to parse the class. - (site): New class. - (packagesource::packagesource): Initialize all members. - (packagesource): Make this class non-abstract. - * package_version.cc (packageversion::packageversion): New method. - * package_version.h (Dependency): New class. - (packageversion::Canonical_vesion): New method. - (packageversion::SDesc): New method. - (packageversion::LDesc): New method. - (packageversion::new_requirement): Ditto. - (packageversion::srcpicked, binpicked): What to install. - (packageversion::src, bin): Installation source data. - * rfc1738.cc: New file. Escapes special characters in URL's. - * rfc1738.h: Ditto. - -2001-11-26 Gary R. Van Sickle - - * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Stop header parsing when - SimpleSocket::gets() returns a zero-length string, so that we - don't end up eating the entire stream thinking it's all header info. - -2001-11-23 Robert Collins - - * install.cc (badrename): Remove. - (do_install): Use packagedb flush method to write - /etc/setup/installed.db. - * io_stream.cc (io_stream::move_copy): New method. - (io_stream::move): New method. - * io_stream.h (io_stream): New methods move and move_copy. - * io_stream_cygfile.cc (io_stream_cygfile::move): New method. - * io_stream_cygfile.h (io_stream_cygfile): New method move. - * io_stream_file.cc (io_stream_file::move): New method. - * io_stream_file.h (io_stream_file): New method move. - * package_db.cc (packagedb::flush): New method. - * package_db.h (packagedb): New method flush. - -2001-11-23 Robert Collins - - * Makefile.in (OBJS): Add package_version. - * ategory.cc (Category::Category): Update constructors. - * category_list.cc (CategoryList::register_category): Insert correctly. - * choose.cc: Include package_version.h, not package.h. - * cygpackage.cc: Ditto. - (cygpackage::uninstall): New method. - * cygpackage.h (cygpackage): Rename genericpackage to packageversion. - New method uninstall. - * hash.cc (add, has, enumerate): Change prototype to be accurate. - * hash.h (hash): Change prototypes to be accurate. - * ini.h (_Info): New parameterless constructor. - (CategoryPackage): New constructor. - (Package): Ditto. - * install.cc: Don't include unneeded headers. - Include package database headers. - (hash::add_subdirs): Remove. - (uninstall_one): Use packagemeta->uninstall to perform the - uninstallation. Don't uninstall source packages. - (do_install): Just can uninstall_one once as we ignore source packages - now. Don't copy the installed.old database accross, instead iterate - through the packagedb packages list and write the installed packages - out. - * package_db.cc: Include package_version.h, not package.h. - (packagedb::packagedb): Never let db be undefined. - Record the installation filename, so we can reconstruct installed.db. - (packagedb::addpackage): Insert packages in alpha sorted order. - (packagedb::categories): Initialise correctly. - * package_meta.cc: Include win32 and mount headers as a workaround to - current io_stream limitations. Include a TODO about that. - (standard_dirs): New, from install.cc. - (hash::add_subdirs): New, from install.cc. - (packagemeta::set_installed): Rename genericpackage to packageversion. - (packagemeta::uninstall): New method. - * package_meta.h: Rename genericpackage to packageversion. - (packagemeta): Update constructor. - (add_version, set_installed): Rename genericpackage to packageversion. - (uninstall): New method. - (installed_from): New member. - * package_source.cc: New file. - * package_source.h: New file. - * package_version.cc: New file. - * package_version.h: New file. - * package.cc: Removed. - * package.h: Removed. - -2001-11-21 Robert Collins - - * Makefile.in (OBJS): Add category.o and category_list.o. - * category.h: New file. - * category.cc: New file. - * category_list.h: New file. - * category_list.cc: New file. - * choose.cc: Include category headers. - (fill_missing_category): Use package_db to access global categories. - (_view::insert_pkg): Ditto. - (_view::insert_category): Ditto. - (set_view_mode): Ditto. - (getcategorybyname): Remove. - * cygpackage.h: Include category_list.h to parse this correctly. - (cygpackage): New virtual &Categories. - * ini.h (_CategoryPackage): More C to C++ conversion. - (Category): Remove. - (getcategorybyname): Remove. - (register_category): Remove. - * iniparse.y: Include package db and category headers. - (categories): Use package_db to access global categories. - (category): Remove. - (ncategories): Remove. - (register_category): Remove. - * package.h: New virtual &Categories. - * package_db.cc (packagedb::packagedb): Don't read the installed db - twice. - (packagedb::categories): Declare. - * package_db.h (packagedb): New member categories for global categories - list. - -2001-11-21 Robert Collins - - * choose.h: Don't include ini.h - * ini.h: Allow pure c++ in the header file. - -2001-11-21 Robert Collins - - * install.cc (do_install): Write a version 2 installed.db file. - * package_db.cc (packagedb::packagedb): Read version 1 and 2 - installed.db files. - -2001-11-21 Robert Collins - - * Makefile.in (OBJS): Add package abstraction objects. - * choose.cc: Include package abstraction headers. - (read_installed_db): Use packagedb class and ignore installed sources. - * cygpackage.cc: New file. - * cygpackage.h: New file. - * filemanip.h (get_file_size): Use unixy types. - * package.h: New file. - * package.cc: New file. - * package_db.cc: New file. - * package_db.h: New file. - * package_meta.cc: New file. - * package_meta.h: New file. - -2001-11-21 Robert Collins - - * REAME: Updates to wishlist. - -2001-11-16 Robert Collins - - * README: Updated and added my list of wishlist and todo items. - -2001-11-14 Robert Collins - - * Makefile.in (OBJS): Include io_stream_memory in setup.exe. - * archive_tar.cc (archive_tar::write): New prototype. - (archive_tar::seek): New method. - * archive.h (archive_tar_file): Update write() and add seek(). - (archive_tar): Ditto. - * archive_tar_file.cc (archive_tar_file::write): New prototype. - (archive_tar_file::seek): New method. - * compress_bz.cc (compress_bz::write): New prototype. - (compress_bz::seek): New function. - * compress_bz.h (compress_bz): Update write() and add seek(). - * compress_gz.cc (compress_gz::write): New prototype. - (compress_gz::seek): New function. - * compress_gz.h (compress_gz): Update write() and add seek(). - * geturl.cc: Include io_stream headers. - (GUBuf): Remove. - (get_url_to_string): Use a io_stream_memory buffer instead of GUBuf. - * io_stream.h (io_stream_seek_t): New enum. - (io_stream): Update write() and add seek(). - * io_stream_cygfile.cc (io_stream_cygfile::write): New prototype. - (io_stream_cygfile::seek): New function. - * io_stream_cygfile.h (io_stream_cygfile): Update write() and add - seek(). - * io_stream_file.cc (io_stream_file::write): New prototype. - (io_stream_file::seek): New function. - * io_stream_file.h (io_stream_file): Update write() and add seek(). - -2001-11-13 Brian Keener - - * localdir.cc: Add headers unistd.h and port.h. - (save_local_dir): Expand search logic to include local directory for - location of file last-cache. - (dialog_cmd): Skip IDD_ROOT when downloading and use Back button. - (do_local_dir): Expand search logic to include local directory for file - last-cache. - * res.rc (IDD_CHOOSE_DIALOG): Add hotkey to View button. - * Source.cc (dialog_cmd): Skip IDD_ROOT if select Download from - Internet. - (do_source): Default to Install from Internet on first entry or - previous selection if backing up from IDD_ROOT or IDD_LOCAL_DIR. - -2001-11-13 Robert Collins - - * choose.cc (find_tar_ext): Only match at the end of the string. - (getpkgbyname): Prevent NULL pointer dereference. - -2001-11-13 Robert Collins - - * Makefile.in (CFLAGS): Add warnings and -Werr. - (WARNONLY_FLAGS): For sources that produce (harmless) errors no matter - what. - (OBJS): Add io_stream class' objects. - (autoload.o): Use WARNONLY_FLAGS. - (inilex.o): Ditto. - (iniparse.o): Ditto. - * archive.cc: New file. - * archive.h: New file. - * archive_tar.cc: New file. - * archive_tar.h: New file. - * archive_tar_file.cc: New file. - * autoload.c: Fix compiler warnings (unused, deprecated conversion). - * choose.cc: Use io_stream.h, not mount.h. - Run indent. - (find_tar_ext): Rewritten to use strstr, and to accept .tar as an - extension. - (read_installed_db): Use io_streams. - * choose.h: Run indent. - * compress.cc: New file. - * compress.h: New file. - * compress_bz.cc: New file. - * compress_bz.h: New file. - * compress_gz.cc: New file. - * compress_gz.h: New file. - * concat.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - * concat.h: Run indent. - * desktop.cc: Run indent. - Include mklink2.h rather than redefining by hand. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - (etc_profile): Fix compiler warning (deprecated conversion). - (make_link): Fix compiler warning (deprecated conversion). - Tidy up use of args variable - consolidate into argbuf. - (start_menu): Fix compiler warning (deprecated conversion). - (desktop_icon): Fix compiler warning (deprecated conversion). - (make_etc_profile): Fix compiler warning (deprecated conversion). - (uexists): Fix compiler warning (deprecated conversion). - (check_desktop): Fix compiler warning (deprecated conversion). - (check_startmenu): Fix compiler warning (deprecated conversion). - * dialog.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - (fatal): Fix compiler warning (deprecated conversion). - * dialog.h: Run indent. - * diskfull.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - * download.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - (download_one): Fix compiler warning (signed vs unsigned comparison). - * filemanip.h: Run indent. - * find.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - (find): Fix compiler warning (deprecated conversion). - * find.h: Run indent. - * fromcwd.cc: Run indent. - * geturl.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - (dialog_cmd): Return a value. - (dialog_proc): Remove unused variables. - Return a value. - (get_url_to_file): Fix compiler warning (deprecated conversion). - * geturl.h: Run indent. - * hash.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - * hash.h: Run indent. - * ini.cc: Run indent. - Use io_streams. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - (do_ini): Use io_streams for local io. - * ini.h: Run indent. - * inilex.l (ignore_line): Fix compiler warning (is not a prototype). - Fix compiler warning (brackets for truth assignment). - * install.cc: Run indent. - Fix compiler warning (/* in comment). - Use io_streams. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - (dialog_cmd): Return a value. - (dialog_proc): Return a value. - (start_tics): Deleted - was unused. - (badrename): Fix compiler warnings (unused, deprecated conversion). - (standard_dirs): Fix compiler warning (deprecated conversion). - (exists): Remove. - (uninstall_one): Convert to io_streams. - (install_one): Convert to io_streams. - (do_install): Convert to io_streans. - Fix compiler warning (deprecated conversion). - * io_stream.cc: New file. - * io_stream.h: New file. - * io_stream_cygfile.cc: New file. - * io_stream_cygfile.h: New file. - * io_stream_file.cc: New file. - * io_stream_file.h: New file. - * localdir.cc: Run indent. - Use io_streams. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - (get_root_dir_now): Remove. - (save_local_dir): Convert to io_streams. - (dialog_cmd): Return a value. - (do_local_dir): Convert to io_streams. - (log.cc): Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - (log): Fix compiler warning (deprecated conversion). - (log_save): Fix compiler warning (deprecated conversion). - * log.h: Run indent. - (log): Fix compiler warning (deprecated conversion). - (log_save): Fix compiler warning (deprecated conversion). - * main.cc: Run indent. - Don't include "netio.h". - (cvsid): Fix compiler warnings (unused, deprecated conversion). - (netio_test): Remove. - (sid_auth): Fix compiler warning (partially bracketed initialiser). - (WinMain): Return a value. - * mkdir.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - * mklink2.c: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - (mkcygsymlink): New function. - * mklink2.h: New file. - * mount.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - (create_mount): Remove unused variables. - (cygpath): Fix compiler warning (signed vs unsigned comparison). - * mount.h: Run indent. - * msg.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - (msg): Fix compiler warning (deprecated conversion). - (mbox): Fix compiler warning (deprecated conversion). - * msg.h: Run indent. - (msg): Fix compiler warning (deprecated conversion). - * net.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - (dialog_cmd): Return a value. - * netio.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - (auth_cmd): Return a value. - * netio.h: Run indent. - * nio-file.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - (NetIO_File::NetIO_File): Fix compiler warning (deprecated conversion). - * nio-file.h: Run indent. - * nio-ftp.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - * nio-ftp.h: Run indent. - * nio-http.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - * nio-http.h: Run indent. - * nio-ie5.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - * nio-ie5.h: Run indent. - * other.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - (dialog_cmd): Return a value. - * port.h: Run indent. - * postinstall.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - (cmd): Fix compiler warning (deprecated conversion). - (eun): Fix compiler warning (deprecated conversion). - * root.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - * simpsock.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - * simpsock.h: Run indent. - * site.cc: Run indent. - Use io_streams. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - (get_root_dir_now): Remove. - (save_site_url): Convert to io_streams. - (dialog_cmd): Return 0. - (get_initial_list_idx): Convert to io_streans. - * source.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - (check_if_enable_next): Remove. - (load_dialog): Remove unused variables. - (save_dialog): Ditto. - (dialog_cmd): Return a value. - * splash.cc: Return a value. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - (dialog_cmd): Return a value. - * state.cc: Run indent. - (cvsid): Fix compiler warnings (unused, deprecated conversion). - * state.h: Run indent. - * tar.h: Remove. - * tar.cc: Remove. - -2001-11-12 Christopher Faylor - - * desktop.cc (start_menu): Change start menu name to "Cygwin". - (check_startmenu): Ditto. - -2001-11-11 Christopher Faylor - - * choose.cc (parse_filename): Finish reorganization by correctly - decrementing p in memmove. - -2001-11-11 Christopher Faylor - - * choose.cc (parse_filename): Reorganize code to work around gcc - optimization problem. - -2001-11-09 Gareth Pearce - - * choose.cc (set_action): Allow skip as an option for installed - packages that have version number not listed in setup.ini. - -2001-11-10 Robert Collins - - * choose.cc (set_cation): Backout last change. - (choose_caption): Ditto. - -2001-11-10 Robert Collins - - * ini.h (actions): Remove - transferred to choose.h. - (views): Ditto. - * choose.h: Protect class's from "C" compilers. - (actions): New enum, from ini.h. This may not be the 'right' place - but that place doesn't exist yet. - (_views): New enum, from ini.h. - * choose.cc (set_action): Handle installed packages with a version not - in setup.ini. - (choose_caption): Ditto. - * iniparse.y: Rearrange header order to handle new ini.h. - -2001-11-10 Robert Collins - - * ini.h (_Info): Fix compiler warnings (signed vs unsigned comparison). - (registry_category): Fix compiler warning (deprecated conversion). - * iniparse.y (registry_category): Ditto. - * choose.cc (cvsid): Fix compiler warnings (unused, deprecated - conversion). - (add_requried): Remove unused variable. - (choose_caption): Handle all enumeration values via a default. - (paint): Fix compiler warnings (unused, deprecated conversion). - (scroll_common): Fix compiler warnings (unused, signed vs unsigned - comparison). - (list_clicK): Fix compiler warnings (signed vs unsigned comparison). - (note_width): Fix compiler warnings (deprecated conversion). - (keep_or_skip): Fix compiler warnings (unused). - (_view::mode_caption): Fix compiler warnings (deprecated conversion). - (set_view_mode): Fix compiler warnings (unused). - (create_listview): Fix compiler warnings (unused, incorrect format, - reaches end of function). - (dialog_proc): Fix compiler warnings (unused). - (read_installed_db): Fix compiler warnings (unused, deprecated - conversion). - * choose.h (_header): Fix compiler warnings (deprecated conversion). - (_view): Ditto. - -2001-11-08 Pavel Tsekov - - * simpsock.h (SimpleSocket::invalidate): Declare new method. - * simpsock.cc (SimpleSocket::invalidate): Implement new method. - (SimpleSocket::SimpleSocket): Initialize buf to zero. Do not allocate - memory for buf in the constructor. - (SimpleSocket::~SimpleSocket): Use SimpleSocket::invalidate(). - (SimpleSocket::printf): Use SimpleSocket::write() instead of send(). - (SimpleSocket::write): Check object consistency - return -1 on error. - invalidate() the object on socket write error. - (SimpleSocket::fill): Check object consistency - return -1 on error. - invalidate() the object if socket read error is encountered and there - is no more data available in the internal read buffer. - Allocate memory for the internal read buffer. - (SimpleSocket::gets): Return zero (NULL pointer) if error is encountered - during fill() and no more data is available in the internal read buffer. - (SimpleSocket::read): Check object consistency - return -1 on error. - invalidate() the object if socket read error is encountered. - * nio-ftp.cc (NetIO_FTP:NetIO_FTP): Allow 125 as valid response code to - the RETR command (fix for MS IIS ftp server 5 - possibly others too). - (NetIO_FTP::ok): Check if the SimpleSocket object is ok(). - (NetIO_FTP::read): Use NetIO_FTP::ok(). - * nio-http.cc: Check for valid return value of SimpleSocket::gets(). - (NetIO_HTTP::ok): Check if the SimpleSocket object is ok(). - -2001-11-09 Robert Collins - - * simpsock.cc (cvsid): Avoid compiler warnings (not used, deprecated - conversion). - (SimpleSocket::SimpleSocket): Avoid compiler warnings (deprecated - conversion). - (SimpleSocket::printf): Ditto. - (SimpleSocket::write): Ditto. - * simpsock.h (SimpleSocket): Avoid compiler warnings for constructor, - printf and write. - * nio-ftp.cc (cvsid): Avoid compiler warnings (not used, deprecated - conversion). - (NetIO_FTP::NetIO_FTP): Remove unused variable done. - * nio-http.cc (cvsid): Avoid compiler warnings (not used, deprecated - conversion). - -2001-11-07 Charles Wilson - - * geturl.cc (get_url_to_string): clean up memory leak - (get_url_to_file): ditto - -2001-11-06 Robert Collins - - * localdir.cc (dialog_cmd): Go back to IDD_ROOT in every case. - * source.cc (dialog_cmd): Go forward to IDD_ROOT in every case. - -2001-11-06 Pavel Tsekov - - * fromcwd.cc (found_file): Free() memory containing the version and - filepath information for a given package, before replacing the pointers - which reference this memory. - -2001-11-06 Robert Collins - - * fromcwd: Fix compiler warnings for cvsid. - (canonicalize_version): Fix compilter warnings. - (do_fromcwd): Ditto. - * version.h: Fix compiler warnings for canonicalize_version. - -2001-11-03 Robert Collins - - * res.rc (IDD_CHOOSE): Move the view caption to the right hand side. - -2001-11-02 Robert Collins - - * res.rc (IDD_CHOOSE): Tweak for use on a 640x480 screen. - -2001-11-02 Robert Collins - - * choose.cc (set_action): Correctly allow skip for any uninstalled - package. - -2001-11-02 Robert Collins - - * choose.cc (default_trust): Change the "Required" forced install - category to "Base". - -2001-11-02 Robert Collins - - * choose.cc: Ran indent. - (set_action): When the requested trust level is missing and the level - was not user requested, set the action to ACTION_SAME_CURR. - -2001-11-01 Christopher Faylor - - * Makefile.in (mingw_getopt.o): Fix typo in non-verbose compilation. - -2001-11-02 Robert Collins - - * choose.cc (_view::init_headers): Resync with the paint logic. - -2001-11-02 Robert Collins - - * choose.cc (add_required): Allow SKIP and SRC_ONLY for currently - installed packages. - -2001-11-02 Robert Collins - - * choose.cc (default_trust): Autoset currently installed packages per - the user's selection of prev/curr/exp. - -2001-11-02 Robert Collins - - * splash.cc (dialog_proc): Return TRUE as specified in the WIN32 API. - -2001-11-02 Pavel Tsekov - - * geturl.cc (is_showing): Remove. - (is_local_install): New static variable. Controls whether the - progress dialog and the supporting thread will be created. - (dialog_proc): Return TRUE to WM_INITDIALOG as specified by the WIN32 - API. - (init_dialog): Remove usage of SetForegroundWindow and is_showing. - This prevents the progress dialog to gain control over the - application and fixes the "setup.exe going to background" problem. - (progress): Use is_local_install. - (get_url_to_string): Set is_local_install. - (dismiss_url_status_dialog): Use is_local_install. - * install.cc (dialog_proc): Return TRUE as specified in WIN32 API. - (init_dialog): Remove usage of SetForegroundWindow. - This prevents the progress dialog to gain control over the - application and fixes the "setup.exe going to background" problem. - -2001-11-02 Robert Collins - - * choose.cc (list_click): Change r to row for clarity. - When we shrink the list below 1 page, scroll to the top of the list. - (_view::click): Return the actual change for contractions. - (dialog_proc): Return TRUE to WM_INITDIALOG as specified by the Win32 - API. - -2001-11-02 Robert Collins - - * choose.cc (dialog_cmd): Swap cygwin root selection and local dir - selection order. - * localdir.cc: Ran indent. - (get_root_dir_now): New function. - (save_local_dir): New function. - (dialog_cmd): Use it and swap cygwin root selection and local dir - selection order. - (do_local_dir): If there is a saved local dir, read it in. - * net.cc (dialog_cmd): Swap cygwin root selection and local dir - selection order. - * root.cc (dialog_cmd): Ditto. - * source.cc (dialog_cmd): Ditto. - -2001-11-01 Robert Collins - - * choose.cc(list_vscroll): Return 0 as required by win32. - (list_hscroll): Ditto. - (list_click): Ditto. - -2001-11-01 Robert Collins - - * argv.cc: Remove. - * argv.h: Remove. - * main.cc(WinMain): Use __argv to retrieve command line parameters. - * Makefile,in: Remove argv.o. - -2001-11-01 Matt Hargett - - * geturl.cc (progress): Change int to unsigned int to eliminate - lint warnings. - * (get_url_to_string): Check for NULL pointer. - * mount.cc (find2): Use free instead of delete for malloc'd - memory. - * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Fix memory leak. - -2001-10-31 Robert Collins - - * choose.cc(_view::insert_under): Handle linen > nlines and lines[linen] - with neither a package nor a category. The lines[linen] bug was reported - by Matt (matt@usa.net). - (read_installed_db): Bugfix for testing whether a package has a source - tarball. Reported by Matt (matt@usa.net). - * geturl.cc(dialog): Rename gw_dialog to local_gw_dialog to avoid - programmer confusion and lint errors. Reported by Matt (matt@usa.net). - -2001-10-31 Robert Collins - - * argv.cc: New file, converts arguments for -mwindows - programs. (Simplified derivation from dcrt0.cc.) - * argv.h: New file. - * Makefile,in: Add argv.o and mingw_getopt.o to setup.exe object list. - Add mingw_getopt.o build rule. - * main.cc(WinMain): Initialise argv and argc for use by getopt. - -2001-10-27 Christopher Faylor - - * res.rc: Rearrange info on top line slightly. - -2001-10-27 Christopher Faylor - - * desktop.cc (make_passwd_group): Move file creation earlier in the - process to ensure that passwd-grp.bat reflects desired operation. - -2001-27-10 Trevor Forbes - - * postinstall.cc (each): Remove "*.done" file else rename will fail. - -2001-10-16 Christopher Faylor - - * res.rc: Oops. Take 640x480 screen size into account. - -2001-10-16 Christopher Faylor - - * res.rc: Enlarge chooser screen. - -2001-10-12 Christopher Faylor - - * Makefile.in: Accomodate changes to w32api_include macro. - -2001-10-12 Christopher Faylor - - * Makefile.in: Use correct flags for windres. - -2001-10-12 Christopher Faylor - - * Makefile.in (CFLAGS): Remove -nostdinc from CFLAGS. - -2001-10-12 Christopher Faylor - - * choose.cc (pick_line::paint): Reorganize after botched patch. - -2001-10-12 Christopher Faylor - - * choose.cc (pick_line::paint): Add missing declaration. - -2001-10-10 Ralf Habacker - - * choose.cc (pick_line::paint): Add package name to sdesc for display. - -Wed Sep 26 21:39:00 Robert Collins rbtcollins@hotmail.com - - * choose.cc (_view::insert_pkg): Correctly exit loop. - * iniparse.y (register_category): Always insert new categories. - -Fri Sep 21 13:56:32 2001 Christopher Faylor - - * inilex.l (yylex): For comments, eat all characters up to, but not - including newline. - -Sun Aug 26 12:50:01 2001 John Marshall - - * fromcwd.cc (found_file): Use correct package name when adding an - unknown package rather than random stack garbage. - -Sun Aug 12 14:25:21 2001 Christopher Faylor - - * desktop.cc (make_passwd_group): .bat files need \r\n endings. - -Wed Aug 8 13:53:47 2001 Christopher Faylor - - * desktop.cc (etc_profile): Leave environment variables untouched. - -2001-08-07 Corinna Vinschen - - * autoload.c: Add dynamic load statements for NT/W2K - advapi32 functions not available in 9x/ME. - * main.cc (set_default_dacl): New function. - (WinMain): Call `set_default_dacl' if running on NT/W2K. - -Sat Aug 4 21:35:53 2001 Christopher Faylor - - * ini.h (_CategoryPackage): Change pkg field to pkgname for - consistency. - * choose.cc: Use pkgname field when referencing _CategoryPackage - throughout. - (fill_missing_category): Don't add excluded packages. - (default_trust): Ditto. - (_view::insert_pkg): Ditto. - * iniparse.y (register_category): Use consistent variable name. - -2001-07-09 Egor Duda - - * choose.cc: Use system foreground color for text output. - -Sat Jul 7 00:40:28 2001 Christopher Faylor - - * choose.cc (set_action): Use default trust for determining reinstall - and source only. - (default_trust): Set default trust. - (pick_line::paint): Allow source selection when reinstalling or - retrieving. - -Fri Jul 6 18:08:49 2001 Christopher Faylor - - * choose.cc (isinstalled): Modify to properly accomodate special case - of "download only". - (set_action): Check downloaded components, not installed components if - "download only". - (set_existence): Always include full list of files when "download - only". - -Fri Jul 6 00:37:05 2001 Christopher Faylor - - * choose.cc (pick_line::paint): Properly display "na" field when no - source exists. - -Thu Jul 5 00:34:23 2001 Christopher Faylor - - * choose.cc (scan2): Ensure that older versions do not show up in - "Test" slot. - -Mon Jul 2 15:47:59 2001 Christopher Faylor - - * choose.cc (set_action): Allow "Skip" action if trust != installed. - * res.rc: Fix copyright. - -Sat Jun 30 14:05:21 2001 Michael A Chase - - * res.rc (IDD_LOCAL_DIR): Change caption to match the other dialog - boxes. - (IDD_CHOOSE): Adjust horizontal size so package names are visible. - - * choose.cc: Restore some more changes from 2001-06-25, throughout. - (paint): Wrap some excessively long lines. - (pick_line::paint): Ditto. Move the arrow in the "Current" column - right to where it belongs. Move the source checkbox slightly to the - right. - (do_choose): List categories and required packages in setup.log.full. - -Sat Jun 30 23:04:59 2001 Christopher Faylor - - * choose.cc (scan2): Restore source scanning eliminated by previous - checkin. - -Sat Jun 30 15:18:33 2001 Christopher Faylor - - * ini.h (struct _Info): Add "derived" element. - * choose.cc (scan2): Try to place unknown tar files into proper slot - when package exists in setup.ini but tar file does not. - -Sat Jun 30 13:39:00 2001 Robert Collins - - * choose.cc (create_listview): Call set_view_mode with VIEW_CATEGORY. - (do_choose): Log the first category name. - -Fri Jun 29 23:07:44 2001 Christopher Faylor - - *ini.h: Reapply 2001-06-25 changes. - * choose.cc (add_required): Ditto. Default to "Keep" state if - UNINSTALL and product is installed. Default to curr state if SKIP, - etc. - (keep_or_skip): New function. Returns skip or keep state depending on - installed state of package. - (default_trust): Use keep_or_skip to set state. - (_view::insert_pkg): Use calloc to allocate lines. - (set_view_mode): Adapt 2001-06-25 change to set_full_list here. - -Sat Jun 30 11:01:00 2001 Robert Collins - - * choose.cc: Remove globals full_list, headers, package_indexes and - nindexes. - Add globals cat_headers, pkg_headers and chooser. - (add_required): New function. - (paint): Use the chooser for header details. - Call into the chooser to paint each line. - (list_click): Use new global variables. - Call into the chooser to handle the click. - Repaint the entire view if packages have been added or removed. - (note_width): Get passed a headers struct rather than using a global - variable. - (fill_missing_category): New function. - (default_trust): Skip non-"Required" or "Misc" packages. - (pick_line::set_line (Package *)): New function. - (pick_line::set_line (Category *)): New function. - (pick_line::paint): New function. - (pick_line::click): New function. - (_view::_view): New function. - (_view::set_view_mode): New function. - (_view::mode_caption): New function. - (_view::set_headers): New function. - (_view::init_header): New function. - (_view::insert_pkg): New function. - (_view::insert_category): New function. - (_view::insert_at): New function. - (_view::insert_under): New function. - (_view::clear_view): New function. - (viewsplusplus): New function. - (_view::client): New function. - (set_view_mode): Use new chooser functionality. - (set_full_list): Use new global variables. - (create_listview): Instantiate chooser. - Remove all hardcoded headers[] code. - (dialog_cmd): On trust changes, check dependencies. - (getcategorybyname): New function. - (getpackagecategorybyname): New function. - (scan2): Use case-insensitive package comparison. - (do_choose): Use fill_missing_category (). - Show some category data. - * ini.h: Protect against multiple inclusion. - (views) New enum. - (_CategoryPackage): New struct. - (_Category): New struct. - (_Package): Change category to Category * from char *. - (extern Category category): New global variable. - (extern in ncategories): Ditto. - (getcategorybyname): New prototype. - (catpackagecategorybyname): New prototype. - (register_category): New prototype. - (add_category): New prototype. - * iniparse.y: Parse multiple categories per package. - (category): New global variable. - (ncategories): New global variable. - (new_package): Compare package against NULL, not 0. - (new_requirement): Source formatting fix. - (register_category): New function. - (add_category): New function. - * res.rc: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW. - IDC_CHOOSE_VIEWCAPTION: New control. - * resource.h: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW. - IDC_CHOOSE_VIEWCAPTION: New control. - Increment _APS_NEXT_CONTROL_VALUE. - -Mon Jun 25 00:56:37 2001 Michael A Chase - - * choose.cc (paint): Wrap excessively long lines. - (list_click): Ditto. - (create_listview): Ditto. - (do_choose): Ditto. Replace TABs and remove CRs in lines written to - setup.log.full. Allow "Yes" for source exists in setup.log.full when - installing from local directories. - -Mon Jun 25 00:56:37 2001 Christopher Faylor - - * choose.cc (set_action): Only clear srcpicked when moving to next - state. Allow source installation if it exists in the current "trust" - state. Don't move to skip state when package is installed. - (list_click): Don't allow source clicking when no source is available. - (set_full_list): Display package when not is_full_action. - * ini.h (is_full_action): Define. - -Sun Jun 17 12:06:14 2001 Christopher Faylor - - * install.cc (check_for_old_cygwin): New function. First stab at - checking for old cygwin versions. - (do_install): Call check_for_old_cygwin if there were no errors during - the install. - -Sat Jun 16 11:33:51 2001 Michael A Chase - - * choose.cc (_Info::_Info): Test _source paramenter for non-NULL rather - than zeroed "source" element. - -Fri Jun 15 20:54:43 2001 Christopher Faylor - - * choose.cc (scan2): Insert unknown tar archives, found on disk, into - the highest available "hole" in the trust array. - -Fri Jun 15 00:20:48 2001 Christopher Faylor - - * choose.cc (set_existence): Use pointer method for indexing in trust - array. - (create_listview): Ditto. - (scan2): Ditto. Also, use consistent variable name for indexing into - trust array. - * ini.h (Package): Reorganize info array for easier scanning. - -Fri Jun 15 00:01:51 2001 Christopher Faylor - - * choose.cc (isinstalled): Eliminate special download only test. - (set_action): Don't move to next state if in ACTION_SAME range and not - incrementing. - (choose_caption): Display "Retrieve" rather than "Reinstall" when just - downloading. - (do_choose): Sort packages after all packages have been read. - Accomodate the fact that first element in trust array is empty so that - log files don't report the wrong trust value. - * iniparse.y (new_package): Malloc space for package name or suffer - memory corruption. - -Thu Jun 14 22:43:59 2001 Robert Collins - - * ini.h (Dependency): New structure. Declare new function. - * inilex.l (yylex): Detect new setup.ini options - category and - requires. - * iniparse.y: Declare new setup.ini token values. - (yyparse): Parse new token values. - (new_requirement): New function. - -Thu Jun 14 22:43:26 2001 Christopher Faylor - - * choose.cc (read_installed_db): Eliminate obsolete code. - -Thu Jun 14 22:11:53 2001 Christopher Faylor - - * choose.cc (set_action): Set trust on "redo". - (_Info::_Info): New constructor. - (read_installed_db): Use new constructor. Use trusts type for - iterator. - * ini.h (struct _Info): Label struct, add constructor. - (Package): Make installed_ix a type 'trusts.' - * install.cc (uninstall_one): Unset any installed info for current - package. - (install_one): Allocate new Info struct for installed reflecting new - installed info. - (do_install): Don't output line to installed.db if package is being - uninstalled. - -Thu Jun 14 20:33:01 2001 Robert Collins - - * choose.cc (getpkgbyname): Use consistent method for scanning package - array. - -Wed Jun 13 23:33:08 2001 Christopher Faylor - - * choose.cc: Add some comments. - (getpkgbyname): Use strcasecmp for comparisons. - -Wed Jun 13 16:07:00 2001 Christopher Faylor - - * install.cc (do_install): Avoid checking for download action if - package wasn't currently retrieved. - -Wed Jun 13 11:27:22 2001 Christopher Faylor - - * choose.cc: Eliminate extra array throughout. Use element in package - structure instead. Use pointers rather than array indexes where - appropriate. - (set_action): New function to set next action based on current. - (choose_caption): New function. Returns display caption. - (check_existence): Change arguments. Use pointer to 'info' structure. - (set_existence): Use pointer rather than array index. - (default_trust): Use trusts enum for second argument. - (set_full_list): Honor exclude element in package structure. - (build_labels): Eliminate. - (base): Make global. Use const char * argument. - (get_package_version): Eliminate. - (getpkgbyname): New function. - (read_installed_db): Use parse_filename to get version info. - * desktop.cc (make_passwd_group): Use getpkgbyname function. - * download.cc (get_file_size): const argument. - (do_download): Use is_download_action to determine when something - should be downloaded. - * filemanip.h: Add some functions. - * ini.cc (do_ini): Use NULL rather than 0 for pointer assignment. - * ini.h: Use enums for actions and trusts. - (is_download_action): New macro. - (is_upgrade_action): Ditto. - (is_uninstall_action): Ditto. - (struct Package): Add new fields. - * inilex.l (yylex): Detect new setup.ini options. - * iniparse.y: Declare new tokens. - (yyparse): Detect exclude keyword. Fill out version field even if - version == 0. - (new_package): Use greater granularity when allocating package array to - avoid repeated calls to realloc. - * install.cc (exists): const argument. - (uninstall_one): Take pkg argument. - (install_one): Ditto. Eliminate unneeded arguments which can be - derived from package info. - (do_install): Iterate over package array using a pointer. Use - is_download_action to control when package should be downloaded. - * tar.cc (tar_open): const argument. - * tar.h: Refloect const argument. - -2001-05-31 Michael Chase mchase@ix.netcom.com - - * main.cc (WinMain): Add setup version to starting setup.log entry - -Tue May 29 21:37:58 2001 Yukihiko Sohda - - * inilex.l: Add + to list of valid string characters. - -Mon May 28 20:54:50 2001 Christopher Faylor - - * Makefile.in: Remove more stuff in the clean target. - -Mon May 28 18:24:59 2001 Christopher Faylor - - * Makefile.in: Correctly generate iniparse.h. - -Tue Mar 6 19:14:00 2001 Corinna Vinschen - - * geturl.cc (get_url_to_file): Add parameter `allow_ftp_auth'. - * geturl.h: Change declaration of `get_url_to_file' accordingly. - * netio.cc (NetIO::NetIO): Add parameter `allow_ftp_auth'. - Set member `ftp_auth'. - (NetIO::open): Add parameter `allow_ftp_auth'. Use it in calls - to constructors of derived classes. - (NetIO::get_ftp_auth): New method. - * netio.h: Change class definition accordingly. - * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Add parameter `allow_ftp_auth'. - Take global variables `net_ftp_user' and `net_ftp_passwd' into account. - Add code for ftp authentication retry. - * nio-ftp.h: Change class definition accordingly. - * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Add parameter `allow_ftp_auth'. - Add code for ftp authentication retry in case of proxy connection. - * nio-http.h: Change class definition accordingly. - * res.rc: Add FTP authentication dialog. - * resource.h: Add new constants used in res.rc. - * state.h: Add variables `net_ftp_user' and `net_ftp_passwd'. - -Sun May 27 17:12:23 2001 Christopher Faylor - - * res.rc (IDD_SPLASH): Add a copyright year. - -Sun May 27 15:42:18 2001 Christopher Faylor - - * Makefile.in: Make iniparse.y produce a c++ file. - * choose.cc (set_existence): Revert 2001-05-27 change. - * ini.cc: Remove "C" from declaration of yyparse. - * iniparse.y (yyparse): Fill out version field by default when a binary - install is detected and no version has been set yet. - * install.cc (do_install): Mount things earlier so that we can use - proper mount table settings. Don't remove mounts since they are now - honored. - * mount.cc (create_mount): Reread the mount table after establishing a - new mount. - (read_mounts): Explicitly clear root_here to allow multiple uses of - this function. Ensure that there is no garbage in the table when we've - exhausted all of the mounts in the registry. - (cygpath): Accomodate ./ in path. - -Sun May 27 02:59:07 2001 Christopher Faylor - - Use parse_filename method to parse filenames throughout. Use - get_root_dir to retrieve the current root directory throughout. Set - const in argument list, where appropriate, throughout. - * choose.cc (set_existence): Detect case of uninstalled package with no - version. - (parse_filename): New function. - * filemanip.h (fileparse): New structure. - * mount.cc (read_mounts): Remember where we found the root mount. - (set_root_dir): New function. - (get_root_dir): Ditto. - * mount.h: Declare new functions. - * site.cc (get_root_dir_now): Renamed from get_root_dir. - (save_site_url): Use new function name. - (get_initial_list_idx): Ditto. - -Sat May 26 21:23:59 2001 Christopher Faylor - - * choose.cc: Use a constant throughout to deal with chooser icon - length. - * res.rc (IDD_CHOOSE): Increase size of chooser box. - -2001-05-07 Brian Keener - - * choose.cc (do_choose): Fix incorrect assignment of trust setting to - use when Redownload or Sources Only selected. - -Thu May 10 22:35:59 2001 Christopher Faylor - - Reformat file after botched patch formatting. - * choose.cc (which_trust): Eliminate variable. - (default_trust): Don't set which_trust. - (do_choose): Use selected trust when reinstalling or installing source. - -Thu May 10 21:04:18 2001 Christopher Faylor - - Change concat to cygpath throughout. - Change map_filename to cygpath throughout. - * concat.cc (vconcat): New function. - (concat): Use vconcat. - * concat.h: Reflect above. - * install.cc (map_filename): Eliminate. - (install_one): Free dest_file. - * mount.cc (find2): Expect input key to be pointing to mount record. - (in_table): New function. - (is_admin): Move from root.cc. - (read_mounts): New function. - (path_prefix_p): New function. - (cygpath): New function. - * mount.h: Define new functions and structure. - * root.cc (in_table): Move to mount.cc. - (do_root): Call read_mounts to initialize root stuff and mount table. - * site.cc (get_root_dir): Ditto. - -2001-05-09 Matt Hargett - - * Makefile.in: Remove *.rc from clean. - -Tue May 8 23:33:38 2001 Christopher Faylor - - * choose.cc (scan2): Fix incorrect setting of TRUST_CURR rather than - TRUST_PREV which produced "0" versions. - -2001-05-07 Brian Keener - - * resource.h: Add new field IDC_CHOOSE_INST_TEXT. Modify - _APS_NEXT_CONTROL_VALUE to account for addition of - IDC_CHOOSE_INST_TEXT. - * res.rc (IDD_CHOOSE): Modify choose dialog to use new field - IDC_CHOOSE_INST_TEXT for screen text. Modify choose Dialog to allow - hot keys to select Prev, Curr, Exp. - * ini.h: Add new actions for ACTION_REDO and ACTION_SRC_ONLY. Modify - define for LOOP_PACKAGES to include new actions ACTION_REDO and - ACTION_SRC_ONLY. - * choose.cc: Add new Trusts for TRUST_REDO and TRUST_SRC_ONLY. - (paint): Modify to check TRUST_SRC_ONLY when determining Bitmap for - source Checkbox to use. - (build_labels): Add logic to allow for selection of Source only - Download/ReDownload/Install/Reinstall and also to Redownload/Reinstall - current version binary. - (dialog_proc): Add conditional display for file selection prompt based - on download vs install using IDC_CHOOSE_INST_TEXT. - (do_choose): Add new logic for TRUST_REDO and TRUST_SRC_ONLY selection - and modify logic for TRUST_UNINSTALL, TRUST_KEEP, and TRUST_NONE to - handle the instance where Source Download/Install was selected. Modify - log file to store appropriate information regarding Action selected and - the new actions that were added (I.E.: ACTION_REDO and - ACTION_SRC_ONLY). - * download.cc: Add include for and "port.h". - (download_one): Modify parameter list to include the selected action - for the file to be downloaded. Modify size check against expected size - to include check for ACTION_REDO and ACTION_SRC_ONLY. Modify rename of - .tmp file to also remove the destination file if exists due to ability - to redownload source and binary now. - (do_download): Modify to also use ACTION_REDO and ACTION_SRC_ONLY in - calculation of Download Bytes. Modify to also use ACTION_REDO and - ACTION_SRC_ONLY in determining files selected for download. - * install.cc (uninstall_one): Add check to treat a Reinstall like an - upgrade so current version will be uninstalled prior to reinstall. - (do_install): Add logic to handle ACTION_REDO and ACTION_SRC_ONLY for - uninstalling and installing binary and source packages. - * desktop.cc (make_passwd_group): Modify logic to account for a Source - only cygwin install when checking for cygwin to determine need for - mkpasswd and mkgroup. - -Mon May 7 23:33:30 2001 Matt Hargett - - * winsup/cinstall/res.rc: Added accelerators and improved focus order. - Removed WS_DISABLED from "OK" buttons to accomodate default focus - changes in net.cc and source.cc. - * winsup/cinstall/net.cc (dialog_proc): If no radio button is selected, - a default is selected. - * winsup/cinstall/source.cc (dialog_proc): Ditto. - (check_if_enable_next): Removed. No longer needed since a radio button - will always be selected. - (load_dialog): Removed call to check_if_enable_next. - (dialog_cmd): Ditto. Also added default to switch. - -Tue Apr 24 23:42:02 2001 Christopher Faylor - - * res.rc: Resize affected text. - -Tue Apr 24 23:35:31 2001 Christopher Faylor - - * net.cc (do_net): Default to direct download. - * res.rc: Move default selections to the top. - -2001-04-18 Earnie Boyd - - * win32.h: Remove the definitions for _UNION_NAME and _STRUCT_NAME. - Must now include and not the pieces. - * choose.cc (create_listview): Clean up type mismatch problems. - * dialog.h (NEXT(id)): Ditto. - * geturl.cc (dialog): Ditto. - * install.cc (dialog): Ditto. - * splash.cc (load_dialog): Ditto. - -Wed Apr 18 18:59:21 2001 Christopher Faylor - - * tar.cc (class gzbz): Define dummy virtual functions. - -Wed Apr 18 16:01:21 2001 Christopher Faylor - - * Makefile.in: Add bz2 include/library support. - * filemanip.h: New file. - * choose.cc (find_tar_ext): New function. Returns TRUE if .tar.gz or - .tar.bz2 found. - (scan2): Reorganize to use find_tar_ext, accomodating .bz2 extension. - (read_installed_db): Ditto. - (do_choose): Ditto. - * fromcwd.cc (found_file): Ditto. - (do_fromcwd): Ditto. - * tar.cc (class gzbz): New super class for uncompression support. - (gz): New class for gzip support. - (bz): New class for bzip2 support. - (tar_open): Use gzbz class to control file opening. - (tar_ftell): Ditto for returning position in file. - (skip_file): Ditto for reading file. - (tar_next_file): Ditto. - (tar_read_file): Ditto. - (tar_close): Ditto for close. - - * zlib/configure.in: Force NM substitution. - - * source.cc (do_source): Default to "Install from Internet". - -2001-03-16 Brian Keener - - * nio-file.cc (NetIO_File::NetIO_File): Use `get_file_size' instead of - `stat'. - * choose.cc (list_click): Correct inability to select source code for - download. - (scan2): Modify to skip source tarballs when scanning disk for - installable packages. - -2001-03-10 Chris Abbey - - * install.cc: install sources into /usr/src instead - of /, also include the sizes of source tarballs - in total_bytes. - * download.cc: include sizes of source tarballs in - total_download_bytes. - -Tue Mar 6 19:31:00 2000 Corinna Vinschen - - * download.cc (get_file_size): Remove `static'. - -Tue Mar 6 19:11:00 2000 Corinna Vinschen - - * tar.cc (tar_open): Use `get_file_size' instead of `stat'. - -2001-03-06 Brian Keener - - * choose.cc (paint): Modify message for nothing to download vs - nothing to install/update based on installation method. - (list_click): Modify to skip versions in selection process if - installing from local directory and installation file does not exist. - Also leaves Source Action set to N/A if the source file does not exist - and installing from local directory. - (check_existence): New method to check current existence of installation - files based on selected installation method. - (set_existence): New method to set the current existence of installation - files based on selected installation method. - (best_trust): Modify decision process for best trust to base decision on - current trust selected (IE: Prev, Curr, or Test), existence of file and - installation method selected. - (default_trust): Add logic to capture the current trust level and the - trust selected for the given package. - (set_full_list): Expand decision criteria for displaying a package in - the selection list to include file existence/non-existence and selected - installation method. - (build_labels): Modify criteria for label addition to include - installation method and file existence/non-existence. - (create_listview): Modify to establish package trust level for each - package before setting up the display list. Also modification to set - current trust button as the default. - (dialog_cmd): Set response for Prev, Curr, Test button push to perform - a reset of the selection list in addition to setting the default trust. - (get_package_version): New method to provide reusable code for - determining the package version from the file name for a specified - trust. - (scan2): Modify to use new method get_package_version and - also enhance handling of the build for the structures package and - extra. - (read_installed_db): Modify to use the new method - get_package_version and also enhance handling of the build for the - structures package and extra. - (do_choose): Add additional initialization of package and extra - structures. Modify to use read_installed_db all the time despite - install method. Modify output to setup.log.full log file to increase - readability by adding additional spacing, expanded code and available - versions. - * ini.h: Add new fields install_exists, source_exists and - partial_list_display to the structure definition for package. - * res.rc (IDD_CHOOSE): Modify choose dialog Prev, Curr, and Test - pushbuttons by replacing with Radio Buttons thus allowing the - operator to better determine which is selected. - -2001-02-20 Brian Keener - - * download.cc (do_download): Add new variables total_download_bytes and - total_download_bytes_sofar for download progress meter. Add loop - to accumulate the total bytes to download from the selected packages. - * geturl.cc: Add state.h and diskfull.h to include list. Add new - variables gw_iprogress, gw_pprogress, gw_progress_text, - gw_pprogress_text, and gw_iprogress_text to allow for addition of - total packages download progress meter and disk full percent - progress meter. Add variables total_download_bytes and - total_download_bytes_sofar for use by progress meters. - (dialog_proc): Add new variables gw_iprogress, gw_pprogress, - gw_progress_text, gw_pprogress_text, and gw_iprogress_text to - allow for addition of total packages download progress meter and disk - full percent progress meter. - (init_dialog): Ditto. - (progress): Ditto. - (get_url_to_file): Ditto. - * geturl.h: Add external definition for total_download_bytes and - total_download_bytes_sofar. - * res.rc: Add two additional progress meters (IDC_DLS_IPROGRESS) - and (IDC_DLS_PPROGRESS) and three text objects (IDC_DLS_PROGRESS_TEXT) - and (IDC_DLS_IPROGRESS_TEXT, IDC_DLS_PPROGRESS_TEXT) for use in the - download meters. - * resource.h: Add new fields for progress meters and text and update - _APS_NEXT_CONTROL_VALUE. - -Wed Feb 21 13:05:00 2000 Corinna Vinschen - - * download.cc (get_file_size): Check for INVALID_HANDLE_VALUE instead - for NULL. - -Wed Feb 21 11:21:00 2000 Corinna Vinschen - - * download.cc (download_one): Add missing parenthesis. - -Mon Feb 19 18:59:00 2000 Corinna Vinschen - - * download.cc (get_file_size): New function. Eliminates the need - to call `stat'. - (download_one): Call `get_file_size' instead of `stat'. This - workarounds a problem with mingw's `stat' call. - -2001-02-07 Earnie Boyd - - * Makefile.in: (%.o: %.rc): Specify --include-dir $(w32api_include). - This is to allow cinstall to build with 2.95.2-7 and to make the - use of headers consistent. - -2000-12-26 Earnie Boyd - - * Makefile.in (autoload.o): Add target to specify -fno-inline-functions - -Tue Dec 26 03:46:00 2000 Matt Hargett - - * winsup/cinstall/res.rc: Added accelerators and improved focus - order. - -2000-12-10 Egor Duda - - * choose.cc (paint): Use system background color for text output. - -Sun Dec 10 19:05:25 2000 Christopher Faylor - - * Makefile.in: Use CXX for linking and for compiling .cc files. - * configure.in: Find correct c++ compiler. - * configure: Regenerate. - -2000-11-17 DJ Delorie - - * splash.cc (load_dialog): Make message more obvious. - * res.rc: Ditto. - -Fri Nov 17 17:15:21 2000 Christopher Faylor - - * Makefile.in: Use g++ to link so that libstdc++.a gets used. This is - necessary for newer compilers. - -Wed Nov 9 2:19:00 2000 Corinna Vinschen - - * desktop.cc: Include "ini.h" and "version.h". - (make_passwd_group): Skip the function on 9x/ME boxes when an - older version of Cygwin has been installed which doesn't - support mkpasswd/mkgroup on 9x/ME. - * install.cc: Move the `LOOP_PACKAGES' and `pi' macros to... - * ini.h: ...here. - -Wed Nov 8 17:10:00 2000 Corinna Vinschen - - * desktop.cc (make_passwd_group): Don't exit when started - on 9x/ME since mkpasswd/mkgroup are usable on 9x/ME now. - -Sun Nov 5 12:51:42 2000 Jason Tishler - - * install.cc (do_install): Add call to set_cygdrive_flags to sync - the mount modes. - * mount.cc (set_cygdrive_flags): New function. - (get_cygdrive_flags): Ditto. - (default_cygdrive): Ditto. - (set_cygdrive_flags): Ditto. - * mount.h: Add prototype for set_cygdrive_flags. - -2000-10-23 DJ Delorie - - * ini.h: add source actions - * fromcwd.cc: check for available sources - * res.rc: add checkbox bitmaps - * resource.h: ditto - * check-*.bmp: new - * choose.cc: add source column - * download.cc: download sources if called for - * install.cc: [un]install sources too - -2000-10-22 DJ Delorie - - * choose.cc (build_labels): Don't skip TRUST_PREV completely; only - ignore it wrt full_list if there's already a version installed. - (do_choose): Sort the list. - (package_sort): New. - -2000-10-12 DJ Delorie - - * res.rc: Add more error strings. - * resource.h: Ditto. - * iniparse.y (new_package): re-initialize if needed. - * download.cc (do_download): Keep track of errors; notify and - allow retry. - * install.cc (do_install): Ditto. - -2000-10-05 DJ Delorie - - * Makefile.in: fix %.cc rule - -2000-10-04 DJ Delorie - - * desktop.cc: quote HOME and USER, don't . ./.profile - - * choose.cc (build_labels): don't include in partial list just - because there's a *previous* version available. - - * install.cc (do_install): if installing from local directory with - setup.ini and the file isn't found, look in "." also. Note errors. - -2000-10-02 DJ Delorie - - * ini.cc (do_ini): save setup.ini locally - -2000-10-02 Chris Abbey - - * desktop.cc: quote escapes in prompt - -2000-10-02 Jason Tishler - - * root.cc (is_admin): New function. - (read_mount_table): Check for administrative priviledges and set - installation scope as appropriate. - -2000-09-28 DJ Delorie - - * nio-ftp.cc (ftp_line): handle continuations more robustly - -2000-09-14 Brian Keener - - * res.rc: increased the size of the site dialog (IDD_SITE) & the - corresponding list box to provide for more URL's to be listed. - Modified the position of the Back, Next and Cancel buttons to - correspond to the new size of the dialog. - -2000-09-13 DJ Delorie - - * install.cc (do_install): update disk fullness once per package - to improve performance - - * choose.cc (create_listview): call ReleaseDC - -Mon Sep 11 22:40 2000 Harold L Hunt II - - * mkdir.cc: Create directories when ERROR_FILE_NOT_FOUND is - returned, as it seems Samba 2.0.6+ returns this instead of - ERROR_PATH_NOT_FOUND - -Mon Sep 11 19:35:24 2000 Christopher Faylor - - * site.cc (get_initial_list_idx): Don't default to saved URL if it - refers to sources. - -2000-09-07 DJ Delorie - - * splash.cc: use version.h, not local decl - * res.rc: add "old version" message - * resource.h: ditto - * version.h: new - * fromcwd.cc (canonicalize_version): make global - * iniparse.y: add setup-version support, fix bug in blank line - handling - - * inilex.l: add [exp] as alias for [test], add setup-version - * Makefile.in (version.c): add setup-version tag - - * desktop.cc (do_desktop): remove 1.1 version number - (do_desktop_setup): ditto - - * ini.cc (do_ini): zero out package list just in case we redo it. - -2000-09-07 Jeffrey Juliano - - * choose.cc (list_click): Check for nindexes==0; if so, return. - -2000-09-06 Andrej Borsenkow - - * localdir.cc: new, local package directory selection dialog; cd - into selected directory - * Makefile.in (OBJS): add localdir.o - * dialog.h: add prototype for do_local_dir - * main.cc (WinMain): initialize local_dir to cwd; add call to - do_local_dir - * net.cc (dialog_cmd): make DO_LOCAL_DIR next dialog - * source.cc (dialog_cmd): ditto - * res.rc: add DO_LOCAL_DIR dialog; remove "current directory" from - presented choices in IDD_SOURCE; add IDS_ERR_CHDIR error string - * resource.h: defines for DO_LOCAL_DIR dialog; define IDS_ERR_CHDIR - * root.cc (dialog_cmd): make DO_LOCAL_DIR previous dialog - * state.h: add local_dir variable - -2000-09-06 Brian Keener - - * desktop.cc: added logic to handle to the new dialog and to - default the setting for the new checkboxes based on whether the - desktop icon or start menu link already exist. - (desktop_icon): correction to desktop directories for desktop icon - creation. Additional logic added for Win95 which does not appear - to have Common Directories so if Common selected and null uses - normal directory. - (start_menu): Additional logic added for Win95 which does not - appear to have Common Directories so if Common selected and null - uses normal directory. - (do_desktop_setup): moved the saving of the icon, creation of the - bat file, profile, passwd, Start Menu link and desktop shortcut to - this method from do_desktop. Made the creation of the desktop - icon and start menu link conditional on settings of new dialog - created for desktop. - * install.cc (do_install): changed next from IDD_S_DESKTOP to - IDD_DESKTOP. - * main.cc (WinMain): changed case IDD_S_DESKTOP to IDD_DESKTOP. - * res.rc: added new resource to create a desktop dialog with 2 - checkboxes for creating the desktop icon and start menu link. - * resource.h: changed IDD_S_DESKTOP to IDD_DESKTOP and added two - new controls: IDC_ROOT_MENU and IDC_ROOT_DESKTOP for new dialog. - * state.h: added root_menu and root_desktop for use in dialog. - -2000-08-29 DJ Delorie - - * choose.cc (scan_downloaded_files): scan for existing files, so - that the user only sees new downloads. - - * nio-ie5.cc (NetIO_IE5): pre-check for wininet.dll, enable dial-up - * site.cc (do_site): if we can't download the mirror list, go back - to the net setup box to choose another transport. - * autoload.c: add more functions - * Makefile.in (ALL_DEP_LDLIBS): remove wininet.a - * resource.h: add WININET message - - * net.cc (do_net): no longer default to IE5 - * simpsock.h (class SimpleSocket): new, simplify socket operations - * simpsock.cc: ditto - * nio-http.h: new, for direct http protocol - * nio-http.cc: ditto - * nio-ftp.h: new, for direct http protocol - * nio-ftp.cc: ditto - * netio.cc (set_url): move initialization here to handle redirections - (open): add direct http/ftp - * netio.h (NetIO::set_url): new - - * log.cc (log_save): create directory for log if needed - - * hash.cc, hash.h: new - * Makefile: add hash.o - * choose.cc: enable "uninstall" option - * download.cc: invert action test to accomodate uninstalling - * ini.h: add ACTION_UNINSTALL - * install.cc: add uninstall functionality - * res.rc: make install tag changeable - * resource.h: add uninstall resources - - * res.rc: update mirror list URL - -2000-08-24 DJ Delorie - - * log.cc, log.h: new files - * Makefile.in (OBJS): add log.o - * tar.cc: use exit_setup instead of exit - * dialog.cc (fatal): use exit_setup instead of ExitProcess - * msg.cc (fatal): ditto - * install.cc (dialog_cmd): ditto - * ini.cc (do_ini): ditto - * main.cc (main): add logging - * source.cc (do_source): ditto - * root.cc (do_source): ditto - * site.cc (do_site): ditto - * other.cc (do_other): ditto - * net.cc (do_net): ditto - * choose.cc (do_choose): ditto - * download.cc (do_download): ditto - * install.cc (do_install): ditto - * msg.cc (fatal): ditto - - * res.rc: mark password boxes as *being* password boxes. - - * fromcwd.cc (canonicalize_version): use multiple buffers so that - multiple calls won't use the same buffer. - * choose.cc (create_listview): don't default to full list if no changes - (base): return computed value, not temporary :-( - (do_choose): don't use installed.db if we're only downloading. - -2000-08-23 DJ Delorie - - * nio-ie5.cc (NetIO_IE5): Fix authentication logic - * nio-ie5.h (flush_io): new - * netio.cc (load_dialog): note when we're initializing the dialog - box, and ignore changes to the edit fields then. - -2000-08-21 DJ Delorie - - * README: Update - - * fromcwd.cc (found_file): don't remember the canonicalized version - - * choose.cc (paint): print "nothing to do" message when list is empty. - (build_labels): Use version "0.0" if no version is available. - (create_listview): default to full list if nothing to install/update. - (base): new, returns basename of file - (read_installed_db): compare base names, not full paths - -2000-08-11 DJ Delorie - - * choose.cc: add new chooser dialog - * fromcwd.cc: use IDD_CHOOSE - * ini.cc: use IDD_CHOOSE - * main.cc: use IDD_CHOOSE - * ini.h: cosmetic changes - * res.rc: add choose dialog, bitmaps - * choose-spin.bmp: new - * choose-rtarrow.bmp: new - * resource.h: add choose dialog controls - - * mount.cc: remove debug statement - -2000-08-08 DJ Delorie - - * Makefile.in (version.c): make version checking more robust - * splash.cc (load_dialog): handle case where there's no version - -2000-08-07 DJ Delorie - - * (all): add cvsid tags - * Makefile.in: generate version.c from ChangeLog, add splash.o - * splash.o: new - * res.rc: add splash screen - -2000-08-02 DJ Delorie - - * net.cc: remove proxy password code - * res.rc: remove proxy user/pass from net, add auth dialogs - * netio.cc,h: add sys/proxy auth methods - * nio-ie5: use them, check for http status codes - * state.h: add system authorization - - * concat.cc (concat): canonicalize x:// to x:/ (exception to :// - meaning an url) - -2000-08-02 Norman Vine - - * msg.cc (mbox): added MB_TOPMOST to MessageBox type flags - -2000-08-01 DJ Delorie - - * postinstall.cc (each): don't rename files we ignore - (do_postinstall): set CYGWINROOT to root_dir, chdir there - - * desktop.cc: have /etc/profile call ~/.profile and ~/.bashrc - -2000-07-31 DJ Delorie - - * desktop.cc: reverse PATH so /usr/bin precedes /bin - -2000-07-18 DJ Delorie - - * autoload.c: new, autoload dlls that might not be available. - * Makefile.in (OBJS): add autoload.o - - * res.rc: rewrite root options (text/binary, system/user) to be - more obvious. - - * site.cc (get_site_list): trim displayed URL, sort by domain - - * net.cc (do_net): make IE5 default to checked, for now - - * choose.cc (do_choose): sort packages correctly - * ini.cc (do_ini): handle parse errors more gracefully - (yyerror): ditto - (fprintf): line buffer output - (do_ini): if we can't load setup.ini, go back to the site list. - * ini.h: add "unknown" trust level - * inilex.l: absorb unknown trust levels and key/value pairs, - add line number logic - * iniparse.y: handle parse errors more gracefully. - * install.cc: skip packages with no valid install entry - -2000-07-17 DJ Delorie - - * coding standards fixups, many files - * mkdir.cc: warn about deletions *before* deleting them - -2000-07-17 Jeff Juliano - - * res.rc (IDD_OTHER_URL): reorder to give default focus to entry - - * other.cc (dialog_cmd): save download site URL - * site.cc (get_root_dir): new - (save_mirror_site): new - (dialog_cmd): save download site URL - (get_site_list): make list big enough to add prev site - (get_initial_list_idx): new, read last-used URL from file and - append it to site_list - (do_site): call get_initial_list_idx - - * concat.cc (concat): avoid segfault when first parm is null - -2000-07-13 DJ Delorie - - * postinstall.cc: new - * Makefile.in: add postinstall.o - * concat.h: add backslash () - * concat.cc: ditto - * desktop.cc (etc_profile): don't do postinstall - (backslash): moved to concat.cc - (uexists): new - (make_postinstall_script): run directly - (do_desktop): chain to do_postinstall - * dialog.h: add exit_msg, do_postinstall - * download.cc: use exit_msg - * install.cc: ditto - * main.cc: add postinstall, exit_msg - * resource.h: add postinstall - * README: add more to-do items - -2000-07-12 DJ Delorie - - * desktop.cc: add /etc/postinstall/ support - * install.cc: add more "standard" directories - -2000-07-11 DJ Delorie - - * desktop.cc: create /etc/profile - * desktop.cc: fix include syntax - * Makefile.in: add auto-dependencies - * root.cc: support system vs user - * desktop.cc: ditto - * mount.h: ditto - * mount.cc: ditto - * install.cc: ditto - * res.rc: ditto - * resource.h: ditto - * state.h: ditto - * desktop.cc: make sure we use backslashes, not slashes. - * desktop.cc: don't set PATH in cygwin.bat, create /etc/passwd - * geturl.cc: change math for percentage to avoid overflow - * install.cc: ditto - * download.cc: post "download complete" message. - * root.cc: pre-fill in defaults if needed, don't start - browse at root_dir unless it's set. - * desktop.cc: quote $PATH in case it has spaces in it - -2000-07-10 DJ Delorie - - * Makefile.in: add desktop.o and mklink2.o - * dialog.h: add do_desktop - * install.cc: create standard directories, call do_desktop - * res.rc: add cygwin.ico as a file also - * desktop.cc: new, do shortcuts, batch files, and icons - * mklink2.c: new, for COM - * README: update to-do list - -2000-07-10 DJ Delorie - - * ini.cc (do_ini): don't worry about timestamps if we're not - actually installing. - -2000-07-09 DJ Delorie - - * Makefile.in: add -I$(srcdir) for ini.h - -2000-07-06 DJ Delorie - - * Replace everything with a new GUI version - * zlib/gzio.c: add gzctell() for progress displays - -2000-06-22 DJ Delorie - - * setup.c (tarx): re-add call to write_pkg() - -2000-06-07 DJ Delorie - - * cygcalls.c: new, call cygwin1.dll functions directly - * cygcalls.h: header for same - * Makefile.in: add cygcalls.[ch], remove mount/cygpath/umount - exes, fix cinstall.rc dependencies. - * path.c: remove unneeded code - * setup.c: use cygcalls instead of xcreate_process. - uncompress embedded files with zlib - add "-d" for "download only" - add "-h" for help - postpone mount changes until very end - add download progress indicators - pack multi-column listings more - auto-delete temp files - customize banner message according to options - prompt user for text/binary mounts - add warnings about empty setup directory, root installs, etc - -2000-05-24 DJ Delorie - - * tar.c: New file; built-in tar using zlib. - * tar.h: New file; header for same. - * ctar.c: New file; test program for same. - * Makefile.in: add built-in tar, remove tar.exe and gzip.exe - * path.c (pathcat): convert slashes and canonicalize, instead of - aborting - * setup.c (tarx): add support for built-in tar - (main): accept unix-style slashes, check root dir for drive letters, - warn about installing in /, make sure cwd is empty for internet - installs, defer mounts to end of install, support built-in tar. - -Fri May 19 23:44:37 2000 Christopher Faylor - - Fix compiler warnings throughout. - * pkg.c (init_pkgs): Make static 'stuff' global_pkgstuff for use in - get_pkg_stuff. - * setup.c: Make 'root' global. - (istargz): Return pointer to "stem" of matched .tar.gz file. - (tarx): Special case cygwin-20000301 to == cygwin-1.1.0.tar.gz. Remove - bogus check_for_installed check. - (recurse_dirs): Add preliminary support for .bat file execution. - (create_uninstall): Eliminate unneeded parameter. - (do_start_menu): Ditto. - (mkmount): Ditto. - (get_pkg_stuff): Ditto. Check for currently installed cygwin by - scanning for the version number. Eliminate unneeded argument to - create_uninstall. - (getdownloadsource): Add 'name' to list of names rather than url. - (main): Eliminate unneeded argument in get_pkg_stuff. Eliminate - unneeded argument in mkmount and do_start_menu. - -2000-05-18 DJ Delorie - - * setup.c (optionprompt): allow multi-column, clean up message - about more options, be more robust about user input. - (getdownloadsource): make the mirror URL a macro. - (main): do mounts after done prompting user. - -Tue May 2 00:56:41 2000 Christopher Faylor - - * setup.c (cleanup): Inverse order of deletion stands a better chance - of deleting cygpath.exe. Still seems to suffer from occasional races, - though. - (cleanup_on_signal): Perform convoluted dance to accomodate win95 and - w2k. - (output_file): Defend against an unlikely handle leak. - (main): Don't set up signal handling until we have something special to - do. - -Mon May 1 17:56:32 2000 Christopher Faylor - - * path.c (kill_cygpath): Delete function. - (exit_cygpath): Make more defensive so that it can be called at any - time. - (cygpath_pipe): Don't set up signal here. Do it in main(). - * setup.c (istargz): New function. - (recurse_dirs): Look for *.gz pattern rather than *tar.gz since *tar.gz - inexplicably fails on samba mounted partitions. Use istargz to match - tar.gz tail. - (processdirlisting) Use istargz to match tar.gz tail. - (cleanup): Renamed from filedel. - (cleanup_on_signal): New function. Called on CTRL-C. - (main): Record handle of main thread so that it can be suspended when - CTRL-C occurs. Set up cleanup_on_signal signal handler. - -Mon May 1 11:05:07 2000 Christopher Faylor - - * setup.c (do_start_menu): Don't concatenate paths to already built - paths. - -Sun Apr 30 22:37:34 2000 Christopher Faylor - - * path.c (exit_cygpath): Wait for subprocess to exit before returning. - (cygpath_pipe): Don't call exit_cygpath. Let main atexit routine do - that. - * pkg.c (init_pkgs): Accept root argument. Make registry key "cygwin - root"-specific. - * setup.c (filedel): Call exit_cygpath here so that we can be assured - that cygpath subprocess has died. This allows us to delete cygpath.exe - and cygwin1.dll. - (optionprompt): Initialize response to -1 so that second screen of - mirrors will appear. - (get_pkg_stuff): Don't attempt to use HKCLU. Pass root to init_pkgs. - * setup.h: Reflect init_pkgs prototype change. - -Sat Apr 29 23:53:30 2000 Christopher Faylor - - * pkg.c (init_pkgs): Accept an argument to control what root registry - key should be used. - * setup.c (get_pkg_stuff): Use HKCLU registry key if default fails. - * setup.h: Reflect init_pkgs prototype change. - -Sat Apr 29 23:27:14 2000 Christopher Faylor - - * error.c (winerror): Respond to gcc warning. - * path.c (cygpath_pipe): Ditto. - * setup.c (filedel): Call sa_cleanup on deleteme. - (create_shortcut): Coerce argument to eliminate compiler warning. - (tarx): Use installed version of cygwin1.dll, overriding tar file name. - (refmatches): New function. Tests if ref is contained in a list of - packages to install. - (filematches): New function. Tests if filename matches one of a list - of packages to install. - (recurse_dirs): Accept list of packages to install. Generalize tar.gz - test to accomodate _tar.gz. - (prompt): Ensure that stdout is flushed prior to asking for input. - (findhref): Initialize variables to quiet a compiler warning. - (processdirlisting): Accept list of packages to install. Special case - cygwin tar file version number. - (downloaddir): Accept list of packages to install. - (downloadfrom): Ditto. - (create_uninstall): Eliminate unneeded variables. Quote arguments to - regtool. - (do_start_menu): Don't create uninstall bat file if updating or user - specified a list of packages. - (mkmount): Eliminate unneeded variables. - (get_pkg_stuff): New function. Checks for previous unversioned - installation. - (main): Accept -u and -f options and package names on the command line. - Use get_pkg_stuff to initialize package information. Umount /etc. - Call recurse_dirs and downloadfrom with list of package to install. - Ensure that all /usr/local directories are created. Output - installation time to setup.log. - * setup.h: Add some prototypes. - * xsystem.c (xcreate_process): Eliminate unneeded variable. - -Sat Apr 29 12:43:08 2000 Christopher Faylor - - * setup.c (optionprompt): Don't overlap display of already seen options - on next page. - (geturl): Print name of site which we're connecting to rather than "ftp - site". - (processdirlisting): Avoid URLs that contain a /. or ./ . Is this - test too simplistic? - (do_start_menu): Use pathcat to build path to \bin to avoid - problems when user chooses x:\ as their root. - (main): For now, default to "non-update" mode. Allow -u option to - signify an update. - -Sat Apr 29 00:26:06 2000 Christopher Faylor - - * pkg.c: New file. - * setup.c (tarx): Skip already installed or older packages. Report - when a package has been updated. - (processdirlisting): Skip already installed or older packages. - (main): Detect -f option for forced installation. Initialize pkg stuff - if appropriate. - * setup.h: Add pkg definitions. - -Thu Apr 27 14:21:30 2000 Christopher Faylor - - * setup.c (findhref): Return NULL on empty string. Eat any trailing - ";something". - (processdirlisting): Attempt to limit recursively processing the same - directory. - -Thu Apr 27 11:42:23 2000 Christopher Faylor - - * setup.c (filedel): New function. - (output_file): Keep track of files extracted from setup.exe for - subsequent deletion. - (tarx): Close process handle of child tar process or suffer handle - leak. - (getdownloadsource): Close mirror file so that it can be unlinked. - (processdirlisting): Return total number of files extracted. - (main): Initialize array of files to delete. Ensure that files are - closed on exit. Make the directory that setup.exe is started from == - the directory where temporary files are placed. Issue an error if no - files were found to download. - * xsystem.c (xcreate_process): Close the thread handle. Close the - process handle if we waited for it to exit. - -Thu Apr 27 09:54:19 2000 Christopher Faylor - - * setup.c (main): Change version number output. - -Thu Apr 27 09:23:17 2000 Christopher Faylor - - * setup.c (tarx): Use full path name to tar executable. - (main): Build full pathname to tar executable. Create /usr/local/etc - by default. - -Wed Apr 26 22:16:57 2000 Christopher Faylor - - * setup.c (findhref): Change method for scanning for href= to choose - the last one on the line. This is still not foolproof and probably - will need to be changed eventually. Don't abort if no "size" field is - evident. - (processdirlisting): Fix boolean algebra. - -Wed Apr 26 01:10:39 2000 Christopher Faylor - - * main.c (tarx): Add some code for future task of unmounting - directories encountered in tar file. - -Sat Apr 22 16:37:03 2000 Christopher Faylor - - * setup.c (findhref): Decode file size, when appropriate. - (needfile): New function. Returns 1 when file should be - downloaded. - (processdirlisting): Always download if file size does not - match. Prompt when download fails for some reason. - (getdownloadsource): Accomodate findhref argument changes. - -Sat Apr 22 15:13:42 2000 Christopher Faylor - - Throughout, use global session handle rather than reinitializing for - each connect. Don't pass session as an argument to setup.c functions. - * setup.c (geturl): Only issue "Connecting to.." message when using - http or first time for ftp since subsequent connections will be fast. - (processdirlisting): Allocate space for "N" when user has specified - "N"ever option so that it can be subsequently freed. - (main): Abort if we can't get the list of mirrors. - -Thu Apr 20 16:41:42 2000 Christopher Faylor - - * setup.c (main): Umount /bin and /lib. - -Wed Apr 19 13:34:44 2000 Christopher Faylor - - * setup.c (main): Create an empty /var/run/utmp. - -Tue Apr 18 19:16:56 2000 Christopher Faylor - - * Makefile.in: Add umount to list of files to include in setup.exe. - * setup.c (xumount): New function for unmounting directories. - (main): Unmount /usr. - (mkmount): Unmount "unix directory" before trying to figure out where - to create the directory. - -Tue Apr 18 17:28:55 2000 Christopher Faylor - - * setup.c (mkmount): Use xcreate_process to start mount process, - avoiding the shell. - (main): Don't do buffering on stdout or prompts won't be displayed - correctly if running in a cygwin shell with CYGWIN=tty. - -Tue Apr 18 15:35:19 2000 Christopher Faylor - - * setup.c (main): Remove the CYGWIN environment variable before - starting any cygwin programs. - -Mon Apr 17 19:20:52 2000 Vadim Egorov - - * setup.c (geturl): Use alternative method for finding filename part of - a URL. - (processdirlisting): Accomodate strange output from non-MS ftp proxy. - (downloaddir): Unlink file containing dir listing. - (downloadfrom): Ditto. - -Mon Apr 17 00:00:49 2000 Christopher Faylor - - * setup.c (main): Disallow running setup.exe from the "root". - -Sun Apr 16 18:50:58 2000 Christopher Faylor - - Use "warning" function, where appropriate, to output warnings. - * setup.c (warning): New function -- outputs warning to console and log - file. - (tarx): Fix index used to reset file protection. - (main): Open the log file earlier so that more stuff can be sent to it. - -Sat Apr 15 20:05:33 2000 Christopher Faylor - - * setup.c (processdirlisting): Make "N" option a little less aggressive. - -Fri Apr 14 11:11:29 2000 Christopher Faylor - - * setup.c (tarx): Wait to after tar has completed to reset protections - or suffer races with tar process. - -Thu Apr 13 12:51:19 2000 Christopher Faylor - - * Makefile.in: Eliminate duplicate -nostdinc from CFLAGS. - * setup.c (create_uninstall): Create the uninstall .bat file in the - "root" so that we can remove the /bin directory. Add bin\cygwin.bat to - list of files to be deleted. Fix directory detection for determining - when to use 'rmdir'. - (do_start_menu): Add /usr/local/bin to the path. - (main): Add slop to files.array allocation so that we don't have to - worry about reallocating the array when it grows too large when doing - some trivial "pushes". Add /tmp and /usr/local/{bin,lib} to list of - files. - -Thu Apr 13 01:59:44 2000 Christopher Faylor - - * setup.c (processdirlisting): Fix handling of "A" for "A"lways - download. - -Thu Apr 13 01:11:45 2000 Christopher Faylor - - * path.c (kill_cygpath): New cleanup function. - (exit_cygpath): New cleanup function. - (cygpath_pipe): New function. Sets up cygpath in the background for - translating filenames. - (pathcvt): Use background cygpath for file translation. - * setup.c (tarx): New function. Called to extract tar files, capture - logging output, and translate it to Windows format. - (recurse_dirs): Use 'tarx' function to extract files. - (create_uninstall): Use file list built up by tarx rather than reading - the log file. - (mkmount): Add ability to mount root. - (main): Track elapsed install time. Mount root. - * starry.h: Add index field to strarry for tracking of tarx's usage of - this structure. - * xsystem.c (xcreate_process): Return proces handle when not waiting. - -Mon Apr 10 22:44:56 2000 Christopher Faylor - - * path.c: New file. - (pathfp): New function. Preliminary work for new -f cygpath - functionality. - * Makefile.in: Add new file. - (pathcvt): Move to new file. - (dtoupath): Ditto. - (utodpath): Ditto. - (pathcat): Ditto. - * setup.c (processdirlisting): Always open file in text mode. - (create_uninstall): Ditto. - (getdownloadsource): Ditto. - (main): Ditto. - -Mon Apr 10 20:33:40 2000 Christopher Faylor - - * xsystem.c: New file. - * Makefile.in: Accomodate new file. - * setup.c (xsystem): Move to new file. - (recurse_dirs): Accept handle to output log file. Don't use ">" - redirection to trap tar output. Use supplied handle instead. - (create_uninstall): Accept FILE pointer to opened log file. Don't - unlink log file here. - (do_start_menu): Accept FILE pointer to pass to create_uninstall. - (main): Open log file here and pass it to various functions. Unlink - when done. - -Mon Apr 10 17:15:52 2000 Christopher Faylor - - Change occurrences of .usr.bin to .bin throughout. - * setup.c (geturl): Increase number of retries to 20. Let user know - what's going on during long connects. - (processdirlisting): Accept "A"lways and "N"ever as update options. - (create_uninstall): Load cygwin1.dll from the current directory rather - than \bin. - (main): Add some expository text. - -Sun Apr 9 20:59:15 2000 Christopher Faylor - - * Makefile.in: Change method for compressing cygwin1.dll to avoid - creating a cygwin1.dll in the current directory. Ensure the addition - of -nostdinc to MINGW_CFLAGS. - -Sun Apr 9 02:15:47 2000 Christopher Faylor - - * Makefile.in: Augment clean target. - -Fri Apr 7 17:04:02 Ron Parker - - * README: Added info about non-working mingw implementation - * gzip.exe.gz: Replace with a version from the same build as the other - tools. - * tar.exe.gz: Replace with a version from the same build as the other - tools. - * mount.exe.gz: Add to repository until, mingw can build setup. - * cygpath.exe.gz: ditto - * cygwin1.dll.gz: ditto - * setup.c: Overwrite /bin and /lib mounts. Generate working shortcut - for Win9x. Display only a screenfull of options at a time. Call all - tools with an absolute path. - * setup.dsp: Restore the carriage returns, MS Developer Studio needs - them. - * setup.dsw: ditto - * zlib.dsw: ditto - -Thu Apr 6 19:15:27 2000 Christopher Faylor - - * Makefile.in: Add "-nostdinc" to regular CFLAGS. Add target to grab - cygwin1.dll from ../cygwin subdirectory. - * gzip.exe.gz: Update. - * tar.exe.gz: Update. - -Wed Apr 5 10:52:08 2000 Christopher Faylor - - * Makefile.in: Use ZLIB variable as a target. - -Sat Apr 1 22:49:09 2000 Christopher Faylor - - * Makefile.in: Eliminate traces of cygwinisms. Don't link with - libmsvcrt.a. It's unneeded. Build .rc file on the fly from various - sources. - * configure.in: Locate correct objcopy. - * configure: Regenerate. - -Sat Apr 1 20:48:09 2000 Christopher Faylor - - * Makefile.in: New file. - * configure.in: New file. - * configure: New file. - * zlib/Makefile.am: New file. - * zlib/configure.in: New file. - * zlib/aclocal.m4: New file. - * zlib/acinclude.m4: New file. - * zlib/configure: Regenerate from configure.in. - * zlib/Makefile.in: Regenerate from Makefile.am - -%%% $Id$ -$Revision$ diff --git a/Makefile.am b/Makefile.am index 12ad5ca..a947a78 100644 --- a/Makefile.am +++ b/Makefile.am @@ -274,7 +274,7 @@ inilint_SOURCES = \ GITVER := $(shell cd $(srcdir) && git describe --match release_\* --abbrev=6 --dirty || "N/A") VER := $(subst release_,,$(GITVER)) -setup_version.c : $(srcdir)/ChangeLog Makefile +setup_version.c : Makefile @echo "Setup version: " $(VER) $(AM_V_GEN)(echo '#define VERSION_PREFIX "%%% setup-version"';\ echo 'static const char version_store[] = VERSION_PREFIX " '$(VER)'";';\