1 2015-02-16 Achim Gratz <ASSI <Stromeko@NexGo.DE>>
3 * Makefile.am (VER): Use git-describe to construct version string
4 based on annotated release tags.
5 (setup_version.c): Echo setup version, use round parens instead of
8 2015-02-10 Corinna Vinschen <corinna@vinschen.de>
10 * Makefile.am (VER): Don't use ChangeLog revision number since git
11 doesn't maintain it. Use ChangeLog's commit count instead.
13 2015-02-07 Achim Gratz <Stromeko@NexGo.DE>
15 * install.cc (preremoveOne): Allow dash scripts and ".cmd" as an
16 additional extension for WIndows batch files.
18 2015-02-06 Corinna Vinschen <corinna@vinschen.de>
20 * package_meta.h (packagemeta::trustp): Make sure that curr and
21 installed exist before using them in version comparisons. Install exp
22 over installed only if exp has a higher version number than installed.
24 2015-02-05 Corinna Vinschen <corinna@vinschen.de>
26 Throughout, change preceeding patch from SHA256 to SHA512.
27 * Makefile.am (BASECXXFLAGS): Add -Wno-attributes for the sake of
30 2015-02-05 Corinna Vinschen <corinna@vinschen.de>
32 Prepare for changing from MD5 to SHA256 checksums.
33 * IniDBBuilder.h (IniDBBuilder::buildInstallSHA256): Declare as pure
35 (IniDBBuilder::buildSourceSHA256): Ditto.
36 * IniDBBuilderPackage.h (IniDBBuilderPackage::buildInstallSHA256):
38 (IniDBBuilderPackage::buildSourceSHA256): Ditto.
39 * IniDBBuilderPackage.cc: Formatting changes.
40 (IniDBBuilderPackage::buildInstallSHA256): New method to store SHA256
41 sum for binary package.
42 (IniDBBuilderPackage::buildSourceSHA256): Ditto for source package.
43 * Makefile.am (@SETUP@_SOURCES): Add sha256sum.c and sha256sum.h.
44 * inilex.ll: Formatting changes. Implement string recognition for
46 * iniparse.yy: Define new token. Allow SHA256 as well as MD5 checksums.
47 * install.cc (do_install_thread): Call chksum_one instead of md5sum.
48 (sha256_str): New static function to create SHA256 checksum string for
50 (sha256_one): New function to compute SHA256 checksum for file.
51 (md5_one): Move validity tests into chksum_one.
52 (chksum_one): New static function. Call either sha256_one
53 or md5_one depending on checksum read from ini file.
54 * package_source.h (packagesource::packagesource): Initialize sha256sum.
55 (packagesource::sha256sum): New member.
56 * sha2.c: New file, taken from OpenBSD.
57 * sha2.h: New file, taken from OpenBSD.
59 2015-02-04 Corinna Vinschen <corinna@vinschen.de>
61 * Throughout, include LogFile.h instead of LogSingleton.h where
63 * LogFile.cc (LogFile::exit_msg): Convert globally available variable
64 to protected, static LogFile member.
65 (LogFile::exit): Accept second parameter to decide if the end of install
66 message is to be printed. Revert to using the exit_code as is.
67 * LogFile.h (LogFile::setExitMsg): New static method. Use throughout
68 rather than setting exit_msg directly.
69 (LogFile::getExitMsg): Ditto.
70 (LogFile::exit): Add second parameter to prototype.
71 (LogFile::exit_msg): New static member.
72 (Logger): New macro defining simplified access th logger instance.
73 Use throughout in place of LogSingleton::GetInstance and direct access
75 * LogSingleton.h (LogSingleton::exit): Add second parameter to
77 * desktop.cc (theLog): Remove extern declaration.
78 (set_status): Call Logger ().getExitMsg () instead of
79 accessing exit_msg directly.
80 * localdir.cc (theLog): Remove extern declaration.
81 * main.cc (theLog): Remove.
82 (WinMain): Introduce local variables to store requirement to print
83 help output and if command line options were used incorrectly. Use
86 2015-02-03 Corinna Vinschen <corinna@vinschen.de>
88 * LogFile.cc (LogFile::exit): Deconstify exit_code. Handle
89 exit_code -1 special (instead of IDS_ELEVATED). Add comments to
91 * LogFile.h (LogFile::exit): Deconstify exit_code in prototype.
92 * main.cc (WinMain): Restructure code. Revert to always initializing
93 log output. Don't generate log files if setup is going to elevate
94 itself, or if only help output is requested. Set exit_code to -1 in
95 call to LogFile::exit in the cases we don't want a log (elevate/help).
97 2015-01-28 Corinna Vinschen <corinna@vinschen.de>
99 * choose.cc (MirrorOption): Add experimental local mirror option.
100 (ChooserPage::OnInit): Call packagemeta::ScanDownloadedFiles with
101 value of MirrorOption as argument.
102 * download.cc (check_for_cached): Add bool parameter. If true, assume
103 correctness of download (==mirror) directory without checking files.
104 * download.h (check_for_cached): Add bool parameter to prototype,
106 * package_meta.cc (packagemeta::ScanDownloadedFiles): Add bool
107 parameter. Use to compute flag to call packageversion::scan with.
108 * package_meta.h (packagemeta::ScanDownloadedFiles): Align prototype.
109 * package_version.cc (packageversion::scan): Add bool parameter. Call
110 check_for_cached with value of this parameter.
111 * package_version.h (packageversion::scan): Align prototype.
113 2015-01-28 Corinna Vinschen <corinna@vinschen.de>
115 * PickPackageLine.cc (PickPackageLine::click): Rearrange code. Switch
116 package to "Uninstall" if neither binary, nor source package are picked.
118 * choose.cc (ChooserPage::OnInit): Fix CleanOrphansOption broken with
119 latest patch. Reformat slightly.
120 * package_meta.cc (packagemeta::set_action): Rearrange and further
121 simplify code. Make sure to have binary and source version never
122 unpicked at the same time to avoid spurious uninstallation of package.
123 Try to comment thoroughly.
125 2015-01-26 Corinna Vinschen <corinna@vinschen.de>
127 * PickPackageLine.cc (PickPackageLine::paint): Call trustp with default
129 (PickPackageLine::click): Drop parameter from packagemeta::set_action
131 (PickPackageLine::set_action): Call trustp with default flag set to
133 * choose.cc (ChooserPage::OnInit): Call trustp with default flag set to
134 true to fetch default package version, rather than defaulting to curr.
135 * package_db.cc (packagedb::defaultTrust): Call trustp with default
137 * package_meta.cc (packagemeta::set_action): Drop default_version
138 parameter. Rewrite to simplify mechanism, and to account for correct
139 stepping through versions if installed version is not available anymore.
140 * package_meta.h (packagemeta::set_action): Align prototype.
141 (packagemeta::trustp): Add bool to request default package handling.
142 Add code to make sure not to downgrade packages by default.
143 * package_version.cc (processOneDependency): Call trustp with default
145 * prereq.cc (PrereqChecker::getUnmetString): Ditto.
146 (PrereqChecker::selectMissing): Ditto.
148 2015-01-25 Corinna Vinschen <corinna@vinschen.de>
150 * package_version.cc (packageversion::compareVersions): Get arguments
151 by const references instead of by value.
152 * package_version.h (packageversion::compareVersions): Match prototype.
153 * res.rc: Bump version date.
155 2014-12-09 Yaakov Selkowitz <yselkowitz@cygwin.com>
157 * package_source.cc (packagesource::set_canonical): Fix handling
158 of package release number containing a period.
160 2014-11-28 Achim Gratz <Stromeko@NexGo.DE>
162 * script.cc: New static string dash.
163 (init_run_script): Initialize dash.
164 (run): Implement dash as an extra shell type that is invoked for
165 suffix ".dash". Implement suffix ".cmd" as an alias for ".bat".
167 2014-11-28 Achim Gratz <Stromeko@NexGo.DE>
169 * install.cc (do_install_thread): Remove initialization for
171 * postinstall.cc (do_postinstall_thread): Remove initialization
172 for run_script. Implement stratified postinstall (hardcode three
173 strata for now). For each stratum, run perpetual scripts first
174 after sorting them as ASCII, then the postinstall scripts just
175 installed, then check for dormant scripts in postinstall and try
177 (PerpetualFindVisitor): New helper class to pick up perpetual
179 (RunFindVisitor): Use new Script member function and pick up only
180 runnable non-perpetual scripts.
181 * script.h (Script::baseName): Add private variable.
182 (Script::scriptExtension): Ditto.
183 (Script::scriptStratum): Ditto
184 (Script::scriptType): Ditto
185 (Script::allowedStrata): Ditto
186 (Script::allowedTypes): Ditto
187 (Script::match): New private member function.
188 (Script::not_p): New public member function to check for
189 non-perpetual runnable script.
190 (Script::is_p): Ditto, but for perpetual scripts.
191 (Script::operator ==): Qualify as const.
192 (Script::operator <): New const qualified, used for sorting as ASCII.
193 * script.cc (class Script): Implement those additional members.
194 (run): Implement using the new member variables and std::string
195 functions instead of C string manipulations.
199 (Script): Extend initialization section and calculate values for
200 member variables. Move initialization for run_script into the constructor.
202 2014-11-22 Achim Gratz <Stromeko@nexgo.de>
204 * LogSingleton.h: Rename log macro to Log to avoid collision with
205 standard math function in some versions of g++.
206 * AntiVirus.cc: Replace invocations of log with Log.
207 * IniDBBuilderPackage.cc: Ditto.
209 * PickView.cc: Ditto.
211 * archive_tar.cc: Ditto.
213 * cygpackage.cc: Ditto.
214 * download.cc: Ditto.
218 * io_stream.cc: Ditto.
219 * io_stream_cygfile.cc: Ditto.
220 * localdir.cc: Ditto.
226 * package_db.cc: Ditto.
227 * package_meta.cc: Ditto.
228 * package_version.cc: Ditto.
230 * processlist.cc: Ditto.
231 * proppage.cc: Ditto.
236 * threebar.cc: Ditto.
240 2014-11-22 Achim Gratz <Stromeko@nexgo.de>
242 * main.cc (WinMain): Show parameter usage before exiting when
243 options processing was unsuccessful (this usually means that an
244 unknown option was given on the command line).
246 2014-11-20 Corinna Vinschen <corinna@vinschen.de>
248 * install.cc (Installer::StandardDirs): Add /etc/fstab.d, /dev,
249 /dev/mqueue, /dev/shm. Sort array alphabetically.
251 2014-11-04 Achim Gratz <Stromeko@nexgo.de>
253 * Makefile.am: Provide new targets "strip" and "upx" to remove
254 debugging symbols and compress the executable using UPX.
255 * README: Change description of how to produce stripped and compressed
256 binaries to use the new make targets.
258 2014-10-26 Corinna Vinschen <corinna@vinschen.de>
260 * setup.exe.manifest: Add Windows 10 OS GUID.
261 * setup64.exe.manifest: Ditto.
263 2014-09-27 Eric Blake <eblake@redhat.com>
265 * res.rc: Fix missing space.
267 2014-04-19 Jon TURNEY <jon.turney@dronecode.org.uk>
269 * site.cc (init): Handle sitenames which aren't FQDNs correctly.
271 2014-04-19 Jon TURNEY <jon.turney@dronecode.org.uk>
273 * site.cc (PopulateListBox): Select listbox items by finding the
274 index of the item with a matching full URL, not by LB_FINDSTRING
275 which does an inexact match on the displayed URL.
277 2013-11-18 Jon TURNEY <jon.turney@dronecode.org.uk>
279 * msg.cc (mbox): Generalize to a MessageBox wrapper which knows
280 what to do in unattended mode.
281 * msg.h: Add prototype.
282 * ini.cc (IniParseFeedback): Use here rather than MessageBox.
284 2014-04-22 Corinna Vinschen <corinna@vinschen.de>
286 * mount.cc (read_mounts): Don't create rootdir key when just fetching
289 2014-04-22 Corinna Vinschen <corinna@vinschen.de>
291 * mount.cc (is_admin): Drop function. It's incorrectly implemented
293 (create_install_root): If installing the setup rootdir entry to HKLM
294 results in ERROR_ACCESS_DENIED, fall back to installing into HKCU.
295 Don't exit with a fatal error if writing the registry key fails. Just
296 pop up an informative message box instead. Also log access denied.
297 (read_mounts): call nt_sec.isRunAsAdmin instead of removed is_admin.
298 (NTSecurity::isRunAsAdmin): Fix formatting.
300 2014-03-10 Corinna Vinschen <corinna@vinschen.de>
301 Jon Beniston <jon@beniston.com>
303 * main.cc (WaitOption): New -W/--wait option.
304 (WinMain): Rearrange code to make sure only the actual worker
305 instance of setup logs into the setup.log and setup.log.full files.
306 Call NTSecurity::initialiseWellKnownSIDs explicitely. Explain why.
307 If WaitOption is given, let the parent process wait for the elevated
309 * win32.cc (NTSecurity::initialiseWellKnownSIDs): Drop generating
311 (NTSecurity::setDefaultSecurity): Drop call to initialiseWellKnownSIDs.
312 * win32.h (NTSecurity::initialiseWellKnownSIDs): Make public.
314 2014-03-10 Jon Beniston <jon@beniston.com>
316 * main.cc (WinMain): If setup elevates, let the parent wait for the
317 child process to accommodate enclosing installers.
319 2013-11-19 Corinna Vinschen <corinna@vinschen.de>
321 * setup.exe.manifest: Add Windows 8.1 GUID.
322 * setup64.exe.manifest: Ditto.
324 2013-11-18 Corinna Vinschen <corinna@vinschen.de>
326 * filemanip.cc (nt_fopen): Rename from fopen. Add permission parameter.
327 Drop C binding. Move comment.
328 * filemanip.h (nt_fopen): Declare.
329 * geturl.cc (get_url_to_file): Call nt_fopen instead of fopen.
330 * nio-file.cc (NetIO_File::NetIO_File): Ditto.
331 * main.cc (dyn_AttachConsole): Remove.
332 (dyn_GetLongPathName): Remove.
333 (set_dynaddr): Remove.
334 (set_cout): Just call AttachConsole directly.
335 (WinMain): Drop call to set_dynaddr.
337 2013-11-15 Corinna Vinschen <corinna@vinschen.de>
339 * resource.h (IDC_SOURCE_SUBTEXT): Define.
340 * res.rc: Define text below header as IDC_SOURCE_SUBTEXT to allow
343 2013-11-15 Corinna Vinschen <corinna@vinschen.de>
345 * root.cc: Move inline definitions of GetDlgItemRect and
346 SetDlgItemRect from here...
347 * win32.h: ...to here, for potential usage in other dialogs.
349 2013-11-15 Corinna Vinschen <corinna@vinschen.de>
351 * res.rc: Fix size and position of rootdir textbox and button.
352 Align size and position of localdir fields to rootdir fields for
355 2013-11-15 Corinna Vinschen <corinna@vinschen.de>
357 * resource.h (IDC_ROOTDIR_SUBTEXT): Fix typo.
359 2013-11-15 Corinna Vinschen <corinna@vinschen.de>
361 * resource.h (IDC_ROOTDIR_SUBTEXT): Define.
362 * res.rc: Define text below header as IDC_ROOTDIR_SUBTEXT to allow
365 2013-11-15 Corinna Vinschen <corinna@vinschen.de>
367 * mount.cc (read_mounts): Drop setting root_text.
368 * res.rc: Set content of root dir dialog correctly right from the start.
370 * resource.h (IDC_ROOT_TEXT): Remove.
371 (IDC_ROOT_BINARY): Ditto.
372 (IDC_FILEMODES_LINK): Ditto.
373 (IDC_MODE_GRP): Ditto.
374 (IDC_MODE_TEXT): Ditto.
375 (IDC_MODE_BIN): Ditto.
376 * root.cc (Root): Set "Install For" group items to CP_STRETCH.
377 Remove all "text/binary" items.
379 (check_if_enable_next): Drop test for root_text.
380 (load_dialog): Remove all code setting items differently to what's
381 specified as default in the resources, in favor of setting this
382 correctly in the resources.
383 (save_dialog): Drop setting root_text.
384 (RootPage::OnMessageCmd): Drop IDC_ROOT_TEXT/IDC_ROOT_BINARY handling.
385 (RootPage::OnInit): Drop IDC_FILEMODES_LINK handling.
386 (RootPage::OnNext): Drop "text"/"binary" state from debug output.
387 * state.cc (root_text): Remove.
389 2013-11-14 Corinna Vinschen <corinna@vinschen.de>
391 * archive_tar.cc: Drop commented out static variable definitions.
392 (archive_tar::next_file_name): Replace MAX_PATH with CYG_PATH_MAX.
393 * archive_tar.h (tar_state::filename): Ditto.
394 * cygpackage.cc (cygpackage::cygpackage): Ditto.
395 * cygpackage.h (cygpackage::getfilenamebuffer): Ditto.
396 * desktop.cc (start_menu): Add comment. Drop Windows 9x considerations.
397 (desktop_icon): Ditto.
398 (check_desktop): Ditto.
399 (check_startmenu): Ditto.
400 * diskfull.cc (diskfull): Drop Windows 9x considerations. Convert
401 incoming path to wide char and call GetDiskFreeSpaceExW.
402 * filemanip.cc (fopen): New function, overriding MSVCRT function.
407 * install.cc (check_for_old_cygwin): Add comment.
408 * localdir.cc (browse): Add comment.
409 (LocalDirPage::OnNext): Don't rely on being able to change CWD.
410 Call GetFileAttributesW instead and change conditional expressions
411 accordingly. Explain why. Rename trySetCurDir to tryLocalDir to
412 avoid confusion. Call do_from_local_dir rather than do_fromcwd.
413 * mount.cc (read_mounts): Add comments. Call GetSystemWindowsDirectory
414 rather than GetWindowsDirectory since that's what we're really want.
415 * postinstall.cc (do_postinstall_thread): Drop setting CWD. Scripts
416 are called with CWD set to Cygwin root dir anyway.
417 * processlist.cc (Process::getName): Allow CYG_PATH_MAX sized module
419 (Process::isModuleLoadedInProcess): Allow CYG_PATH_MAX sized module
421 * root.cc (browse): Add comment.
422 * script.cc (sanitize_PATH): Call GetSystemWindowsDirectory rather than
423 GetWindowsDirectory since that's what we're really want.
424 (Script::run): Allow cmdline up to CYG_PATH_MAX chars to allow longer
426 * win32.h (CYG_PATH_MAX): Define as 4096 as Cygwin's PATH_MAX.
428 2013-11-13 Corinna Vinschen <corinna@vinschen.de>
430 * desktop.cc (STARTMENUDIR): Define.
431 (check_startmenu): Use STARTMENUDIR instead of constant string.
432 (DesktopSetupPage::OnActivate): Use TARGET and TERMINALTITLE defines
433 to simplify calls to check_startmenu and check_desktop.
435 2013-11-13 Corinna Vinschen <corinna@vinschen.de>
437 * desktop.cc: Drop dependency on static variable and order of
438 initialization. Allow easier reconfiguration.
439 (iconname): Drop static variable.
440 (make_link): Add parameter to specify icon path.
441 (start_menu): Ditto. Call make_link accordingly.
442 (desktop_icon): Ditto.
443 (save_icon): Take windows path as first parameter. Drop setting
444 global iconname variable.
446 (DEFAULTICON): Define.
447 (TERMINALICON): Define.
448 (TERMINALTITLE): Define.
449 (do_desktop_setup): Rearrange code to use aforementioned defines and
450 align function calls to aforementioned changes.
452 2013-11-13 Corinna Vinschen <corinna@vinschen.de>
454 * mount.cc (CYGWIN_INFO_CYGNUS_REGISTRY_NAME): Remove now unused
455 pre-1.7 registry key name.
456 (CYGWIN_INFO_CYGWIN_MOUNT_REGISTRY_NAME): Ditto.
457 (CYGWIN_INFO_CYGDRIVE_FLAGS): Ditto.
458 (CYGWIN_INFO_CYGDRIVE_PREFIX): Ditto.
459 (CYGWIN_INFO_CYGDRIVE_DEFAULT_PREFIX): Ditto.
461 2013-11-13 Corinna Vinschen <corinna@vinschen.de>
463 * Makefile.am (EXTRA_DIST): Add cygwin-setup.ico and
466 2013-11-07 Corinna Vinschen <corinna@vinschen.de>
468 * LogFile.cc (LogFile::exit): Don't print ending message after
469 successful elevation.
470 * res.rc (IDS_ELEVATED): New string.
471 * resource.h (IDS_ELEVATED): New string resource number.
473 2013-11-07 Shaddy Baddah <lithium-cygwin@shaddybaddah.name>
475 * LogFile.cc (LogFile::flushAll): New function to flush log all logging
476 to files without exiting (as LogFile::exit does).
477 * LogFile.h: Declare new method closeAll.
478 * main.cc (NoAdminOption): Add new CLI options -B/--no-admin. This
479 option allows the user to suppress privilege elevation (in tandem with
480 "asInvoker" requestedExecutionLevel changes to exe manifests).
481 (WinMain): check if setup run with Administrator privilege and if the
482 NoAdminOption has not been specified, attempt to elevate privilege to an
483 Administrator via WINAPI ShellExecuteEx().
484 * setup.exe.manifest: Add requestedExecutionLevel of asInvoker to allow
485 suppression of privilege elevation.
486 * setup64.exe.manifest: Modify requestedExecutionLevel from
487 requireAdministrator to asInvoker to allow suppression of privilege
488 elevation. Continuity of privilege elevation attempt on startup is
489 implemented by main.cc changes to WinMain().
490 * win32.cc (NTSecurity::isRunAsAdmin): New function to allow main.cc to
491 check if setup.exe has been run with privilege elevated to Administrator
493 * win32.h: Declare new method isRunAsAdmin.
495 2013-10-07 Jon TURNEY <jon.turney@dronecode.org.uk>
497 * prereq.cc (OnUnattended): Also select missing requirements in unattended
498 mode, since it's no longer a side effect of the chooser.
500 2013-09-17 Christopher Faylor <me.cygwin2013@cgf.cx>
502 * filemanip.cc (find_tar_ext): Generalize search for .tar extension,
503 avoiding looking for specific compression types.
505 2013-08-12 Achim Gratz <Stromeko@Stromeko.DE>
507 * csu_util/MD5Sum.h (MD5Sum): Remove declaration for conversion
508 operator std::string(). Remove implementation of member
509 function str() using the conversion operator.
510 * csu_util/MD5Sum.cc (MD5Sum::str): Reuse implementation of conversion
511 operator std::String to implement member function str() with.
513 2013-08-09 Achim Gratz <Stromeko@Stromeko.DE>
515 * csu_util/MD5Sum.cc (MD5Sum::operator std::string() const):
516 Reimplement using stringstream to avoid a SEGV.
518 2013-07-29 Corinna Vinschen <corinna@vinschen.de>
520 * localdir.cc (LocalDirPage::OnNext): Accommodate architecture parameter
521 in IDS_NO_CWD string.
522 (IDS_NO_CWD): Add string argument for architecture in setup name.
524 2013-07-29 Corinna Vinschen <corinna@vinschen.de>
526 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildVersion): Align
527 warning string to target architecture.
529 2013-07-26 Achim Gratz <Stromeko@Stromeko.DE>
531 * choose.cc (UpgradeAlsoOption): Add new CLI option -g/--upgrade-also.
532 (CleanOrphansOption): Add new CLI option -o/--delete-orphans.
533 (OnInit): Implement -g/--upgrade-also, considers all installed packages
534 as candidates for upgrades (the default when no CLI package or category
535 options have been given) also when manual additions or removals are
536 requested at the same time. Implement -o/--delete-orphans, considers
537 installed packages that do not exist anymore in the package repositories
538 as candidates for deletion.
540 2013-07-24 Jon TURNEY <jon.turney@dronecode.org.uk>
542 * bootstrap.sh : Add support for x86_64-w64-mingw32 toolchain.
544 2013-07-25 Achim Gratz <Stromeko@Stromeko.DE>
546 * package_db.h (packagedb::addCommandLinePackages): Remove declaration.
547 * package_db.cc (packagedb::addCommandLinePackages): Remove.
549 2013-07-25 Achim Gratz <Stromeko@Stromeko.DE>
551 * choose.h (hasManualSelections): Declare new variable.
552 * choose.cc (ChooserPage::OnInit): Re-implement package handling
553 depending on options given on CLI using package actions instead of
554 package_meta low-level functions. When no CLI package or category
555 options have been given, upgrade installed packages. Do not check for
556 updates when packages are to be added or removed from the CLI, but this
557 behaviour can be requested with --upgrade-also. A package that is
558 requested to be removed and also added at the same time gets reinstalled
559 or upgraded (when version curr != installed). Uninstalled packages in
560 categories "Base" or "Misc" are always selected for installation;
561 installed packages in these categories are not eligible for deletion
562 and will be reinstalled or upgraded instead.
563 * package_meta.h (packagemeta::ismanuallyDeleted): Declare new method.
564 * package_meta.cc (DeletePackageOption): Add new CLI option
565 -x/--remove-packages, packages listed here are considered candidates
567 (DeleteCategoryOption): Add new CLI option -c/--remove-categories,
568 packages belonging to categories listed here are considered candidates
570 (hasManualSelections): Additional boolean to record if any manual
571 installations or deletions have been requested.
572 (packagemeta::isManuallyDeleted): Implement along the same lines as
573 isManuallyWanted, but for deletion candidates.
575 2013-07-25 Achim Gratz <Stromeko@Stromeko.DE>
577 * choose.cc (ChooserPage::createListview): Remove superflous and
578 detrimental default trust setting. This has already been set correctly
581 2013-07-24 Christopher Faylor <me.cygwin2013@cgf.cx>
583 * configure.ac: Change setup64.exe -> setup.exe.
585 2013-07-23 Jon TURNEY <jon.turney@dronecode.org.uk>
587 * install.cc (_custom_MessageBox): Restore custom message box.
588 (installOne): If processList is empty, use the custom message box
589 to ask if we should retry or continue.
590 * res.rc (IDD_FILE_INUSE): Use IDCONTINUE for continue buttom, to be
591 the same custom message box.
593 2013-07-22 Corinna Vinschen <corinna@vinschen.de>
595 * root.cc (directory_contains_wrong_version): Check cygwin1.dll's
596 machine type. If that fails, fall back to testing of cygcheck.exe's
597 binary type. Tweak message text slightly for clearness. Add comment
598 to explain what this function does.
600 2013-07-22 Corinna Vinschen <corinna@vinschen.de>
602 * root.cc (directory_contains_wrong_version): New function to check
603 setup machine type against installation machine type.
604 (RootPage::OnNext): Call directory_contains_wrong_version and refuse to
605 continue if it returns != 0.
607 2013-07-22 Christopher Faylor <me.cygwin2013@cgf.cx>
609 * IniParseFindVisitor.cc (iniParseFindVisitor::visitFile): Relax check
610 for SETUP_INI_DIR slightly. Remove trailing SETUP_INI_DIR from mirror
611 directory or local downloaded packages will never be found.
613 * choose.cc (ChooserPage::OnInit): Fix some formatting.
614 * fromcwd.cc (SetupFindVisitor::visitFile): Relax check for
615 SETUP_INI_DIR slightly.
616 (ChooserPage::OnInit): Fix some formatting.
617 * ini.cc (do_local_ini): Remove name from unused parameter. Fix some
619 (do_ini_thread): Fix some formatting.
621 * package_version.cc (dumpAndList): Temporarily (?) just return from this
622 debugging function since it SEGVs otherwise.
624 2013-07-12 Christopher Faylor <me.cygwin2013@cgf.cx>
626 * iniparse.yy: Move ARCH and RELEASE to the header processing, where
629 2013-07-12 Christopher Faylor <me.cygwin2013@cgf.cx>
631 * IniDBBuilder.h (IniDBBuilder::set_arch): New function.
632 (IniDBBuilder::set_release): New function.
633 (IniDBBuilder::arch): New storage for arch:.
634 (IniDBBuilder::arch): New storage for release:.
635 * IniDBBuilderPackage.cc (IniDBBuilderPackage::autodep): Fix cut/paste
636 error which ended up calling the wrong thing.
637 * ScanFindVisitor.cc (ScanFindVisitor::visitFile): Remove old code.
638 * cygpackage.cc (cygpackage::set_autodep): Implement to satisfy setup's
639 insane class hierarchy.
640 * cygpackage.h (cygpackage::set_autodep): See above.
641 (std::string autodep_regex): Ditto.
642 * package_version.cc (packageversion::set_autodep): Ditto.
643 * package_version.h (packageversion::set_autodep): Ditto.
644 * inilex.ll: Tokenize "arch:" and "release:".
645 * iniparse.yy: Parse ARCH and RELEASE.
647 2013-07-03 Christopher Faylor <me.cygwin2013@cgf.cx>
649 * win32.h (struct acl_t): Just enforce alignment using attribute.
651 2013-07-03 Corinna Vinschen <corinna@vinschen.de>
653 * FindVisitor.cc (FindVisitor::visitDirectory): Check tracking level
654 argument to limit the search depth.
655 * FindVisitor.h (FindVisitor::visitDirectory): Add tracking level
656 argument to declaration.
657 * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Check
658 found file's basePath to end in SETUP_INI_DIR.
659 * find.cc (Find::accept): Accept additional tracking level argument
660 and submit to FindVisitor::visitDirectory.
661 * find.h (Find::accept): Add tracking level argument to declaration.
662 * fromcwd.cc (SetupFindVisitor::visitFile): Check found file's basePath
663 to end in SETUP_INI_DIR.
664 (do_fromcwd): Only search ini file two directory levels deep.
665 * ini.cc (do_local_ini): Ditto.
666 (do_remote_ini): Add SETUP_INI_DIR to current_ini_name.
667 * ini.h (SETUP_INI_DIR): New macro.
668 (SETUP_INI_FILENAME): Just define filename.
669 (SETUP_BZ2_FILENAME): Ditto.
671 2013-07-03 Corinna Vinschen <corinna@vinschen.de>
673 * win32.h (struct acl_t): Use a union.
675 2013-07-02 Corinna Vinschen <corinna@vinschen.de>
677 * win32.h (struct acl_t): Make sure struct is 4 byte aligned.
679 2013-07-02 Christopher Faylor <me.cygwin2013@cgf.cx>
681 * archive.cc (archive::extract_file): Reformat. Always return at the
684 2013-07-02 Christopher Faylor <me.cygwin2013@cgf.cx>
686 * archive.cc (archive::extract_file): Fix recently introduced bug:
687 don't fall through to next case. break is your friend.
689 2013-06-30 Christopher Faylor <me.cygwin2013@cgf.cx>
691 * mount.cc (LFSTAB): Define.
692 (from_fstab): Use LFSTAB constant where appropriate. Properly size
693 path array to include \etc\fstab. Change len argument of mklongpath to
694 reflect the actual size of the destination argument.
696 2013-06-29 Christopher Faylor <me.cygwin2013@cgf.cx>
698 * archive.cc (archive::extract_file): Use named constants for return
700 * archive.h (archive::extract_results): New enum.
701 (archive::extract_file): Use extract_results for return value.
702 * install.cc (Installer::installOne): Use archive::extract_results to
703 make decisions about archive::extract_file return.
704 * io_stream_cygfile.cc: Add a comment making return value clear.
707 2013-06-26 Corinna Vinschen <corinna@vinschen.de>
709 * io_stream_cygfile.cc: Rearrange inclusion of headers to workaround
710 bug in older mingw-w64 system headers. Drop unneeded include files.
711 * io_stream_file.cc: Drop unneeded include files.
713 2013-06-26 Corinna Vinschen <corinna@vinschen.de>
715 Drop pre-1.7 mount point considerations.
716 * mount.cc (find2): Remove.
718 (remove_mount): Remove.
719 (create_mount): Remove.
720 (set_cygdrive_flags): Remove.
721 (get_cygdrive_flags): Remove.
722 (default_cygdrive): Remove.
724 (is_admin): Fix comment.
725 (read_mounts_9x): Remove.
726 (read_mounts): Drop call to read_mounts_9x.
727 * mount.h (create_mount): Remove declaration.
728 (set_cygdrive_flags): Ditto.
729 * script.cc (run): Fix comment.
731 2013-06-25 Corinna Vinschen <corinna@vinschen.de>
733 * Makefile.am (AM_CXXFLAGS): Add source file specific CXXFLAGS.
734 (inilex_CXXFLAGS): Add -Wno-sign-compare to workaround failing build
735 on Fedora 18 due to bison creating sign comparison mismatches in
736 generic yylex wrapper code.
738 2013-06-22 Christopher Faylor <me.cygwin2013@cgf.cx>
740 * ini.h (SETUP_BZ2_FILENAME): Reflect new architecture layout in ftp.
741 (SETUP_INI_FILENAME): Ditto.
742 * main.cc (Arch): New option. Include StringOption.h for this.
743 (WinMain): Change is_64bit calculation to allow overriding from
744 command-line. Issue error if bad value provided.
745 * res.rc: Move some text closer together.
746 * splash.cc: Include ini.h. Add architecture to opening screen.
748 * UserSettings.cc (UserSettings::get): Don't try to open a filename
749 with the name of the key. That's old behavior.
751 2013-06-20 Christopher Faylor <me.cygwin2013@cgf.cx>
753 * res.rc: Update copyright.
755 2013-04-05 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
757 * Makefile.am (EXTRA_DIST): Add setup64.exe.manifest.
758 (res.o): Depend on arch-specific manifest file.
759 * res.rc (CREATEPROCESS_MANIFEST_RESOURCE_ID): Add separate
760 definition for x86-64.
761 * setup.exe.manifest: Throughout, set processorArchitecture to x86.
762 Remove trustInfo section.
763 * setup64.exe.manifest: New file.
765 2013-03-22 Corinna Vinschen <corinna@vinschen.de>
767 * desktop.cc (do_desktop_setup): Install "Cygwin64 Terminal" link on
769 (DesktopSetupPage::OnActivate): Check for "Cygwin64 Terminal" link on
771 * main.cc (main_display): Avoid compiler warning on 64 bit.
772 * mount.cc (from_fstab): Take 2nd parameter as const by reference to
773 avoid potential crash due to scope issue.
775 2013-03-14 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
777 * configure.ac: Remove check for libmingw32.
778 (SETUP): Define EXE name based on host_cpu.
779 (MINGWTARGET): Remove.
780 * Makefile.am: Use SETUP throughout. Remove MINGWTARGET conditional.
781 Add -lmingw32 to LDFLAGS.
782 * ini.h (is_64bit): Declare.
783 (SETUP_INI_FILENAME): Make dependent on value of is_64bit.
784 (SETUP_BZ2_FILENAME): Ditto.
785 * main.cc (is_64bit): Define based on compiler target.
786 * mount.h (SETUP_KEY_WOW64): Define based on value of is_64bit.
787 * install.cc (create_allow_protected_renames): Add SETUP_KEY_WOW64
788 flag to RegOpenKeyEx call.
789 * mount.cc: Throughout, add SETUP_KEY_WOW64 flag to all RegOpenKeyEx
790 and RegCreateKeyEx calls.
791 (read_mounts): Change default Cygwin root depending on is_64bit.
793 2013-03-05 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
795 Throughout, drop support for Cygwin 1.5 and Windows pre-2000.
797 2013-03-04 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
799 * install.cc (FileInuseDlgProc): Fix return type.
800 * regex/regcomp.c (parse_dup_op): Fix invalid cast warning.
801 (create_token_tree): Ditto.
802 * setup.exe.manifest: Set processorArchitecture to "*".
803 Add explicit requestedExecutionLevel for 64-bit compatibility.
805 2013-03-04 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
807 * Makefile.am (inilint_extras): Remove autoload.c.
808 (setup_SOURCES): Ditto.
809 (setup_LDADD): Add ntdll and wininet.
810 (autoload.o): Remove rule.
811 * autoload.c: Remove file.
813 2013-03-03 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
815 * Makefile.am (res.o): Add rule to force rebuild upon change
816 to setup.exe.manifest, which is included by res.rc.
818 2013-02-17 Christopher Faylor <me.cygwin2013@cgf.cx>
820 * configure.ac: Rename from configure.in.
821 * configure.in: Delete.
822 * libgetopt++/configure.ac: Rename from configure.in.
823 * libgetopt++/configure.in: Delete.
824 * Makefile.am: Remove ill-advised iniparse.hh change.
825 * libgetopt++/Makefile.am: Use "modern" AM_CPPFLAGS rather than INCLUDES.
826 * inilex.ll: Add autodep token recognition.
827 * iniparse.yy: Handle autodep.
828 * IniDBBuilder.h (autodep): Define for base class.
829 * IniDBBuilderPackage.cc (IniDBBuilderPackage::autodep): Define.
830 * IniDBBuilderPackage.h (IniDBBuilderPackage::autodep): Declare.
832 2013-02-17 Christopher Faylor <me.cygwin2013@cgf.cx>
834 * Makefile.am: Add regex.c to list of sources.
835 (iniparse.hh): Rename if a iniparse.h has been created.
836 * regex/config.h: New file.
837 * regex/re_comp.h: New file.
838 * regex/regcomp.c: New file.
839 * regex/regex.c: New file.
840 * regex/regex.h: New file.
841 * regex/regex_internal.c: New file.
842 * regex/regex_internal.h: New file.
843 * regex/regexec.c: New file.
844 * processlist.cc (Process::isModuleLoadedInProcess): Avoid compiler
845 warning by changing 'i' to unsigned.
847 2013-01-25 Achim Gratz <Stromeko@nexgo.de>
848 * README (HOW TO BUILD): Cross compiler package is now named
849 mingw-gcc-g++, also mention package upx as an optional dependency.
851 2013-02-01 Jon TURNEY <jon.turney@dronecode.org.uk>
853 * install.cc ( _custom_MessageBox): Remove custom message box.
854 (FileInuseDlgProc): Add file-in-use dialog box.
855 (installOne): Use processlist to list processes using a file, and
856 offer to kill them with the file-in-use dialog.
857 * res.rc (IDD_FILE_INUSE) : New dialog.
858 * resource.h (IDD_FILE_INUSE, IDC_FILE_INUSE_EDIT)
859 (IDC_FILE_INUSE_MSG, IDC_FILE_INUSE_HELP): Define corresponding
861 * processlist.h: New file.
862 * processlist.cc: New file.
863 * Makefile.am (setup_LDADD): Add -lpsapi.
864 (setup_SOURCES): Add new files.
866 2013-02-01 Jon TURNEY <jon.turney@dronecode.org.uk>
868 * script.cc (::run, Script::run): Move the formatting of the command
869 line used for postinstall script running out to Script::run. Move the
870 logging of the command and it's output into ::run.
871 * script.h: Add ::run() prototype.
873 2013-01-17 Jon TURNEY <jon.turney@dronecode.org.uk>
875 * configure.in: Require automake 1.12.
876 * Makefile.am (BUILT_SOURCES): Update iniparse.h to iniparse.hh.
877 * iniparse.yy: Ditto.
880 2013-01-16 Jon TURNEY <jon.turney@dronecode.org.uk>
882 * threebar.cc (ThreeBarProgressPage::SetBar2): Change from long int to
883 long long int to handle more than 2GB of data.
884 * threebar.h (ThreeBarProgressPage::SetBar2): Update prototype.
885 * install.cc: Change md5sum and install counters to long long int.
886 * geturl.cc: Change download counter to long long int.
889 2012-11-08 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
891 * Makefile.am (EXTRA_DIST): Remove libmd5-rfc files.
892 (setup_SOURCES): Ditto.
893 * download.cc: Remove unused include.
894 * csu_util/MD5Sum.cc: Port from libmd5-rfc to libgcrypt.
895 * csu_util/MD5Sum.h: Ditto.
896 * libmd5-rfc/*: Remove.
898 2012-10-19 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
900 * bootstrap.sh: Add support for i686-w64-mingw32 toolchain.
901 Remove support for gcc-3 -mno-cygwin.
903 2012-09-12 Christopher Faylor <me.cygwin2012@cgf.cx>
906 * bootstrap.sh: Remove outdated options from configure. Use mingw
908 * configure.in: Remove AM_MAINTAINER_MODE.
910 2012-09-04 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
912 Fix build with mingw-w64 headers.
913 * autoload.c: Define DECLSPEC_IMPORT for mingw-w64 headers.
914 * filemanip.h: Include <sys/types.h> to fix missing mode_t typedef
915 error with mingw-w64 headers.
916 * gpg-packet.cc: Include "win32.h" to avoid macro redefinition
917 errors with mingw-w64 headers.
918 (ARRAYSIZE): Do not redefine.
919 * main.cc (_argv): Declare if using mingw-w64 headers.
920 (WinMain): Move up _argv definition to before it is first used.
921 * ntdll.h: Include PSDK headers with mingw-w64 instead of DDK.
922 * package_message.h: Include "win32.h" instead of <windows.h>.
923 * propsheet.cc (PROPSHEETHEADER_V1_SIZE): Do not redefine.
924 * win32.h: Include <sys/types.h> to fix missing mode_t typedef
925 error with mingw-w64 headers.
926 Define DECLSPEC_IMPORT for mingw-w64 headers.
928 2012-08-30 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
930 First step towards X86-64 compatibility.
931 * archive_tar.cc (archive_tar::next_file_name): Fix sscanf formats
933 * choose.cc (ChooserPage::OnMouseWheel): Fix return type.
934 * choose.h (ChooserPage::OnMouseWheel): Ditto.
935 * filemanip.cc (nt_wfopen): Fix argument cast for _open_osfhandle.
936 * netio.cc (auth_proc): Fix return type.
937 * proppage.cc (PropertyPage::FirstDialogProcReflector): Fix return type.
938 Use SetWindowLongPtr and DWLP_* instead of SetWindowLong and DWL_*.
939 (PropertyPage::DialogProcReflector): Ditto.
940 (PropertyPage::DialogProc): Ditto.
941 (PropertyPage::OnMouseWheel): Ditto.
942 * proppage.h (PropertyPage::FirstDialogProcReflector): Fix return type.
943 (PropertyPage::DialogProcReflector): Ditto.
944 (PropertyPage::DialogProc): Ditto.
945 (PropertyPage::OnMouseWheel): Ditto.
946 * site.cc (drop_proc): Fix return type.
947 * window.cc (Window::FirstWindowProcReflector): Use GWLP_* with
948 SetWindowLongPtr calls.
949 (Window::WindowProcReflector): Ditto.
951 2012-08-30 Jacek Caban <jacek@codeweavers.com>
952 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
954 * main.cc: Remove CINTERFACE define.
955 (main_display): Use C++ syntax for COM.
956 * mklink2.cc: Remove CINTERFACE define.
957 (make_link_2): Use C++ syntax for COM.
959 2012-08-21 Christopher Faylor <me.cygwin2012@cgf.cx>
961 * setup.exe.manifest: Reorder "supportedOS" entries and add entry for
964 2012-06-03 Christopher Faylor <me.cygwin2012@cgf.cx>
966 * main.cc: Remove __CYGWIN__ ifdefs.
969 2012-06-01 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
971 * Makefile.am (setup_version.c): Respect silent rules.
973 * configure.in: Enable silent rules with automake-1.11.
975 2012-04-29 Christopher Faylor <me.cygwin2012@cgf.cx>
977 * window.cc: Remove trailing whitespace.
979 2012-04-28 Christopher Faylor <me.cygwin2012@cgf.cx>
981 * io_stream_file.cc (io_stream_file::exists): Properly treat return
982 from GetFileAttributesW as a bit field so that a directory will not be
985 2012-04-26 Corinna Vinschen <corinna@vinschen.de>
987 * script.cc (run): Add quotes around file to allow spaces in path.
988 (Script::run): Add aforementioned quotes to log output as well.
990 2012-03-08 Corinna Vinschen <corinna@vinschen.de>
992 * win32.h (FACTOR): Define, use correct value.
994 * archive_tar.cc: Drop FACTOR and NSPERSEC definitions here.
995 * io_stream_cygfile.cc: Ditto.
996 * io_stream_file.cc: Ditto.
998 2012-02-29 Corinna Vinschen <corinna@vinschen.de>
1000 * win32.cc (NTSecurity::GetPosixPerms): Don't allow write permissions
1001 in inheritable default permission ACEs for group and other if the
1002 directory is an S_ISVTX dir.
1004 2012-02-24 Christopher Faylor <me.cygwin2012@cgf.cx>
1006 * bootstrap.sh: Don't assume that libgetopt++ exists in source directory.
1007 * configure.in: Remove some old options.
1008 * Makefile.am: Ditto.
1009 * libgetopt++/Makefile.am: Ditto.
1010 * libgetopt++/configure.in: Ditto.
1012 2012-02-24 Corinna Vinschen <corinna@vinschen.de>
1014 * main.cc (WinMain): Move call to nt_sec.setDefaultSecurity here so
1015 it's called earlier in the process. This avoids spurious error
1016 messages in --help output.
1018 2012-02-23 Jon TURNEY <jon.turney@dronecode.org.uk>
1020 * main.cc (main_display): Move --help output from here ...
1021 (WinMain): ... to here, so we don't logging of the current directory
1022 and any errors from constructing a UserSettings object preceding the
1025 2011-05-30 SZAVAI Gyula <szgyg@ludens.elte.hu>
1027 * site.cc (SiteSetting::SiteSetting): Handle multiple
1029 * crypto.cc (verify_ini_file_sig): Handle multiple
1030 --pubkey and --sexpr-pubkey options.
1031 * package_meta.cc (packagemeta::isManuallyWanted): Handle
1032 multiple --packages and --categories options.
1034 2012-02-22 Christopher Faylor <me.cygwin2012@cgf.cx>
1036 * res.rc: Change copyright notice to -2012.
1038 2012-02-19 Corinna Vinschen <corinna@vinschen.de>
1040 * PickView.cc (PickView::list_click): Mark variable refresh as unused
1041 to avoid compiler warning.
1042 * nio-ftp.cc (NetIO_FTP::ok): Remove variable code to avoid compiler
1044 * proppage.cc (PropertyPage::DialogProc): Ditto for retval.
1046 * setup.exe.manifest: Add supportedOS entries to avoid annoying
1047 "This program might not have installed correctly" PCA message on
1050 2011-12-22 Christopher Faylor <me.cygwin2011@cgf.cx>
1052 * compress.cc: Explicitly include needed header.
1053 * compress_bz.cc: Ditto.
1055 * io_stream_cygfile.cc: Eliminate obsolete attempt to build as
1057 * io_stream_file.cc: Ditto throughout.
1060 2011-12-21 Jon TURNEY <jon.turney@dronecode.org.uk>
1062 * choose.cc (OnInit): Properly mark packages which were selected on
1063 command line in unattended mode for download and installation.
1065 2011-09-08 Christopher Faylor <me.cygwin2011@cgf.cx>
1067 * io_stream.h: Just call sys/types.h here rather than using our own
1070 2011-09-01 Corinna Vinschen <corinna@vinschen.de>
1072 * CONTRIBUTORS: Add Warren Young.
1074 2011-08-16 Corinna Vinschen <corinna@vinschen.de>
1075 Warren Young <warren@etr-usa.com>
1077 * cygwin-setup.ico: Slightly modified.
1078 * cygwin-terminal.ico: Ditto.
1080 2011-08-15 Corinna Vinschen <corinna@vinschen.de>
1081 Warren Young <warren@etr-usa.com>
1083 * cygwin.ico: New, smoother 152x152 icon.
1085 2011-08-13 Jon TURNEY <jon.turney@dronecode.org.uk>
1087 * choose.cc (OnInit, createListview): Build the initial list of packages
1088 to install in OnInit() not in CreateListView(). If packages were
1089 selected on command line in unattended mode, just install those
1091 * package_db.h (packagedb): Add addCommandLinePackages() method.
1092 * package_db.cc (addCommandLinePackages): Add separate method to add
1093 these so we can indicate if packages were added on the command line.
1095 2011-08-13 Jon TURNEY <jon.turney@dronecode.org.uk>
1097 * PickView.cc (defaultTrust): Move implementation which deals with
1098 package db from here...
1099 * package_db.cc (defaultTrust): ... to here.
1100 * package_db.h (packagedb): ... a new member function.
1102 2011-08-12 Corinna Vinschen <corinna@vinschen.de>
1104 * res.rc: Move spash icon slightly. Fix copyright.
1106 2011-08-12 Corinna Vinschen <corinna@vinschen.de>
1107 Warren Young <warren@etr-usa.com>
1109 * cygwin-setup.ico: New file.
1110 * cygwin-terminal.ico: New file.
1111 * cygwin.ico: New icons.
1112 * desktop.cc (make_link): Take additional argument to take arguments
1113 for shortcut. Append arg to argbuf.
1114 (start_menu): Take additional argument to take argments for shortcut.
1115 Add to call to make_link.
1116 (desktop_icon): Ditto.
1117 (save_icon): Take path and name of resource as arguments. Replace
1118 Cygwin icon if it's the old one.
1119 (do_desktop_setup): Save Cygwin standalone and Cygwin terminal icons.
1120 Rename desktop and start menu shortcut name to "Cygwin Terminal", use
1121 the cygwin terminal icon for them, and point them to mintty.
1122 * res.rc: Change splash icon to keep size of original icon.
1123 (IDI_CYGWIN_SETUP): New entry.
1124 (IDI_CYGWIN_TERMINAL): New entry.
1125 (CYGWIN-SETUP.ICON): New entry.
1126 (CYGWIN-TERMINAL.ICON): New entry.
1127 * resource.h (IDI_CYGWIN_SETUP): Define.
1128 (IDI_CYGWIN_TERMINAL): Define.
1130 2011-07-25 Jon TURNEY <jon.turney@dronecode.org.uk>
1132 * install.cc (do_install_thread): Only set progress bar output if at least
1133 one package gets installed, to avoid a cosmetic issue.
1135 2011-07-25 Corinna Vinschen <corinna@vinschen.de>
1137 * desktop.cc (make_link): Create shortcuts to command.com only on 9x.
1139 2011-07-20 Andy Koppe <andy.koppe@gmail.com>
1141 * res.rc: Remove Prev button from chooser page.
1142 * resource.h: Reflect removal of Prev button.
1143 * package_meta.h (trustp): Ditto.
1146 2011-04-24 Jon TURNEY <jon.turney@dronecode.org.uk>
1148 * download.cc (do_download_thread): Update progress display
1149 when download phase starts
1151 2011-04-24 Jon TURNEY <jon.turney@dronecode.org.uk>
1153 * install.cc (do_install_thread): Report overall progress while
1154 md5summing packages.
1156 2011-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
1158 * archive_tar_file.cc (read): Handle short reads
1160 2011-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
1162 * compress_bz.h (compress): Remove unused bufN member.
1163 * compress_bz.cc (read): Handle bzip2 files containing multiple
1166 2011-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
1168 * install.cc (extract_replace_on_reboot): New function containg code
1170 (installOne): Report read errors differently to write errors
1171 * archive.cc (extract_file): Distinguish read errors from write errors
1173 2011-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
1175 * io_stream.cc (copy): Propagate errors.
1177 2011-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
1179 * compress_bz.cc (read, peek): Consistently return -1 and set lasterr
1181 * compress_gz.cc (read, write, peek): Ditto.
1183 2011-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
1185 * archive_tar_file.cc (read, write, peek, seek): Consistently return -1
1186 and set lasterr on an error.
1188 2011-01-02 Jon TURNEY <jon.turney@dronecode.org.uk>
1190 * crypto.c (ExtraKeyOption): Correct option description.
1192 2010-12-16 Jon TURNEY <jon.turney@dronecode.org.uk>
1194 * prereq.cc (OnNext, whatNext, OnUnattended): Fix PrereqPage::OnUnattended()
1195 so PrereqPage behaves correctly in unattended modes.
1196 * prereq.h (PrereqPage): Ditto
1197 * proppage.cc (DialogProc): Update comment to clarify meaning of
1198 OnUnattended() returning 0.
1200 2010-11-26 Jon TURNEY <jon.turney@dronecode.org.uk>
1202 * site.cc (init): Canonicalize mirror URLs to ensure the end
1205 2010-11-19 Jon TURNEY <jon.turney@dronecode.org.uk>
1207 * IniDBBuilderPackage.cc (IniDBBuilderPackage): Remove db.packages vector
1209 (buildPackage, buildPackageSource): Change package collection from vector
1211 * PickView.cc (setViewMode, init_headers, defaultTrust): Ditto.
1212 * choose.cc (createListview, logResults, keepClicked)
1213 (changeTrust): Ditto
1214 * install.cc (do_install_thread): Ditto
1215 * download.cc (do_download_thread): Ditto
1216 * prereq.cc (isMet): Ditto
1217 * package_meta.cc (ScanDownloadedFiles): Ditto
1218 * package_db.h (packagedb): Ditto
1219 * package_db.cc (packagedb, flush, markUnVisited, setExistence)
1220 (fillMissingCategory): Ditto
1221 (findBinary, findSource): Rewrite to locate packages in map rather than
1222 searching the whole vector, for performance.
1223 (ConnectedLoopFinder, doIt, visit): Rewrite to refer to package using a
1224 packagemeta *, as an index into the vector of packages can no longer be
1227 2010-11-25 Corinna Vinschen <corinna@vinschen.de>
1229 * package_db.cc (ConnectedLoopFinder::doIt): Drop hardcoded base-cygwin
1230 dependency setting. Fix comment.
1232 2010-11-23 Corinna Vinschen <corinna@vinschen.de>
1234 * package_db.cc (ConnectedLoopFinder::doIt): Drop hardcoded base-passwd
1235 dependency setting. Fix condition for base-cygwin string check.
1237 2010-11-06 Jon TURNEY <jon.turney@dronecode.org.uk>
1239 * package_meta.h (packagemeta): Remove unused member variables for
1240 storing timestamp of the setup.ini that package version came from.
1241 * package_meta.cc (packagemeta): Ditto.
1243 2010-11-06 Jon TURNEY <jon.turney@dronecode.org.uk>
1245 * package_version.h (packageversion): Add compareVersion() utility
1247 * package_version.cc (Vendor_version, Package_version)
1248 (compareVersions): Implement the Vendor_version() and Package_version()
1249 accessor functions. Add compareVersions() utility function.
1250 * cygpackage.cc (setCanonicalVersion): Fix to extract vendor version
1252 * IniDBBuilderPackage.cc (add_correct_version): When multiple setup.ini's
1253 offer different packages for the same stability level, use the package with
1254 the highest version number rather than the package coming from the setup.ini
1255 with the latest timestamp.
1257 2010-11-19 Jon TURNEY <jon.turney@dronecode.org.uk>
1259 * choose.cc (OnNext): Remove PrereqChecker call, instead use new
1260 WM_APP_PREREQ_CHECK state of Progress dialog.
1261 * threebar.h (WM_APP_PREREQ_CHECK)
1262 (WM_APP_PREREQ_CHECK_THREAD_COMPLETE): Add new messages.
1263 * threebar.cc (OnActivate, OnMessageApp): Use single bar mode for
1264 WM_APP_PREREQ_CHECK state. Handle new messages.
1265 * dialog.h (do_prereq_check_thread): Add prototype.
1266 * prereq.cc (isMet, do_prereq_check_thread)
1267 (do_prereq_check_reflector, do_prereq_check): Add progress reporting
1268 during isMet, and thread containing moved PrereqChecker code.
1270 2010-11-17 Jon TURNEY <jon.turney@dronecode.org.uk>
1272 * package_meta.cc (set_action): Always set the binary tick box
1273 when selecting a specific version (if binary is available)
1275 2010-11-17 Jon TURNEY <jon.turney@dronecode.org.uk>
1277 * postinstall.cc (do_postinstall_thread): Refer to "Unknown package"
1278 rather than "No package"
1280 2010-11-19 Christopher Faylor <me+cygwin@cgf.cx>
1282 Throughout, change all occurrences of "PostMessage" to PostMessageNow.
1283 This works around problem where w32api uses a #define which calls the
1284 Windows API version of PostMessage directly, confusing g++ 3.4.4.
1286 2010-11-07 Jon TURNEY <jon.turney@dronecode.org.uk>
1288 * propsheet.cc (PropSheetProc): Set the big icon for the propsheet
1291 2010-11-07 Jon TURNEY <jon.turney@dronecode.org.uk>
1293 * ini.cc (GuiParseFeedback::progress, GuiParseFeedback::iniName):
1294 Update all the text in the progress dialog whilst parsing .ini file,
1295 not just the top line.
1297 2010-11-07 Jon TURNEY <jon.turney@dronecode.org.uk>
1299 * choose.cc (OnBack): Move PlaceDialog(false) so window is resized in
1300 'Install from Local Directory' mode as well.
1302 2010-11-06 Jon TURNEY <jon.turney@dronecode.org.uk>
1304 * res.rc (IDD_NET): Make text referring to IE5 more general
1306 2010-11-04 Jon TURNEY <jon.turney@dronecode.org.uk>
1308 * compress_bz.h (compress): Add endReached flag.
1309 * compress_bz.cc (read, compress_bz): Use endReached flag to return 0
1310 for a read when EOF has been reached, after BZ2_bzDecompress returns
1311 BZ_STREAM_END, rather than continue to try to call BZ2_bzDecompress
1312 beyond the end of the compressed data, generating a BZ_SEQUENCE_ERROR.
1313 * ini.cc (do_remote_ini): Now that bz2_stream doesn't always have a
1314 spurious error, detect and report if an error occurred decompressing.
1316 2010-09-13 Václav Haisman <v.haisman@sh.cvut.cz>
1318 * propsheet.cc (PropSheet::SetActivePage): Remove :: from call to
1319 PropSheet_SetCurSel.
1320 (PropSheet::SetActivePageByID): Remove :: from call to
1321 PropSheet_SetCurSelByID.
1322 (PropSheet::SetButtons): Remove :: from call to PropSheet_SetWizButtons.
1323 (PropSheet::PressButton): Remove :: from call to PropSheet_PressButton.
1325 2010-09-07 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
1327 * postinstall.cc: Add #include <algorithm> to fix build with gcc-4.x.
1329 2010-08-29 Jon TURNEY <jon.turney@dronecode.org.uk>
1331 * postinstall.cc (do_postinstall_thread): Don't run postinstall
1332 scripts belonging to a just installed package twice.
1333 * script.h (Script): Add operator ==
1335 2010-08-25 Andy Koppe <andy.koppe@gmail.com>
1337 * script.cc (init_run_script): Set CYGWINFORALL="-A" for
1338 postinstall/preremove scripts when installing for all users.
1340 2010-08-19 Andy Koppe <andy.koppe@gmail.com>
1342 * package_meta.h (packagemeta::trustp): Update non-experimental
1343 packages too when Exp is selected.
1345 2010-08-18 Andy Koppe <andy.koppe@gmail.com>
1347 * res.rc (IDD_PREREQ): Say "Resolving Dependencies" instead of
1348 "Unmet Dependencies found"
1349 * prereq.cc (PrereqPage::OnNext): Tone down message box about
1350 missing dependencies.
1352 2010-08-15 Andy Koppe <andy.koppe@gmail.com>
1354 * postinstall.cc (PostInstallResultsPage::OnNext):
1355 Remove postinstall script error message box.
1356 * res.rc (IDS_POSTINSTALL): Try to make postinstall errors
1359 2010-08-11 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
1361 * bootstrap.sh: Allow running from a builddir. Run configure
1362 unless NOCONFIGURE is defined.
1363 * doconfigure: Remove.
1364 * Makefile.am (EXTRA_DIST): Remove doconfigure.
1365 * README: Document that bootstrap.sh runs configure.
1366 Remove reference to doconfigure.
1368 2010-08-10 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
1370 * configure.in: Check for prerequisites' headers.
1371 * Makefile.am: Remove libinilex.a library, instead...
1372 (inilint_SOURCES): Add inilex.ll. (setup_SOURCES): Ditto.
1373 * inilex.ll: Use option nounput to avoid "defined but not used"
1374 warning from yyunput().
1376 2010-08-10 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
1378 Fix compatibility with GCC 4.x.
1379 * Makefile.am (setup_LDFLAGS): Pass -static to compiler instead of
1380 linker so that libgcc is statically linked as well.
1381 (autoload.o): Disable optimization.
1382 * localdir.cc (browse_cb): Fix "jump to case label crosses
1383 initialization" error.
1384 * mklink2.cc (sfli): Fix "non-local variable uses anonymous type"
1386 * ntdll.h: Fix "redeclared without dllimport attribute: previous
1387 dllimport ignored" warnings.
1388 * package_message.h (display): Fix "'exit' was not declared in this
1391 2010-08-10 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
1393 * Makefile.am: Treat libgetopt++ as full-fledged SUBDIRS.
1394 (setup_LDADD): Always link against included libgetopt++.
1396 2010-08-08 Corinna Vinschen <corinna@vinschen.de>
1398 * prereq.cc (PrereqChecker::getUnmetString): Improve dependency list
1401 2010-08-07 Andy Koppe <andy.koppe@gmail.com>
1403 * prereq.cc (PrereqChecker::isMet): Find unmet indirect
1406 2010-08-06 Andy Koppe <andy.koppe@gmail.com>
1408 * res.rc (IDS_VIEWBUTTON_TOOLTIP): Rename "Partial" view
1409 to "Pending" (again).
1411 2010-08-05 Andy Koppe <andy.koppe@gmail.com>
1413 * res.rc (IDD_PREREQ DIALOG): Tweak wording on dependency page.
1415 2010-07-31 Dave Korn <dave.korn.cygwin@gmail.com>
1417 * install.cc (Installer::installOne): Also record zero-sized
1418 tarballs as successfully installed.
1420 2010-07-30 Jon TURNEY <jon.turney@dronecode.org.uk>
1422 * postinstall.cc (do_postinstall_reflector): Fix typo.
1424 2010-07-30 Christopher Faylor <me+cygwin@cgf.cx>
1426 * inilex.ll: Allow "~" in a string.
1428 2010-07-29 Jon TURNEY <jon.turney@dronecode.org.uk>
1430 * resource.h (IDD_POSTINSTALL, IDC_POSTINSTALL_EDIT): Add resource
1431 identifiers for postinstall results page.
1432 * res.rc (IDD_POSTINSTALL): Add dialog resource for postinstall results
1434 * postinstallresults.h: New file.
1435 * postinstallresults.cc: New file.
1436 * main.cc (main_display): Add a PostInstallResultsPage to the wizard.
1437 * Makefile.am (setup_SOURCES): Add new files.
1438 * threebar.cc (OnMessageApp): Allow WM_APP_POSTINSTALL_THREAD_COMPLETE
1439 to select the next page shown.
1440 * postinstall.cc (do_postinstall_thread)
1441 (do_postinstall_reflector): Collect results of running scripts and
1442 compose a reporting message which we pass to the postinstall results
1443 page. Select postinstall results page next if there are results to
1444 show, otherwise desktop setup page as before.
1445 * script.cc (run): Don't rename as .done scripts which didn't run
1448 2010-07-26 Andy Koppe <andy.koppe@gmail.com>
1450 * PickView.cc (PickView::views::caption): Rename "Partial" view
1452 * res.rc (IDS_VIEWBUTTON_TOOLTIP): Ditto.
1454 2010-07-22 Andy Koppe <andy.koppe@gmail.com>
1456 * PickPackageLine.cc (PickPackageLine::{click,set_action}):
1457 Don't trigger automatic package selection when clicking on
1458 packages or categories on chooser screen.
1459 * PickCategoryLine.cc (PickCategoryLine::click): No more need to
1460 prepare for automatic package selection with markUnVisited().
1461 * res.rc: Drop "Warning!" from caption of Resolve Dependencies
1464 2010-04-17 Dave Korn <dave.korn.cygwin@gmail.com>
1466 * root.cc (RootPage::OnNext): Don't construct a packagedb here nor
1467 do deferred initialisation of static packagedb::task.
1468 * source.cc (save_dialog): Don't construct a packagedb here, and
1469 set static packagedb::task directly instead of chosen_db_task.
1470 * package_meta.cc (packagemeta::action_caption): Don't bother to
1471 construct a packagedb here, just access packagedb::task directly.
1472 * package_db.cc: Move 'static members' comment near static members.
1473 (chosen_db_task): Delete.
1474 * package_db.h (chosen_db_task): Don't declare extern.
1475 (packagedb): Extend comments on class.
1477 2010-04-14 Dave Korn <dave.korn.cygwin@gmail.com>
1479 * PickView.cc (PickView::WindowProc): Delete inadvertently-committed
1482 2010-04-13 Dave Korn <dave.korn.cygwin@gmail.com>
1484 * PickView.h (PickView::set_vscroll_info): Add prototype.
1485 (PickView::hasClientRect): Rename from this ...
1486 (PickView::hasWindowRect): ... to this ...
1487 (PickView::lastClientRect): ... and from this ...
1488 (PickView::lastWindowRect): ... to this.
1489 * PickView.cc (PickView::PickView): Adjust member init to match.
1490 (PickView::set_vscroll_info): Abstract code to set vertical scroll
1491 bar proportions from ...
1492 (PickView::list_click): ... here. Call it. Fix comment typo.
1493 (PickView::WindowProc): Update all renamed variables in WM_SIZE
1494 case, and check also for a y delta, calling set_vscroll_info if so.
1496 2010-04-13 Dave Korn <dave.korn.cygwin@gmail.com>
1498 * window.cc (Window::Window): Initialise BusyCount and BusyCursor.
1499 (Window::SetBusy): Set hourglass cursor, counting nested activations.
1500 (Window::ClearBusy): Cancel one call to SetBusy and restore original
1501 cursor if no longer busy.
1502 * window.h (Window::BusyCount): New data member.
1503 (Window::OldCursor): Likewise.
1504 (Window::BusyCursor): Likewise.
1505 (Window::SetBusy): Prototype.
1506 (Window::ClearBusy): Likewise.
1507 * choose.cc (ChooserPage::createListview): Invoke busy cursor
1508 around long-running operation.
1509 (ChooserPage::OnInit): Likewise.
1510 (ChooserPage::changeTrust): Likewise.
1511 * PickCategoryLine.cc (PickCategoryLine::set_action): Likewise.
1513 2010-04-08 Christopher Faylor <me+cygwin@cgf.cx>
1515 * bootstrap.sh: Always reconfigure in libgetopt++.
1517 * Makefile.am: Remove old code for direct copying to sourceware. Add
1518 -src to source tarball.
1520 2010-04-07 Matthias Andree <matthias.andree@gmx.de>
1522 * README (HOW TO BUILD): Mention mingw-lib{gcrypt,lzma}-devel.
1524 * res.rc (IDD_DESKTOP): Move Installation Status line,
1525 IDC_STATUS_HEADER and IDC_STATUS up 20 units, make IDC_STATUS text
1526 20 units taller and 40 units wider so that IDS_REBOOT_REQUIRED
1527 message fits the screen.
1528 * res.rc (IDD_SPLASH): Bump copyright years in IDC_SLASH_COPYR to
1531 2010-04-07 Corinna Vinschen <corinna@vinschen.de>
1533 * install.cc (create_allow_protected_renames): New function to
1534 create AllowProtectedRenames registry entry.
1535 (Installer::installOne): Call create_allow_protected_renames if former
1536 call to MoveFileEx was successful.
1538 2010-03-18 Charles Wilson <cygwin@cwilson.fastmail.fm>
1540 Use external crypto libraries
1541 * Makefile.am: Remove local libgcrypt and libgpg-error
1542 source directories from AM_CPPFLAGS.
1543 * configure.ac: Remove libgcrypt and libgpg-error subdirs
1544 from AC_CONFIG_SUBDIRS. Remove now-unnecessary cruft.
1545 * doconfigure: Specify gcc-3 and g++-3. Set PATH when $build
1546 is cygwin, so that correct (mingw) libgcrypt and libgpg-error
1547 config scripts can be used.
1549 Remove libgpg-error.
1550 * libgpg-error/tests/Makefile.am, libgpg-error/tests/Makefile.in,
1551 libgpg-error/tests/t-strerror.c, libgpg-error/tests/t-syserror.c,
1552 libgpg-error/po/ChangeLog, libgpg-error/po/LINGUAS,
1553 libgpg-error/po/Makefile.in.in, libgpg-error/po/Makevars,
1554 libgpg-error/po/POTFILES.in, libgpg-error/po/Rules-quot,
1555 libgpg-error/po/boldquot.sed, libgpg-error/po/de.gmo,
1556 libgpg-error/po/de.po, libgpg-error/po/en@boldquot.header,
1557 libgpg-error/po/en@quot.header, libgpg-error/po/fr.gmo,
1558 libgpg-error/po/fr.po libgpg-error/po/insert-header.sin,
1559 libgpg-error/po/libgpg-error.pot, libgpg-error/po/pl.gmo,
1560 libgpg-error/po/pl.po, libgpg-error/po/quot.sed,
1561 libgpg-error/po/remove-potcdate.sin, libgpg-error/po/ro.gmo,
1562 libgpg-error/po/ro.po libgpg-error/po/stamp-po,
1563 libgpg-error/po/sv.po, libgpg-error/po/vi.gmo,
1564 libgpg-error/po/vi.po, libgpg-error/po/sv.gmo,
1565 libgpg-error/m4/ChangeLog, libgpg-error/m4/Makefile.am,
1566 libgpg-error/m4/ac_prog_cc_for_build.m4, libgpg-error/m4/autobuild.m4,
1567 libgpg-error/m4/codeset.m4, libgpg-error/m4/gettext.m4,
1568 libgpg-error/m4/glibc2.m4, libgpg-error/m4/glibc21.m4,
1569 libgpg-error/m4/iconv.m4, libgpg-error/m4/intdiv0.m4,
1570 libgpg-error/m4/intmax.m4, libgpg-error/m4/inttypes-h.m4,
1571 libgpg-error/m4/inttypes-pri.m4, libgpg-error/m4/inttypes.m4,
1572 libgpg-error/m4/inttypes_h.m4, libgpg-error/m4/isc-posix.m4,
1573 libgpg-error/m4/lcmessage.m4, libgpg-error/m4/lib-ld.m4,
1574 libgpg-error/m4/lib-link.m4, libgpg-error/m4/lib-prefix.m4,
1575 libgpg-error/m4/libtool.m4, libgpg-error/m4/lock.m4,
1576 libgpg-error/m4/longdouble.m4, libgpg-error/m4/longlong.m4,
1577 libgpg-error/m4/nls.m4, libgpg-error/m4/po.m4,
1578 libgpg-error/m4/printf-posix.m4, libgpg-error/m4/progtest.m4,
1579 libgpg-error/m4/signed.m4, libgpg-error/m4/size_max.m4,
1580 libgpg-error/m4/stdint_h.m4, libgpg-error/m4/uintmax_t.m4,
1581 libgpg-error/m4/ulonglong.m4, libgpg-error/m4/visibility.m4,
1582 libgpg-error/m4/wchar_t.m4, libgpg-error/m4/wint_t.m4,
1583 libgpg-error/m4/xsize.m4, libgpg-error/m4/Makefile.in,
1584 libgpg-error/lang/Makefile.am, libgpg-error/lang/README,
1585 libgpg-error/lang/Makefile.in, libgpg-error/lang/cl/Makefile.am,
1586 libgpg-error/lang/cl/README, libgpg-error/lang/cl/gpg-error-package.lisp,
1587 libgpg-error/lang/cl/gpg-error.asd, libgpg-error/lang/cl/gpg-error.asd.in,
1588 libgpg-error/lang/cl/gpg-error.lisp, libgpg-error/lang/cl/mkerrcodes.awk,
1589 libgpg-error/lang/cl/Makefile.in, libgpg-error/src/Makefile.am,
1590 libgpg-error/src/README, libgpg-error/src/code-from-errno.c,
1591 libgpg-error/src/code-to-errno.c, libgpg-error/src/err-codes.h,
1592 libgpg-error/src/err-codes.h.in, libgpg-error/src/err-sources.h,
1593 libgpg-error/src/err-sources.h.in, libgpg-error/src/errnos.in,
1594 libgpg-error/src/gettext.h, libgpg-error/src/gpg-error-config.in,
1595 libgpg-error/src/gpg-error.c, libgpg-error/src/gpg-error.def,
1596 libgpg-error/src/gpg-error.h, libgpg-error/src/gpg-error.h.in,
1597 libgpg-error/src/gpg-error.m4, libgpg-error/src/init.c,
1598 libgpg-error/src/mkerrcodes.awk, libgpg-error/src/mkerrcodes.c,
1599 libgpg-error/src/mkerrcodes1.awk, libgpg-error/src/mkerrcodes2.awk,
1600 libgpg-error/src/mkerrnos.awk, libgpg-error/src/mkheader.awk,
1601 libgpg-error/src/mkstrtable.awk, libgpg-error/src/strerror-sym.c,
1602 libgpg-error/src/strerror.c, libgpg-error/src/strsource-sym.c,
1603 libgpg-error/src/strsource.c, libgpg-error/src/versioninfo.rc.in,
1604 libgpg-error/src/w32-gettext.c, libgpg-error/src/w32-gettext.h,
1605 libgpg-error/src/Makefile.in, libgpg-error/ABOUT-NLS,
1606 libgpg-error/AUTHORS, libgpg-error/COPYING, libgpg-error/COPYING.LIB,
1607 libgpg-error/ChangeLog, libgpg-error/INSTALL, libgpg-error/Makefile.am,
1608 libgpg-error/NEWS, libgpg-error/README, libgpg-error/THANKS,
1609 libgpg-error/VERSION, libgpg-error/autogen.sh, libgpg-error/compile,
1610 libgpg-error/config.guess, libgpg-error/config.rpath,
1611 libgpg-error/config.sub, libgpg-error/configure.ac, libgpg-error/depcomp,
1612 libgpg-error/install-sh, libgpg-error/libgpg-error.spec,
1613 libgpg-error/libgpg-error.spec.in, libgpg-error/ltmain.sh,
1614 libgpg-error/missing, libgpg-error/mkinstalldirs,
1615 libgpg-error/aclocal.m4, libgpg-error/configure,
1616 libgpg-error/config.h.in, libgpg-error/Makefile.in: Remove.
1619 * libgcrypt/tests/ChangeLog, libgcrypt/tests/Makefile.am,
1620 libgcrypt/tests/ac-data.c, libgcrypt/tests/ac-schemes.c,
1621 libgcrypt/tests/ac.c, libgcrypt/tests/basic.c,
1622 libgcrypt/tests/benchmark.c, libgcrypt/tests/hmac.c,
1623 libgcrypt/tests/keygen.c, libgcrypt/tests/keygrip.c,
1624 libgcrypt/tests/mpitests.c, libgcrypt/tests/pkbench.c,
1625 libgcrypt/tests/prime.c, libgcrypt/tests/pubkey.c,
1626 libgcrypt/tests/random.c, libgcrypt/tests/register.c,
1627 libgcrypt/tests/t-mpi-bit.c, libgcrypt/tests/testapi.c,
1628 libgcrypt/tests/tsexp.c, libgcrypt/tests/version.c,
1629 libgcrypt/tests/Makefile.in, libgcrypt/src/ChangeLog
1630 libgcrypt/src/Makefile.am, libgcrypt/src/Manifest, libgcrypt/src/ath.c,
1631 libgcrypt/src/ath.h, libgcrypt/src/cipher.h, libgcrypt/src/dumpsexp.c,
1632 libgcrypt/src/g10lib.h, libgcrypt/src/gcrypt-module.h,
1633 libgcrypt/src/gcrypt.h, libgcrypt/src/gcrypt.h.in,
1634 libgcrypt/src/gcryptrnd.c, libgcrypt/src/getrandom.c,
1635 libgcrypt/src/global.c, libgcrypt/src/hwfeatures.c,
1636 libgcrypt/src/libgcrypt-config.in, libgcrypt/src/libgcrypt.def,
1637 libgcrypt/src/libgcrypt.m4, libgcrypt/src/libgcrypt.vers,
1638 libgcrypt/src/misc.c, libgcrypt/src/missing-string.c,
1639 libgcrypt/src/module.c, libgcrypt/src/mpi.h, libgcrypt/src/secmem.h,
1640 libgcrypt/src/sexp.c, libgcrypt/src/stdmem.c, libgcrypt/src/stdmem.h,
1641 libgcrypt/src/types.h, libgcrypt/src/versioninfo.rc.in,
1642 libgcrypt/src/visibility.c, libgcrypt/src/visibility.h,
1643 libgcrypt/src/Makefile.in, libgcrypt/src/secmem.c,
1644 libgcrypt/m4/ChangeLog, libgcrypt/m4/Makefile.am,
1645 libgcrypt/m4/libtool.m4, libgcrypt/m4/noexecstack.m4,
1646 libgcrypt/m4/onceonly.m4, libgcrypt/m4/socklen.m4,
1647 libgcrypt/m4/sys_socket_h.m4, libgcrypt/m4/Makefile.in,
1648 libgcrypt/doc/ChangeLog, libgcrypt/doc/HACKING,
1649 libgcrypt/doc/Makefile.am, libgcrypt/doc/README.apichanges,
1650 libgcrypt/doc/gcrypt.texi, libgcrypt/doc/gpl.texi,
1651 libgcrypt/doc/lgpl.texi, libgcrypt/doc/mdate-sh,
1652 libgcrypt/doc/texinfo.tex, libgcrypt/doc/stamp-vti,
1653 libgcrypt/doc/version.texi, libgcrypt/doc/gcrypt.info,
1654 libgcrypt/doc/Makefile.in, libgcrypt/cipher/ChangeLog,
1655 libgcrypt/cipher/Makefile.am, libgcrypt/cipher/Manifest,
1656 libgcrypt/cipher/ac.c, libgcrypt/cipher/arcfour.c,
1657 libgcrypt/cipher/bithelp.h, libgcrypt/cipher/blowfish.c,
1658 libgcrypt/cipher/camellia-glue.c, libgcrypt/cipher/camellia.c,
1659 libgcrypt/cipher/camellia.h, libgcrypt/cipher/cast5.c,
1660 libgcrypt/cipher/cipher.c, libgcrypt/cipher/crc.c,
1661 libgcrypt/cipher/des.c, libgcrypt/cipher/dsa.c, libgcrypt/cipher/ecc.c,
1662 libgcrypt/cipher/elgamal.c, libgcrypt/cipher/md.c,
1663 libgcrypt/cipher/md4.c, libgcrypt/cipher/md5.c,
1664 libgcrypt/cipher/primegen.c, libgcrypt/cipher/pubkey.c,
1665 libgcrypt/cipher/rand-internal.h, libgcrypt/cipher/random-daemon.c,
1666 libgcrypt/cipher/random.c, libgcrypt/cipher/random.h,
1667 libgcrypt/cipher/rfc2268.c, libgcrypt/cipher/rijndael-tables.h,
1668 libgcrypt/cipher/rijndael.c, libgcrypt/cipher/rmd.h,
1669 libgcrypt/cipher/rmd160.c, libgcrypt/cipher/rndegd.c,
1670 libgcrypt/cipher/rndhw.c, libgcrypt/cipher/rndlinux.c,
1671 libgcrypt/cipher/rndunix.c, libgcrypt/cipher/rndw32.c,
1672 libgcrypt/cipher/rsa.c, libgcrypt/cipher/seed.c,
1673 libgcrypt/cipher/serpent.c, libgcrypt/cipher/sha1.c,
1674 libgcrypt/cipher/sha256.c, libgcrypt/cipher/sha512.c,
1675 libgcrypt/cipher/tiger.c, libgcrypt/cipher/twofish.c,
1676 libgcrypt/cipher/whirlpool.c, libgcrypt/cipher/Makefile.in,
1677 libgcrypt/AUTHORS, libgcrypt/BUGS, libgcrypt/COPYING,
1678 libgcrypt/COPYING.LIB, libgcrypt/ChangeLog, libgcrypt/INSTALL,
1679 libgcrypt/Makefile.am, libgcrypt/NEWS, libgcrypt/README,
1680 libgcrypt/README.SVN, libgcrypt/THANKS, libgcrypt/TODO, libgcrypt/VERSION,
1681 libgcrypt/acinclude.m4, libgcrypt/autogen.sh, libgcrypt/compile,
1682 libgcrypt/config.guess, libgcrypt/config.sub, libgcrypt/configure.ac,
1683 libgcrypt/depcomp, libgcrypt/install-sh, libgcrypt/ltmain.sh,
1684 libgcrypt/missing, libgcrypt/mkinstalldirs, , libgcrypt/aclocal.m4,
1685 libgcrypt/configure, libgcrypt/config.h.in, libgcrypt/Makefile.in,
1686 libgcrypt/mpi/ChangeLog, libgcrypt/mpi/Makefile.am,
1687 libgcrypt/mpi/Manifest, libgcrypt/mpi/config.links, libgcrypt/mpi/ec.c,
1688 libgcrypt/mpi/longlong.h, libgcrypt/mpi/mpi-add.c,
1689 libgcrypt/mpi/mpi-bit.c, libgcrypt/mpi/mpi-cmp.c,
1690 libgcrypt/mpi/mpi-div.c, libgcrypt/mpi/mpi-gcd.c,
1691 libgcrypt/mpi/mpi-inline.c, libgcrypt/mpi/mpi-inline.h,
1692 libgcrypt/mpi/mpi-internal.h, libgcrypt/mpi/mpi-inv.c,
1693 libgcrypt/mpi/mpi-mod.c, libgcrypt/mpi/mpi-mpow.c,
1694 libgcrypt/mpi/mpi-mul.c, libgcrypt/mpi/mpi-pow.c,
1695 libgcrypt/mpi/mpi-scan.c, libgcrypt/mpi/mpicoder.c,
1696 libgcrypt/mpi/mpih-div.c, libgcrypt/mpi/mpih-mul.c,
1697 libgcrypt/mpi/mpiutil.c, libgcrypt/mpi/Makefile.in,
1698 libgcrypt/mpi/alpha/README, libgcrypt/mpi/alpha/distfiles,
1699 libgcrypt/mpi/alpha/mpih-add1.S, libgcrypt/mpi/alpha/mpih-lshift.S,
1700 libgcrypt/mpi/alpha/mpih-mul1.S, libgcrypt/mpi/alpha/mpih-mul2.S,
1701 libgcrypt/mpi/alpha/mpih-mul3.S, libgcrypt/mpi/alpha/mpih-rshift.S,
1702 libgcrypt/mpi/alpha/mpih-sub1.S, libgcrypt/mpi/alpha/udiv-qrnnd.S,
1703 libgcrypt/mpi/amd64/distfiles, libgcrypt/mpi/amd64/mpih-add1.S,
1704 libgcrypt/mpi/amd64/mpih-lshift.S, libgcrypt/mpi/amd64/mpih-mul1.S,
1705 libgcrypt/mpi/amd64/mpih-mul2.S, libgcrypt/mpi/amd64/mpih-mul3.S,
1706 libgcrypt/mpi/amd64/mpih-rshift.S, libgcrypt/mpi/amd64/mpih-sub1.S,
1707 libgcrypt/mpi/generic/Manifest, libgcrypt/mpi/generic/distfiles,
1708 libgcrypt/mpi/generic/mpi-asm-defs.h, libgcrypt/mpi/generic/mpih-add1.c,
1709 libgcrypt/mpi/generic/mpih-lshift.c, libgcrypt/mpi/generic/mpih-mul1.c,
1710 libgcrypt/mpi/generic/mpih-mul2.c, libgcrypt/mpi/generic/mpih-mul3.c,
1711 libgcrypt/mpi/generic/mpih-rshift.c, libgcrypt/mpi/generic/mpih-sub1.c,
1712 libgcrypt/mpi/generic/udiv-w-sdiv.c, libgcrypt/mpi/hppa/README,
1713 libgcrypt/mpi/hppa/distfiles, libgcrypt/mpi/hppa/mpih-add1.S,
1714 libgcrypt/mpi/hppa/mpih-lshift.S, libgcrypt/mpi/hppa/mpih-rshift.S,
1715 libgcrypt/mpi/hppa/mpih-sub1.S, libgcrypt/mpi/hppa/udiv-qrnnd.S,
1716 libgcrypt/mpi/hppa1.1/distfiles, libgcrypt/mpi/hppa1.1/mpih-mul1.S,
1717 libgcrypt/mpi/hppa1.1/mpih-mul2.S, libgcrypt/mpi/hppa1.1/mpih-mul3.S,
1718 libgcrypt/mpi/hppa1.1/udiv-qrnnd.S, libgcrypt/mpi/i386/Manifest,
1719 libgcrypt/mpi/i386/distfiles, libgcrypt/mpi/i386/mpih-add1.S,
1720 libgcrypt/mpi/i386/mpih-lshift.S, libgcrypt/mpi/i386/mpih-mul1.S,
1721 libgcrypt/mpi/i386/mpih-mul2.S, libgcrypt/mpi/i386/mpih-mul3.S,
1722 libgcrypt/mpi/i386/mpih-rshift.S, libgcrypt/mpi/i386/mpih-sub1.S,
1723 libgcrypt/mpi/i386/syntax.h, libgcrypt/mpi/i586/Manifest,
1724 libgcrypt/mpi/i586/README, libgcrypt/mpi/i586/distfiles,
1725 libgcrypt/mpi/i586/mpih-add1.S, libgcrypt/mpi/i586/mpih-lshift.S,
1726 libgcrypt/mpi/i586/mpih-mul1.S, libgcrypt/mpi/i586/mpih-mul2.S,
1727 libgcrypt/mpi/i586/mpih-mul3.S, libgcrypt/mpi/i586/mpih-rshift.S,
1728 libgcrypt/mpi/i586/mpih-sub1.S, libgcrypt/mpi/m68k/Manifest,
1729 libgcrypt/mpi/m68k/distfiles, libgcrypt/mpi/m68k/mpih-add1.S,
1730 libgcrypt/mpi/m68k/mpih-lshift.S, libgcrypt/mpi/m68k/mpih-rshift.S,
1731 libgcrypt/mpi/m68k/mpih-sub1.S, libgcrypt/mpi/m68k/syntax.h,
1732 libgcrypt/mpi/mips3/Manifest, libgcrypt/mpi/mips3/README,
1733 libgcrypt/mpi/mips3/distfiles, libgcrypt/mpi/mips3/mpi-asm-defs.h,
1734 libgcrypt/mpi/mips3/mpih-add1.S, libgcrypt/mpi/mips3/mpih-lshift.S,
1735 libgcrypt/mpi/mips3/mpih-mul1.S, libgcrypt/mpi/mips3/mpih-mul2.S,
1736 libgcrypt/mpi/mips3/mpih-mul3.S, libgcrypt/mpi/mips3/mpih-rshift.S,
1737 libgcrypt/mpi/mips3/mpih-sub1.S, libgcrypt/mpi/pa7100/Manifest,
1738 libgcrypt/mpi/pa7100/distfiles, libgcrypt/mpi/pa7100/mpih-lshift.S,
1739 libgcrypt/mpi/pa7100/mpih-rshift.S, libgcrypt/mpi/pentium4/README,
1740 libgcrypt/mpi/pentium4/distfiles, libgcrypt/mpi/power/Manifest,
1741 libgcrypt/mpi/power/distfiles, libgcrypt/mpi/power/mpih-add1.S,
1742 libgcrypt/mpi/power/mpih-lshift.S, libgcrypt/mpi/power/mpih-mul1.S,
1743 libgcrypt/mpi/power/mpih-mul2.S, libgcrypt/mpi/power/mpih-mul3.S,
1744 libgcrypt/mpi/power/mpih-rshift.S, libgcrypt/mpi/power/mpih-sub1.S,
1745 libgcrypt/mpi/powerpc32/Manifest, libgcrypt/mpi/powerpc32/distfiles,
1746 libgcrypt/mpi/powerpc32/mpih-add1.S,
1747 libgcrypt/mpi/powerpc32/mpih-lshift.S,
1748 libgcrypt/mpi/powerpc32/mpih-mul1.S,
1749 libgcrypt/mpi/powerpc32/mpih-mul2.S,
1750 libgcrypt/mpi/powerpc32/mpih-mul3.S,
1751 libgcrypt/mpi/powerpc32/mpih-rshift.S,
1752 libgcrypt/mpi/powerpc32/mpih-sub1.S, libgcrypt/mpi/powerpc32/syntax.h,
1753 libgcrypt/mpi/powerpc64/distfiles, libgcrypt/mpi/sparc32/Manifest,
1754 libgcrypt/mpi/sparc32/distfiles, libgcrypt/mpi/sparc32/mpih-add1.S,
1755 libgcrypt/mpi/sparc32/mpih-lshift.S,
1756 libgcrypt/mpi/sparc32/mpih-rshift.S, libgcrypt/mpi/sparc32/udiv.S,
1757 libgcrypt/mpi/sparc32v8/Manifest, libgcrypt/mpi/sparc32v8/distfiles,
1758 libgcrypt/mpi/sparc32v8/mpih-mul1.S,
1759 libgcrypt/mpi/sparc32v8/mpih-mul2.S,
1760 libgcrypt/mpi/sparc32v8/mpih-mul3.S, libgcrypt/mpi/supersparc/Manifest,
1761 libgcrypt/mpi/supersparc/distfiles,
1762 libgcrypt/mpi/supersparc/udiv.S, libgcrypt/mpi/m68k/mc68020/distfiles
1763 libgcrypt/mpi/m68k/mc68020/Manifest,
1764 libgcrypt/mpi/m68k/mc68020/mpih-mul1.S,
1765 libgcrypt/mpi/m68k/mc68020/mpih-mul2.S,
1766 libgcrypt/mpi/m68k/mc68020/mpih-mul3.S,
1767 libgcrypt/mpi/pentium4/mmx/distfiles,
1768 libgcrypt/mpi/pentium4/mmx/mpih-lshift.S,
1769 libgcrypt/mpi/pentium4/mmx/mpih-rshift.S,
1770 libgcrypt/mpi/pentium4/sse2/distfiles,
1771 libgcrypt/mpi/pentium4/sse2/mpih-add1.S,
1772 libgcrypt/mpi/pentium4/sse2/mpih-mul1.S,
1773 libgcrypt/mpi/pentium4/sse2/mpih-mul2.S,
1774 libgcrypt/mpi/pentium4/sse2/mpih-mul3.S,
1775 libgcrypt/mpi/pentium4/sse2/mpih-sub1.S: Remove.
1777 2010-03-17 Corinna Vinschen <corinna@vinschen.de>
1779 * autoload.cc (Auto): Create autoload code in an executable section
1780 called .autoload_text to avoid problems with DEP.
1782 2010-03-14 Christopher Faylor <me+cygwin@cgf.cx>
1784 * Makefile.am: Add a setup-src target.
1786 2010-03-14 Charles Wilson <cygwin@cwilson.fastmail.fm>
1788 Support xz and lzma decompression via liblzma
1789 * Makefile.am: Add -DLZMA_API_STATIC to AM_CPPFLAGS,
1790 -lzma to setup_LDADD, and -static-libtool-libs to
1791 setup_LDFLAGS. Update setup_SOURCES.
1792 * compress.cc: Update includes.
1793 (compress::decompress): Use compress_xz rather than
1794 compress_lzma; compress_xz supports both xz and lzma
1796 * compress_xz.h: New.
1797 * compress_xz.cc: New.
1798 * compress_lzma.h: Removed.
1799 * compress_lzma.cc: Removed.
1800 * lzma-sdk/LzmaDec.c: Removed.
1801 * lzma-sdk/LzmaDec.h: Removed.
1802 * lzma-sdk/Types.h: Removed.
1804 2010-03-13 DJ Delorie <dj@redhat.com>
1806 * nio-ftp.c (read): Read RETR status code on EOF to avoid
1809 2010-03-01 Corinna Vinschen <corinna@vinschen.de>
1811 * filemanip.cc (mklongpath): Skip "." and ".." path components to
1812 avoid error messages.
1814 2010-02-15 Corinna Vinschen <corinna@vinschen.de>
1816 * filemanip.cc (mklongpath): Simplify backslash folding.
1818 2010-02-15 Corinna Vinschen <corinna@vinschen.de>
1820 * filemanip.cc (transform_chars): Drop function.
1821 (mklongpath): Call mbrtowc in a loop rather than just mbstowcs.
1822 Transform characters on the fly. Fold multiple backslashes into one.
1823 Drop trailing backslash.
1825 2010-02-15 Dave Korn <dave.korn.cygwin@gmail.com>
1827 * choose.cc (ChooserPage::PlaceDialog): Only skip resizing window
1828 in fully-unattended mode, not chooser-only mode.
1829 (ChooserPage::OnUnattended): Return appropriate status to run page
1830 or not according to kind of unattended mode.
1831 * choose.h (ChooserPage::OnUnattended): Remove inline implementation
1832 and retain prototype only.
1833 * main.cc (PackageManagerOption): New boolean option.
1834 (main): Take it into account when setting unattended_mode.
1835 * proppage.cc (PropertyPage::DialogProc): Use new enum type when
1836 setting unattended_mode.
1837 * state.cc (unattended_mode): Change from bool to enum attend_mode.
1838 * state.h (enum attend_mode): Declare new enum type.
1839 (unattended_mode): Update extern declaration to use it.
1841 2010-02-04 Corinna Vinschen <corinna@vinschen.de>
1843 * win32.cc (NTSecurity::GetPosixPerms): Return NULL security descriptor
1844 if is_legacy is set.
1845 (NTSecurity::SetPosixPerms): Remove.
1846 * win32.h (NTSecurity::GetPosixPerms): Remove declaration.
1848 2010-02-02 Corinna Vinschen <corinna@vinschen.de>
1850 * desktop.cc (make_link): Use 0 default permissions when creating files
1852 * download.cc (download_one): Ditto.
1853 * ini.cc (do_remote_ini): Ditto.
1854 * localdir.cc (offer_to_create): Ditto.
1855 * filemanip.cc (nt_wfopen): Use Windows default permissions if perms
1857 * mkdir.cc (mkdir_p): Ditto if mode is set to 0.
1859 2010-01-29 Christopher Faylor <me+cygwin@cgf.cx>
1861 * mount.cc (read_mounts_9x): Preserve old way of doing things when
1864 2010-01-28 Christopher Faylor <me+cygwin@cgf.cx>
1866 * desktop.cc (make_link): Preserve old way of doing things when
1868 (make_cygwin_bat): Ditto.
1870 * mount.cc (read_mounts): Ditto.
1871 (set_root_dir): Ditto.
1872 * root.cc (load_dialog): Ditto.
1873 (save_dialog): Ditto.
1874 * install.cc (Installer::installOne): Don't install anything if there
1875 is no canonical file associated with source.
1876 (do_install_thread): Set up old-style registry entries if is_legacy
1877 rather than just keying on whether this is Windows NT.
1878 * io_stream_file.cc (io_stream_file::exists): Redefine "exists" to mean
1881 2010-01-16 Christopher Faylor <me+cygwin@cgf.cx>
1883 * archive_tar.c (archive_tar_file::read): Always set read_something
1884 even for zero-length files.
1886 2010-01-16 Christopher Faylor <me+cygwin@cgf.cx>
1888 * archive_tar.h (archive_tar_file::read_something): New member.
1889 * archive_tar_file.cc (archive_tar_file::archive_tar_file): Don't reset
1890 state unless we've actually read something.
1891 (archive_tar_file::read): Set read_something variable here to indicate
1892 that we've read something from the tar file.
1894 2010-01-13 Christopher Faylor <me+cygwin@cgf.cx>
1896 * localdir.cc (LocalDirPage::OnNext): Strip trailing slashes.
1898 2009-12-27 Christopher Faylor <me+cygwin@cgf.cx>
1900 * main.cc (dyn_AttachConsole): Make static.
1901 (dyn_GetLongPathName): New variable.
1902 (set_dynaddr): New function.
1903 (set_cout): Don't set dyn_AttachConsole here.
1904 (set_legacy): Don't attempt to call function which does not exist in
1905 older versions of NT.
1906 (main): Call set_dynaddr to set dynamic load addresses.
1908 2009-12-22 Christopher Faylor <me+cygwin@cgf.cx>
1910 * ini.h: Use is_legacy to control setup.ini names.
1911 * main.cc (set_legacy): New function.
1912 (main): Call set_legacy with program name to determine if this is
1913 supposed to be an installation of the legacy version of cygwin. Issue
1914 a warning on attempt to install legacy on Windows NT class system.
1916 2009-12-22 Christopher Faylor <me+cygwin@cgf.cx>
1918 * package_message (packagemessage::display): Avoid displaying a message
1919 when in unattended mode.
1921 2009-12-22 Corinna Vinschen <corinna@vinschen.de>
1923 * win32.h (isdirsep): Define to replace local isslash definitions.
1924 * UserSettings.cc (UserSettings::open_settings): Remove isslash.
1925 Use isdirsep instead of isslash.
1926 * filemanip.cc (mklongpath): Ditto.
1927 * root.cc (directory_is_rootdir): Ditto.
1928 * localdir.cc (LocalDirSetting::save): Avoid consecutive backslashes
1929 in setup log file paths.
1930 * main.cc (main): Ditto.
1932 2009-12-21 Christopher Faylor <me+cygwin@cgf.cx>
1934 * choose.cc (ChooserPage::PlaceDialog): Put *correct* size in
1935 WINDOWPLACEMENT length field.
1937 2009-12-18 Corinna Vinschen <corinna@vinschen.de>
1939 Throughout, revert prototypes and methods set_mtime_and_mode to
1940 set_mtime and only care for the file timestamp.
1942 Throughout, accommodate additional mode_t parameter in call to
1945 * IOStreamProvider.h (IOStreamProvider::open): Add mode_t parameter.
1946 * archive.cc (archive::extract_file): Reorder creation of in and tmp
1947 to get the file mode from the tar archive earlier. Call io_stream::open
1948 with additional mode from tar archive. Accommodate reversion to
1950 * filemanip.cc (nt_wfopen): Remove retry loop. Instead initialize
1951 OBJECT_ATTRIBUTES with matching POSIX perms according to incoming
1952 perms to create correct ACL on file creation. Remove subsequent call
1953 to nt_sec.SetPosixPerms.
1954 * io_stream.cc (io_stream::open): Take additional mode_t parameter
1955 and connect through to IOStreamProvider's open.
1956 * io_stream.h (io_stream::open): Add mode_t parameter.
1957 * io_stream_cygfile.cc (CygFileProvider::open): Ditto.
1958 (io_stream_cygfile::io_stream_cygfile): Ditto. Call nt_wfopen with
1959 incoming mode_t parameter. Make sure .exe and .dll files always
1960 have execute permissions set.
1961 (io_stream_cygfile::set_mtime): Remove retry loop and open file with
1962 just GENERIC_WRITE access.
1963 * io_stream_cygfile.h (io_stream_cygfile::io_stream_cygfile): Add mode_t
1965 * io_stream_file.cc (FileProvider::open): Ditto.
1966 (io_stream_file::io_stream_file): Ditto. Call nt_wfopen with incoming
1968 * io_stream_file.h (io_stream_file::io_stream_file): Add mode_t
1970 * io_stream_memory.h (class io_stream_memory): Remove mode member.
1971 Just return 0 from get_mode.
1972 * mkdir.cc (mkdir_p): Remove retry loop. Instead initialize
1973 OBJECT_ATTRIBUTES with matching POSIX perms according to incoming
1974 perms to create correct ACL on file creation. Remove subsequent call
1975 to nt_sec.SetPosixPerms.
1976 * mklink2.cc (mkcygsymlink_nt): Remove retry loop. Instead initialize
1977 SECURITY_ATTRIBUTES with matching POSIX perms to create correct ACL on
1979 * win32.cc (NTSecurity::GetPosixPerms): New function to generate
1980 POSIX ACL. Default to current owner and current primary group for
1981 owner/group permissions.
1982 (NTSecurity::SetPosixPerms): Let GetPosixPerms create the DACL.
1983 (NTSecurity::setAdminGroup): Set groupSID to admins SID if successful.
1984 (NTSecurity::setDefaultSecurity): Store user SID in ownerSID member.
1985 Default groupSID to original primary group.
1986 * win32.h (struct acl_t): Define here.
1987 (class NTSecurity): Rename ownerSID and groupSID to cr_ownerSID and
1988 cr_groupSID. Change throughout. Add members ownerSID and groupSID.
1989 Declare new method GetPosixPerms.
1991 2009-12-17 Corinna Vinschen <corinna@vinschen.de>
1993 * filemanip.cc (nt_wfopen): Only call nt_sec.SetPosixPerms if we have
1995 * mkdir.cc (mkdir_p): Ditto.
1997 2009-12-17 Corinna Vinschen <corinna@vinschen.de>
1999 * filemanip.cc (nt_wfopen): Fix requested access rights. Retry
2000 without WRITE_DAC access on access denied. Add comment.
2001 * io_stream_cygfile.cc (io_stream_cygfile::set_mtime_and_mode): Ditto.
2002 * mkdir.cc (mkdir_p): Ditto.
2003 * mklink2.cc (mkcygsymlink_nt): Ditto.
2005 2009-12-17 Corinna Vinschen <corinna@vinschen.de>
2007 * localdir.cc (LocalDirSetting::save): Call mkdir_p with isadir set
2008 since /var/log is a dir.
2010 2009-12-16 Corinna Vinschen <corinna@vinschen.de>
2012 * UserSettings.cc (UserSettings::open_settings): Never add more than
2014 * filemanip.cc (tfx_chars): Align to Cygwin's transformation table.
2015 * localdir.cc (LocalDirSetting::save): Call mkdir_p with DOS path.
2017 2009-12-16 Christopher Faylor <me+cygwin@cgf.cx>
2019 * package_message.h: New file.
2021 2009-12-13 Christopher Faylor <me+cygwin@cgf.cx>
2023 * IniDBBuilder.h (buildMessage): Define for base class.
2024 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildMessage): Define.
2025 * IniDBBuilderPackage.h (IniDBBuilderPackage::buildMessage): Declare.
2026 * PickPackageLine.cc: Pass pointer to package to "pick" throughout,
2028 * PickView.cc: Ditto.
2029 * install.cc: Ditto.
2030 * package_meta.cc: Ditto.
2032 * package_version.cc: Ditto.
2033 (packageversion::pick): Add pkg pointer as second argument. Display
2034 message where appropriate.
2035 * package_version.h (packageversion::pick): Add pkg pointer as second
2037 * package_meta.h (packagemeta::mesage): Define.
2038 (packagemeta::set_message): Define.
2039 * inilex.ll: Properly return MESSAGE token.
2040 * iniparse.yy: Handle message: keyword.
2042 2009-12-08 Dave Korn <dave.korn.cygwin@gmail.com>
2044 * localdir.cc (offer_to_create): New function.
2045 (browse_cb): Handle selection changed and validate failed
2046 callbacks, and call offer_to_create where appropriate.
2047 (browse): Set new dialog style flags in browser info.
2048 (LocalDirPage::OnNext): Replace call to mkdir_p with offer to
2049 create or error message dialog display, allow proceeding to
2050 chooser even if local dir does not exist in unattend mode or
2051 if user insists, and fix small memory leak.
2053 * res.rc (IDS_MAYBE_MKDIR, IDS_CANT_MKDIR, IDS_NO_CWD): Define new
2055 * resource.h (IDS_MAYBE_MKDIR, IDS_CANT_MKDIR, IDS_NO_CWD): Define
2056 corresponding resource ID numbers.
2058 2009-12-03 Corinna Vinschen <corinna@vinschen.de>
2060 * main.cc (WinMain): Disable running on Windows 9x. Show message box
2063 2009-12-03 Dave Korn <dave.korn.cygwin@gmail.com>
2065 (ChooserPage::createListview): When nothing is found in the "All"
2066 category, pass an empty static dummy category object to the PickView
2067 constructor, instead of trying to dereference not-found iterator.
2069 2009-11-23 Corinna Vinschen <corinna@vinschen.de>
2071 * io_stream_cygfile.cc (io_stream_cygfile::get_size): Don't try to
2072 close invalid handle.
2073 * io_stream_file.cc (io_stream_file::get_size): Ditto
2075 2009-11-22 Dave Korn <dave.korn.cygwin@gmail.com>
2077 * threebar.cc (ThreeBarProgressPage::OnMessageApp): Don't loop forever
2078 retrying ini file download/parse if it errors in unattended mode.
2080 2009-11-22 Dave Korn <dave.korn.cygwin@gmail.com>
2082 * package_meta.cc (CategoryOption): New StringOption for '-C'.
2083 (parseNames): New helper subroutine abstracts string parsing from ...
2084 (packagemeta::isManuallyWanted): Use it, and check for category names
2085 from CategoryOption as well as individual package names.
2086 * package_db.cc (packagedb::fillMissingCategory): Don't check for
2087 manually-wanted packages until after initialising all the categories.
2089 2009-11-04 Dave Korn <dave.korn.cygwin@gmail.com>
2091 * localdir.cc (LocalDirSetting::LocalDirSetting): Restore -l option.
2093 2009-11-04 Dave Korn <dave.korn.cygwin@gmail.com>
2095 * site.cc: Add #include of BoolOption header from libgetopt.
2096 (OnlySiteOption): New BoolOption for command-line -O option.
2097 (get_site_list): Respect BoolOption by not downloading mirror
2098 list, nor using nor updating cached mirrors.
2100 2009-11-04 Dave Korn <dave.korn.cygwin@gmail.com>
2102 * download.cc (do_download_thread): Only retry an incomplete download
2103 a limited number of times in unattended mode.
2105 2009-11-04 Dave Korn <dave.korn.cygwin@gmail.com>
2107 * main.cc (main_display): Use apartment-, not multi- threading model
2108 when initialiseing COM.
2110 2009-11-04 Corinna Vinschen <corinna@vinschen.de>
2112 * localdir.cc (browse): Make title text depend on what we do.
2113 (LocalDirPage::OnNext): If we plan to download, try to create directory
2114 before cd'ing into it.
2116 2009-11-03 Corinna Vinschen <corinna@vinschen.de>
2118 * mkdir.cc: Include sys/stat.h unconditionally.
2119 (mkdir_p): Add S_IFDIR flag in call to nt_sec.SetPosixPerms.
2120 * win32.cc: Include sys/stat.h.
2121 (NTSecurity::SetPosixPerms): Add CREATOR OWNER, CREATOR GROUP, and
2122 Everyone inheritance-only entries when setting a directory DACL.
2123 (NTSecurity::initialiseWellKnownSIDs): Create SIDs for CREATOR OWNER and
2125 * win32.h (class NTSecurity): Add members ownerSID and groupSID.
2127 2009-10-03 Andy Koppe <andy.koppe@gmail.com>
2129 * main.cc (main): Make sure C runtime uses same codepage as GUI.
2131 2009-09-20 Christopher Faylor <me+cygwin@cgf.cx>
2133 * main (set_cout): Really do attach to a console if stdout is "bad".
2135 2009-09-18 Andy Koppe <andy.koppe@gmail.com>
2137 * root.cc (string orig_root_dir): New variable.
2138 (check_if_enable_next): Show warning against installing Cygwin into
2139 disk root only if the root directory has actually been changed.
2140 * res.rc: Make the root dir warning a bit more meaningful, and refrain
2141 from using uppercase.
2143 2009-09-18 Christopher Faylor <me+cygwin@cgf.cx>
2145 * choose.cc (ChooserPage::OnBack): Revert to non-maximized when
2146 returning to mirror from package selection.
2148 2009-09-18 Dave Korn <dave.korn.cygwin@gmail.com>
2150 * site.cc (get_site_list): Use empty string if user settings
2151 return NULL pointer for cached mirrors list.
2152 (SiteSetting::getSavedSites): Do nothing if user settings return
2153 NULL pointer for last mirror URL.
2155 2009-08-21 Christopher Faylor <me+cygwin@cgf.cx>
2157 * site.cc (SiteSetting::registerSavedSite): Fix comment.
2159 2009-07-03 Christopher Faylor <me+cygwin@cgf.cx>
2161 * main.cc (set_cout): Don't reset stdout if we already have a stdout.
2163 2009-07-03 Christopher Faylor <me+cygwin@cgf.cx>
2165 * choose.cc (ChooserPage::ChooserPage): Use more specific name for
2166 saving window settings.
2167 (ChooserPage::~ChooserPage): Ditto.
2169 2009-07-01 Dave Korn <dave.korn.cygwin@gmail.com>
2171 * PickView.h (PickView::total_delta_x): New int member.
2172 (PickView::set_header_column_order): Add prototype.
2173 * PickView.cc (PickView::set_header_column_order): New function,
2175 (PickView::set_headers): ... here. Call it.
2176 (PickView::init_headers): Apply total_delta_x to last_col width.
2177 (PickView::PickView): Initialise new total_delta_x member to zero.
2178 (PickView::WindowProc): Use set_header_column_order to find and
2179 adjust final column for both sets of headers.
2181 2009-06-29 Christopher Faylor <me+cygwin@cgf.cx>
2183 * SourceSetting.cc (SourceSetting::SourceSetting): Restore proper
2184 remembrane of last source setting.
2185 * choose.cc (ChooserPage::ChooserPage): Potentially retrieve dialog
2187 (ChooserPage::~ChooserPage): Save geometry settings if the user moved
2188 or resized the page.
2189 (ChooserPage::PlaceDialog): Rename from MaximizeDialog. Accommodate
2190 changed user placement settings.
2191 (ChooserPage::OnActivate): MaximizeDialog -> PlaceDialog.
2192 (ChooserPage::OnNext): Ditto.
2193 * choose.h (ChooserPage::~ChooserPage): Define.
2194 (ChooserPage::cmd_show): Delete.
2195 (ChooserPage::saved_geom): New field.
2196 (ChooserPage::window_placement): Ditto.
2197 (ChooserPage::pre_chooser_placement): Ditto.
2198 (ChooserPage::PlaceDialog): Rename from MaximizeDialog.
2200 2009-06-28 Christopher Faylor <me+cygwin@cgf.cx>
2202 * ConnectionSetting.cc (ConnectionSetting::ConnectionSetting): Remove
2203 old code which no longer makes sense when run from a constructor.
2204 * SourceSetting.cc (SourceSetting::SourceSetting): Ditto.
2205 * localdir.cc (LocalDirSetting::LocalDirSetting): Ditto. Fix typo
2206 which caused saved settings to be ignored.
2208 2009-06-28 Christopher Faylor <me+cygwin@cgf.cx>
2210 * UserSettings.cc (UserSettings::UserSettings): settings.rc -> setup.rc.
2212 2009-06-28 Corinna Vinschen <corinna@vinschen.de>
2214 * desktop.cc (DesktopSetupPage::OnInit): Drop CoInitialize call here.
2215 * main.cc (main_display): Use InitCommonControlsEx rather than
2216 InitCommonControls per MSDN. Call CoInitializeEx and create IShellLink
2217 instance here to workaround a problem on Windows 7. Release IShellLink
2218 instance and call CoUninitialize on exit.
2219 * mklink.cc (sl): Change to global variable. Drop call to
2220 CoCreateInstance here. Check if sl is valid before using it.
2222 2009-06-27 Christopher Faylor <me+cygwin@cgf.cx>
2224 Preliminary option handling revamp.
2225 Throughout, change load/save methods to constructors/destructors which
2226 use new UserSettings methods. Do not inherit from UserSetting class.
2227 * KeysSetting.cc (ExtraKeysSetting *ExtraKeysSetting::global): Define.
2228 (ExtraKeysSetting::ExtraKeysSetting): Initialize some class members use
2229 new UserSettings methods.
2230 (ExtraKeysSetting::~ExtraKeysSetting): Use new UserSettings method.
2231 * Makefile.am (setup_SOURCES): Eliminate UserSetting.h and
2233 * UserSettings.cc: Complete rewrite. Implements new UserSettings
2235 * UserSettings.h: Complete rewrite. Defines new UserSettings class
2237 * crypto.cc (ExtraKeys): Delete.
2238 (add_key_from_sexpr): Use ExtraKeysSetting::instance rather than
2240 (verify_ini_file_sig): Ditto.
2241 * io_stream.h (io_stream): Define virtual << operators.
2242 * localdir.cc (localDir): Delete.
2243 * main.cc: Include headers which declar new dynamically invoked
2245 (main_display): New function. Controls order of option setting and
2246 property page setup. Add new class invocations to force option setting
2248 (main): Invoke new UserSettings class constructor to populate new
2249 settings class. Call main_display() to do most of the setup work.
2250 Call Settings.save () to save all settings.
2251 * net.cc (theSetting): Delete.
2252 * site.cc (SiteSetting::save): Record whether we've saved the
2253 information already.
2254 (get_site_list): Just use value returned from new UserSettings method
2255 rather than parsing a file.
2256 (SiteSetting::getSavedSites): Ditto.
2257 (write_cache_list): Use UserSettings operator to store mirror cache.
2258 (save_cache_file): Ditto.
2259 * source.cc (theSetting): Delete.
2261 * win32.h: gcc-4 accommodation.
2263 2009-06-26 Dave Korn <dave.korn.cygwin@gmail.com>
2265 * res.rc (SETUP_STANDARD_DIALOG_W, SETUP_STANDARD_DIALOG_H,
2266 SETUP_SMALL_DIALOG_W, SETUP_SMALL_DIALOG_H): Add constant defines
2268 (SETUP_STANDARD_DIALOG_DIMS, SETUP_SMALL_DIALOG_DIMS): Add helper
2269 macros for (W,H) pairs of dimensions.
2270 (SETUP_HEADICON_X): New global constant define.
2271 (IDD_SOURCE, IDD_VIRUS, IDD_LOCAL, IDD_ROOT, IDD_SITE, IDD_NET,
2272 IDD_INSTATUS, IDD_PROXY_AUTH, IDD_NET_AUTH, IDD_DESKTOP,
2273 IDD_FTP_AUTH DIALOG, IDD_DROPPED): Use the above for dialog sizes,
2274 horizontal rules and icon positioning.
2275 (SETUP_KPCE_W): New define for radio-button size.
2276 (SETUP_VIEWCAP_W, SETUP_VIEWCAP_X, SETUP_VIEW_W, SETUP_VIEW_X,
2277 SETUP_EXP_X, SETUP_CURR_X, SETUP_PREV_X, SETUP_KEEP_X): Add defines
2278 for right-aligned controls.
2279 (SETUP_SEARCH_X, SETUP_SEARCH_W, SETUP_SEARCHTEXT_X,
2280 SETUP_SEARCHTEXT_W, SETUP_CLEAR_X, SETUP_CLEAR_W): Likewise defines
2281 for left-aligned controls.
2282 (IDD_CHOOSE): Use all the above, and reformat with whitespace
2283 between args for clarity.
2285 2009-06-26 Corinna Vinschen <corinna@vinschen.de>
2287 * Makefile.am (setup_LDADD): Add -lshlwapi.
2288 * PickView.cc: Include shlwapi.h.
2289 (PickView::setViewMode): Compare package name with search string
2291 (PickView::insert_category): Ditto.
2293 2009-06-26 Corinna Vinschen <corinna@vinschen.de>
2295 * script.cc (init_run_script): Don't set $HOME to /tmp. It breaks
2298 2009-06-25 Corinna Vinschen <corinna@vinschen.de>
2300 * script.cc (init_run_script): Reinstantiate accidentally removed
2303 2009-06-22 Christopher Faylor <me+cygwin@cgf.cx>
2305 * script.cc (init_run_script): Revert to initializing cmd based on OS
2308 2009-06-22 Corinna Vinschen <corinna@vinschen.de>
2310 * script.cc (Script::run): Start bash without -c option.
2312 2009-06-20 Christopher Faylor <me+cygwin@cgf.cx>
2314 * threebar.cc (ThreeBarProgressPage::ins_dialog): Move variable to more
2316 (ThreeBarProgressPage::MaximizeDialog): Move function to more
2318 (ThreeBarProgressPage::OnMessageApp): Remove MaximizeDialog calls.
2319 * threebar.h: Remove maximize handling.
2320 * choose.cc (ChooserPage::ins_dialog): New variable.
2321 (ChooserPage::MaximizeDialog): New function.
2322 (ChooserPage::ChooserPage): Remove unneeded handling of nCmdShow.
2323 (ChooserPage::OnActivate): Maximize chooser page via MaximizeDialog.
2324 (ChooserPage::OnNext): Revert chooser page to normal before returning.
2325 * main.cc (main): Don't pass cmd_show to ChooserPage.
2326 * propsheet.cc (PropSheetProc): Accommodate change in class for
2329 2009-06-20 Christopher Faylor <me+cygwin@cgf.cx>
2331 * script.cc (shells): Delete.
2332 (cmd): Just assign to "cmd.exe" since we're always running on NT now.
2333 (sanitize_PATH ): New function.
2334 (init_run_script): Ensure that we're only called once. Strip
2335 environment of non-pertinent stuff. Call sanitize_PATH to remove
2336 non-standard stuff from the PATH. Set up a few standard environment
2339 2009-06-16 Corinna Vinschen <corinna@vinschen.de>
2341 * mount.cc (create_install_root): Don't load mount table again.
2342 (read_mounts_nt): Don't break loop, rather continue when not being
2343 able to open "Cygwin" registry key.
2345 2009-06-03 Ralph Hempel <rhempel@bmts.com>
2347 * source.cc: Add support for both -D and -L on the command line.
2349 2009-06-03 Corinna Vinschen <corinna@vinschen.de>
2351 * filemanip.cc (unlink): Rename from DeleteFileW. Take additional
2352 parameter to indicate file type to unlink. Use in flags given to
2354 (DeleteFileW): Just call unlink from here with FILE_NON_DIRECTORY_FILE
2356 (RemoveDirectoryW): Ditto with FILE_DIRECTORY_FILE flag.
2358 2009-05-30 Charles Wilson <cygwin@cwilson.fastmail.fm>
2360 * script.cc (Script::run): Really start bash with --norc
2361 --noprofile options.
2363 2009-05-13 Corinna Vinschen <corinna@vinschen.de>
2365 * script.cc (Script::run): Start bash with --norc --noprofile options.
2367 2009-05-13 Corinna Vinschen <corinna@vinschen.de>
2369 * filemanip.cc (struct _FILE_RENAME_INFORMATION): Remove definition.
2370 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): Set
2371 default permission for .exe files to 0755.
2372 (io_stream_cygfile::mklink): Try to create real hardlink first. Add
2374 * mklink2.cc (mkcyghardlink): New function to create real hardlink.
2375 * mklink2.h (mkcyghardlink): Declare.
2376 * mount.cc (from_fstab_line): Set got_usr_bin and got_usr_lib flags
2377 if /usr/bin and /usr/lib mount points exist in /etc/fstab.
2378 (add_usr_mnts): Only create mounts if corresponding got_usr_bin and
2379 got_usr_lib flags are not set.
2380 (read_mounts_nt): Initialize got_usr_bin and got_usr_lib to false.
2381 Always call add_usr_mnts, even if from_fstab succeeded.
2382 * ntdll.h: Include ddk/ntifs.h.
2384 2009-05-12 Corinna Vinschen <corinna@vinschen.de>
2386 * filemanip.cc (GetFileAttributesW): Add accidentally omited
2387 OBJ_CASE_INSENSITIVE when creating OBJECT_ATTRIBUTES.
2388 (SetFileAttributesW): Ditto.
2390 (DeleteFileW): Ditto.
2391 (RemoveDirectoryW): Ditto.
2394 2009-05-11 Bryan Thrall <bryan.thrall@flightsafety.com>
2396 * localdir.cc (load_dialog): Choose description string based on install
2398 * res.rc (IDD_LOCAL_DIR): Replace static description text with
2400 * resource.h (IDS_LOCAL_DIR_DOWNLOAD): New string resource id.
2401 (IDS_LOCAL_DIR_INSTALL): Likewise.
2402 (IDC_LOCAL_DIR_DESC): New text control resource id.
2404 2009-05-11 Christopher Faylor <me+cygwin@cgf.cx>
2406 * main.cc (set_cout): Simplify code a little.
2408 2009-05-11 Bryan Thrall <bryan.thrall@flightsafety.com>
2410 * choose.cc (ChooserPage::OnMessageCmd): Clear search filter when
2411 clear button clicked.
2412 * res.rc (IDD_CHOOSE_DIALOG): Add IDC_CHOOSE_CLEAR_SEARCH button.
2413 * resource.h (IDC_CHOOSE_CLEAR_SEARCH): New button resource ID.
2415 2009-05-11 Corinna Vinschen <corinna@vinschen.de>
2417 * UserSettings.cc (UserSettings::settingFileForLoad): Fix local load
2419 (UserSettings::settingFileForSave): Never store in cwd.
2420 * autoload.c (ntdll): Autoload ntdll.dll functions here.
2421 * desktop.cc (make_cygwin_bat): Use GetFileAttributesW rather than
2422 _waccess. Use nt_wfopen instead of _wfopen.
2424 * filemanip.cc (get_file_size): Call io_stream::open with empty mode
2425 string to avoid opening file twice.
2426 (GetFileAttributesW): New function to replace Win32 function with
2427 equivalent function opening files with backup intent.
2428 (SetFileAttributesW): Ditto.
2430 (DeleteFileW): Ditto.
2431 (RemoveDirectoryW): Ditto.
2432 (nt_wfopen): New function to replace _wfopen with equivalent function
2433 opening files with backup intent.
2434 * filemanip.h (nt_wfopen): Declare.
2435 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): Initalize
2436 lasterr to 0. Allow empty mode and don't open file, if so. Call
2437 nt_wfopen rather than _wfopen.
2438 (io_stream_cygfile::exists): Use GetFileAttributesW rather than
2440 (io_stream_cygfile::get_size): Use CreateFileW/GetFileSize to get
2442 * io_stream_file.cc (io_stream_file::io_stream_file): Initalize lasterr
2443 to 0. Allow empty mode and don't open file, if so. Call nt_wfopen
2444 rather than _wfopen.
2445 (io_stream_file::exists): Use GetFileAttributesW rather than _waccess.
2446 (io_stream_file::remove): Don't try to remove non-existant file.
2447 (io_stream_file::get_size): Use CreateFileW/GetFileSize to get
2448 file size on NT. Add comment to keep track of 2GB border.
2449 * mkdir.cc: Remove function pointers for ntdll functions.
2450 (init_ntfuncs): Remove function.
2451 (mkdir_p): Drop call to init_ntfuncs. Call ntdll functions directly
2452 rather than over local function pointers.
2453 * ntdll.h: New file.
2454 * postinstall.cc (do_postinstall_reflector): Switch to admins group
2455 as primary group after postinstall scripts have been written.
2457 (do_postinstall): Add comment.
2458 * res.rc: Bump copyright date.
2459 * win32.h (class TokenGroupCollection): Remove.
2460 * win32.cc (TokenGroupCollection::populate): Remove.
2461 (TokenGroupCollection::find): Remove.
2462 (NTSecurity::setDefaultSecurity): Drop reading token groups. Just
2463 try to switch to admins group as primary group.
2465 2009-05-07 Corinna Vinschen <corinna@vinschen.de>
2467 * package_db.cc (ConnectedLoopFinder::doIt): Revert patch from
2468 2008-08-29. Add dumb hardcoded algorithm to make sure base-cygwin
2469 and base-passwd are always the first packages in the postinstall
2472 2009-05-06 Corinna Vinschen <corinna@vinschen.de>
2474 * install.cc (Installer::StandardDirs): Add /home with 1777 perms.
2475 * main.cc (main): Drop setting $CYGWIN to nontsec.
2477 2009-04-24 Andrew Punch <andrew@magneticbooks.com.au>
2479 * PickView.h: Add #include <string>.
2480 (PickView::SetPackageFilter): Add new function.
2481 (PickView::packageFilterString): Add new string data member.
2482 * PickView.cc (PickView::setViewMode): Use it to filter names.
2483 (PickView::insert_category): Likewise.
2484 (PickView::PickView): Initialise packageFilterString to blank.
2485 * res.rc (IDD_CHOOSE): Add IDC_CHOOSE_SEARCH_EDIT and
2486 IDC_CHOOSE_SEARCH_LABEL controls.
2487 (IDS_SEARCH_TOOLTIP): Add new string resource.
2488 * resource.h (IDS_SEARCH_TOOLTIP): New string resource ID.
2489 (IDC_CHOOSE_SEARCH_EDIT): New edit control ID.
2490 (IDC_CHOOSE_SEARCH_LABEL): Mew static text control ID.
2491 * choose.cc (ChooserControlsInfo[]): Add IDC_CHOOSE_SEARCH_LABEL
2492 and IDC_CHOOSE_SEARCH_EDIT controls to auto-resize list.
2493 (ChooserPage::OnInit): Add tooltip to search edit box.
2494 (ChooserPage::OnMessageCmd): Handle EN_CHANGE event from
2495 IDC_CHOOSE_SEARCH_EDIT.
2497 2009-04-24 Dave Korn <dave.korn.cygwin@gmail.com>
2499 * propsheet.cc (PropSheetWndProc): Re-enable hasMinRect.
2501 2009-04-23 Corinna Vinschen <corinna@vinschen.de>
2503 * win32.h (NTSecurity::primaryGroupSID): Convert to a structure for
2504 direct usage in GetTokenInformation.
2505 (NTSecurity::osid): Remove.
2506 (NTSecurity::setAdminGroup): Declare.
2507 * win32.cc (NTSecurity::resetPrimaryGroup): Accommodate change to
2508 primaryGroupSID. Add log output.
2509 (NTSecurity::setAdminGroup): New method.
2510 (NTSecurity::setDefaultSecurity): Use local structures for getting
2511 TOKEN_USER and setting TOKEN_OWNER information. Accommodate change to
2512 primaryGroupSID. Slightly enhance log output.
2513 Only set primary group to Administrators group when installing for
2514 all users. Call setAdminGroup to do it.
2516 2009-04-22 Corinna Vinschen <corinna@vinschen.de>
2518 * mklink2.cc (mkcygsymlink_nt): Allow 4K chars in symlink. Use strncat
2520 * postinstall.cc (do_postinstall): Reset user token to original
2522 * win32.cc (NTSecurity::resetPrimaryGroup): New method.
2523 (NTSecurity::setDefaultSecurity): Store original primary group in
2524 new NTSecurity member primaryGroupSID. Set primary group in user token
2525 to Administrators group for admin users. Align comment.
2526 * win32.h (class NTSecurity): Add member primaryGroupSID.
2527 (NTSecurity::resetPrimaryGroup): Declare.
2529 2009-04-09 Christopher Faylor <me+cygwin@cgf.cx>
2531 * main.cc (set_cout): Load AttachConsole dynamically to avoid using it
2532 on older Windows which don't support it.
2534 2009-03-21 Christopher Faylor <me+cygwin@cgf.cx>
2536 * LogFile.cc (LogFile::endEntry): Output messages to stdout.
2537 * main.cc (set_cout): New function. Sets stdout to console if one
2539 (main): Redirect stdout to console if unattended_mode or help option is
2540 specified and no stdout is available.
2542 2009-03-21 Terry Fleming <terrynfleming@gmail.com>
2543 Christopher Faylor <me+cygwin@cgf.cx>
2545 * propsheet.cc (PropSheetWndProc): Detect a Window closing event and
2546 issue an "Are you sure" message.
2548 2008-08-29 Corinna Vinschen <corinna@vinschen.de>
2550 * package_db.cc (ConnectedLoopFinder::doIt): Add code to get a basic
2551 order into the dependency list. Add comment to explain why.
2553 2008-08-22 Brian Dessent <brian@dessent.net>
2555 * KeysSetting.cc: Include string.h for memcpy et al.
2556 * filemanip.cc: Include stdlib.h for for mbstowcs.
2557 * io_stream_cygfile.h: Update cygmkdir_p prototype for mode_t.
2558 * mount.cc (conv_fstab_spaces): Silence gcc 4.3 warning ("parentheses
2559 around assignment used as truth value").
2561 2008-08-20 Corinna Vinschen <corinna@vinschen.de>
2563 * install.cc (Installer::StandardDirs): Additionally create /var/log
2564 dir. Set mode of /var/log and /var/run to 01777.
2565 * localdir.cc (LocalDirSetting::save): Create /var/log with 01777
2566 permissions before creating setup.log files.
2568 2008-08-20 Corinna Vinschen <corinna@vinschen.de>
2570 * io_stream_cygfile.cc (io_stream_cygfile::set_mtime_and_mode):
2571 Accommodate SetPosixPerms being method of nt_sec.
2572 * mkdir.cc (mkdir_p): Ditto.
2573 * mklink2.cc (mkcygsymlink_nt): Ditto.
2574 * win32.cc: Slightly rearrange.
2575 (NTSecurity::SetPosixPerms): Make SetPosixPerms method of NTSecurity
2576 rather than stand-alone function. Remove dynamic allocation for
2577 security descriptors in favor of static allocation. Drop out
2578 preliminary if well-known SIDs are not initialized. Slightly change
2579 and rearrange comments. Add creating NULL SID ACE for special
2581 (NTSecurity::initialiseWellKnownSIDs): New function, replacing
2582 NTSecurity::initialiseEveryOneSID. Initialize all well-known SIDs
2583 here. Set wellKnownSIDsinitialized to true on success.
2584 (NTSecurity::setDefaultDACL): Don't call initialiseEveryOneSID. Change
2585 comment. Drop setting failed. Don't open process token here.
2586 (NTSecurity::setBackupPrivileges): New function.
2587 (NTSecurity::setDefaultSecurity): Call initialiseWellKnownSIDs.
2588 Open process token here. Disable setting primary group. Add comment
2590 * win32.h (SetPosixPerms): Move to NTSecurity.
2591 (class NTSecurity): Add SetPosixPerms method. Make all SIDs private
2592 again. Make NoteFailedAPI private. Add setBackupPrivileges method.
2593 Rename usid to UsersSID. Remove failed method and _failed member.
2594 Add wellKnownSIDsinitialized accessors and _wellKnownSIDsinitialized
2597 2008-08-19 Corinna Vinschen <corinna@vinschen.de>
2599 * install.cc (struct std_dirs_t): New type.
2600 (class Installer): Change type of StandardDirs to std_dirs_t.
2601 (Installer::StandardDirs): Store filename and mode.
2602 (do_install_thread): Call io_stream::mkpath_p with name and mode from
2603 Installer::StandardDirs.
2604 * main.cc (main): Call setDefaultSecurity on global nt_sec.
2605 * IOStreamProvider.h (IOStreamProvider::mkdir_p): Add mode parameter.
2606 * LogFile.cc (LogFile::log_save): Call io_stream::mkpath_p with 0755
2608 * UserSettings.cc (UserSettings::settingFileForSave): Ditto.
2609 * desktop.cc (make_link): Ditto.
2610 * download.cc (download_one): Ditto.
2611 * ini.cc (do_remote_ini): Ditto.
2612 (do_ini_thread): Ditto.
2613 * package_db.cc (packagedb::flush): Ditto.
2614 * archive.cc (archive::extract_file): Ditto. Call set_mtime_and_mode
2615 with mode from archive. Add code to handle directory permissions as
2617 * archive_tar.cc (archive_tar::get_mtime): Return time_t. Reformat.
2618 (archive_tar::get_mode): New method.
2619 * archive_tar.h (class archive_tar_file): Fix prototypes. Replace
2620 prototype for set_mtime with prototype for set_mtime_and_mode.
2621 (class archive_tar): Ditto.
2622 * archive_tar_file.cc (archive_tar_file::get_mtime): Return time_t.
2623 (archive_tar_file::get_mode): New method returning mode from tar header.
2624 * compress_bz.cc (compress_bz::set_mtime_and_mode): Replace set_mtime.
2625 (compress_bz::get_mtime): Return time_t.
2626 (compress_bz::get_mode): New function.
2627 * compress_gz.cc: Ditto.
2628 * compress_lzma.cc: Ditto.
2629 * io_stream.cc (io_stream::mkpath_p): Take additional file mode.
2630 Call mkdir_p with additional file mode.
2631 * io_stream_cygfile.cc (CygFileProvider::mkdir_p): Take additional file
2633 (cygmkdir_p): Ditto. Call mkdir_p with additional file mode.
2634 (io_stream_cygfile::set_mtime_and_mode): Replace set_mtime. Call
2636 * io_stream_file.cc (FileProvider::mkdir_p): Take additional file mode.
2637 (io_stream_file::set_mtime_and_mode): Replace set_mtime.
2638 * mkdir.cc (init_ntfuncs): New function to initialize function pointers
2640 (mkdir_p): Take additional file mode. On NT, use NT functions to create
2641 directory. Call SetPosixPerms.
2642 * compress_bz.h: Change prototypes accordingly.
2643 * compress_gz.h: Ditto.
2644 * compress_lzma.h: Ditto.
2645 * io_stream.h: Ditto.
2646 * io_stream_cygfile.h: Ditto.
2647 * io_stream_file.h: Ditto.
2648 * io_stream_memory.h: Ditto.
2650 * mklink2.cc (mkcygsymlink_nt): Open file with STANDARD_RIGHTS_ALL
2651 access and FILE_FLAG_BACKUP_SEMANTICS flag. Call SetPosixPerms.
2652 * mount.cc (from_fstab): Open file with FILE_FLAG_BACKUP_SEMANTICS.
2653 * script.cc (OutputLog::OutputLog): Call io_stream::mkpath_p with 0755
2654 mode. Open file with FILE_FLAG_BACKUP_SEMANTICS.
2655 * win32.cc (SetPosixPerms): New function to set POSIX-like permissions.
2656 (nt_sec): New global NTSecurity variable.
2657 (NTSecurity::setDefaultDACL): Open token with TOKEN_ADJUST_PRIVILEGES.
2658 (NTSecurity::setDefaultSecurity): Enable SE_BACKUP_NAME and
2659 SE_RESTORE_NAME privileges if available.
2660 * win32.h (SetPosixPerms): Add prototype.
2661 (class NTSecurity): Make everyOneSID and administratorsSID public.
2664 2008-08-14 Corinna Vinschen <corinna@vinschen.de>
2666 * mount.cc (unconvert_slashes): New inline function.
2667 (skip_ws): New inline function.
2668 (find_ws): New inline function.
2669 (conv_fstab_spaces): New inline function.
2670 (from_fstab_line): New function to read single line from fstab file.
2671 (from_fstab): New function to read /etc/fstab file and fill mount
2673 (read_mounts_nt): Call from_fstab after getting setup/rootdir from
2674 registry. Only call add_usr_mnts if no fstab file found.
2676 2008-08-13 Corinna Vinschen <corinna@vinschen.de>
2678 * install.cc (Installer::installOne): Skip 46 bytes type tar package
2681 2008-08-13 Corinna Vinschen <corinna@vinschen.de>
2683 * install.cc (Installer::installOne): Use MoveFileExW on NT. Special
2684 case for bug in Windows 2000.
2685 * package_meta.cc (packagemeta::uninstall): Use wide char file functions
2687 * win32.h (VersionInfo::major): New method.
2688 (VersionInfo::minor): New method.
2689 (OSMajorVersion): Define.
2690 (OSMinorVersion): Define.
2692 2008-08-12 Corinna Vinschen <corinna@vinschen.de>
2694 Revamp for Cygwin 1.7.
2695 * desktop.cc (make_cygwin_bat): Use wide char file functions on NT.
2697 * filemanip.cc (tfx_chars): New char table for wide char transformation
2698 of reserved FS chars to UNICODE private use area.
2699 (transform_chars): New static function.
2700 (mklongpath): New function to convert multibyte path to wide char
2701 path with long path prefix.
2702 * filemanip.h (mklongpath): Declare.
2703 * ini.h (SETUP_INI_FILENAME): Use setup.ini filenames as defined in
2704 real life (setup-2.ini/setup.ini).
2705 (SETUP_BZ2_FILENAME): Ditto.
2706 * install.cc (do_install_thread): Don't create registry mount points
2707 on NT, rather create setup/rootdir entry.
2708 * io_stream_cygfile.cc: Throughout use wide char file functions on NT.
2709 (io_stream_cygfile::w_str): New method to create wide char path.
2710 * io_stream_cygfile.h (class io_stream_cygfile): Remove lmode member.
2711 Add wname member and w_str method.
2712 * io_stream_file.cc: Throughout use wide char file functions on NT.
2713 (io_stream_file::w_str): New method to create wide char path.
2714 * io_stream_file.h (class io_stream_file): Remove lmode member.
2715 Add wname member and w_str method.
2716 * mkdir.cc (mkdir_p): Use wide char file functions on NT.
2717 * mklink2.cc (mkcygsymlink_9x): Rename from mkcygsymlink. Make static.
2718 (mkcygsymlink_nt): New static function.
2719 (mkcygsymlink): Just call mkcygsymlink_9x or mkcygsymlink_nt dependent
2721 * mount.cc (CYGWIN_INFO_CYGWIN_SETUP_REGISTRY_NAME): Define.
2722 (remove1): Move to earlier point in file to avoid declaration.
2723 (remove_mount): Ditto. Make static.
2724 (create_install_root): New function to create setup/rootdir registry
2726 (read_mounts_9x): Rename from read_mounts. Make static. Conditionalize
2728 (add_usr_mnts): New static function.
2729 (read_mounts_nt): Ditto, to read mounts on NT.
2730 (read_mounts): Just call read_mounts_nt or read_mounts_9x dependent on
2732 (set_root_dir): On NT, call read_mounts.
2733 (cygpath): Only add slash for non-root mount to avoid multiple slashes
2734 in resulting path (invalid in long path names).
2735 * mount.h (find_mount): Drop declaration.
2736 (remove_mount): Ditto.
2737 (create_install_root): Add declaration.
2738 (read_mounts): Accommodate new parameter.
2739 * package_db.cc (chosen_db_task): New global variable.
2740 * package_db.h (chosen_db_task): Declare.
2741 * root.cc (check_if_enable_next): Don't use get_root_dir here to
2742 avoid having to call save_dialog in RootPage::OnMessageCmd.
2743 (GetDlgItemRect): New static inline function.
2744 (SetDlgItemRect): Ditto.
2745 (load_dialog): On NT, stretch "Install For" block to full dialog width
2746 and hide "Default Text File Type" block.
2747 (save_dialog): On NT set root_text always to IDC_ROOT_BINARY.
2748 (RootPage::OnMessageCmd): Remove call to save_dialog.
2749 (RootPage::OnNext): Initialize packagedb here the first time, to
2750 avoid fetching wrong data from different previous installation.
2751 * source.cc (save_dialog): Don't initialize packagedb here, rather
2752 just memorize setting in chosen_db_task for the deferred initialization
2753 in RootPage::OnNext.
2755 2008-08-07 Dave Korn <dave.korn.cygwin@gmail.com>
2757 Implement command-line selection of packages to install and make
2758 unattended mode deal with any dialogs that might arise. A joint
2759 effort synthesized from contributions by:
2761 Dr. Frank Lee <rl201@cam.ac.uk>
2762 Bryan Thrall <bryan.thrall@flightsafety.com>
2763 Kohsuke Kawaguchi <kk@kohsuke.org>
2764 Dave Korn <dave.korn.cygwin@gmail.com>
2766 * install.cc (rebootneeded): Don't define statically here.
2767 (do_install_thread): Let exit_msg reflect rebootneeded.
2768 * main.cc (main): If rebootneeded, log it when exiting.
2769 * msg.cc (mbox): In unattended_mode, choose and log default answer.
2770 * package_db.cc (packagedb::fillMissingCategory): Iterate over all
2771 packages adding those selected by packagemeta::isManuallyWanted to
2772 base category so that command-line selections are installed.
2773 * package_meta.cc (PackageOption): Add new StringOption to allow
2774 command-line selection of packages to add to base install.
2775 (packagemeta::isManuallyWanted): New function tests if package was
2776 selected on command-line.
2777 (packagemeta::addToCategoryBase): New function adds package to
2779 * state.cc (rebootneeded): Define here non-static.
2780 * state.h (rebootneeded): Declare here with extern linkage.
2781 * threebar.cc (ThreeBarProgressPage::MaximizeDialog): Don't change
2782 size when running in unattended mode.
2784 2008-08-05 Christopher Faylor <me+cygwin@cgf.cx>
2786 * UserSettings.cc (UserSettings::settingFileForLoad): Look locally for
2787 settings before looking outside of current directory.
2788 * choose.cc (ChooserPage::ChooserPage): Record the property sheet's
2789 current show state via new passed in parameter.
2790 * choose.h (ChooserPage::ChooserPage): Reflect change in argument list.
2791 (ChooserPage::nCmdShow): Define new element.
2792 * main.cc (main): Send current show state to Chooser.
2793 * package_version.cc (packageversion::set_requirements): Increase
2794 recursion check from 5 to 30.
2795 * propsheet.cc (PropSheetWndProc): Register hwndDlg with
2796 ThreeBarProgressPage.
2797 * threebar.cc (ControlAdjuster::ControlInfo): Initialize cmd_show_set.
2798 (ThreeBarProgressPage::MaximizeDialog): New function.
2799 (ThreeBarProgressPage::OnMessageApp): Call MaximizeDialog to maximize
2800 package selection screen and restore when done.
2801 * threebar.h (ThreeBarProgressPage::MaximizeDialog): Declare function.
2802 (ThreeBarProgressPage::cmd_show_set): Declare variable.
2803 (ThreeBarProgressPage::cmd_show): Declare variable.
2804 (ThreeBarProgressPage::ins_dialog): Declare variable.
2805 (ThreeBarProgressPage::SetHwndDialog): Define function.
2807 2008-07-22 Charles Wilson <cygwin@cwilson.fastmail.fm>
2809 Add support for .tar.lzma files (decompress only).
2811 * Makefile.am: Add new files.
2812 * compress.cc (compress::decompress): add support
2814 * compress_lzma.h: new file.
2815 * compress_lzma.cc: new file.
2816 * filemanip.cc (find_tar_ext): add support for
2818 * install.cc (Installer::installOne): update comments.
2819 * lzma-sdk/LzmaDec.h: new file.
2820 * lzma-sdk/LzmaDec.c: new file.
2821 * lzma-sdk/Types.h: new file.
2823 2008-07-08 Charles Wilson <cygwin@cwilson.fastmail.fm>
2825 * compress.cc (compress::decompress): clean up concrete
2826 decompressor objects on failure -- but in that case, do
2827 NOT destroy original io_stream.
2828 * compress_bz.h (compress_bz::release_original): new method.
2829 (owns_original): new member variable.
2830 * compress_bz.cc (compress_bz::release_original): new method.
2831 (compress_bz::compress_bz): take ownership of parent by default.
2832 (compress_bz::~compress_bz): only delete original if
2833 owns_original is true.
2834 * compress_gz.h (compress_gz::release_original): new method.
2835 (owns_original): new member variable.
2836 * compress_gz.cc (compress_gz::release_original): new method.
2837 (compress_gz::construct): take ownership of parent by default.
2838 (compress_gz::~compress_gz): only delete original if
2839 owns_original is true.
2841 2008-06-25 Dave Korn <dave.korn.cygwin@gmail.com>
2843 * configure.in, gpg-error-config-fake: Revert previous removal.
2845 2008-06-25 Dave Korn <dave.korn.cygwin@gmail.com>
2847 * net.cc: Correct stray CRLF.
2849 2008-06-25 Dave Korn <dave.korn.cygwin@gmail.com>
2851 * configure.in (ac_cv_path_GPG_ERROR_CONFIG): Remove nasty hack.
2852 * gpg-error-config-fake: Delete file obsoleted by de-hackification.
2854 2008-06-24 Christopher Faylor <me+cygwin@cgf.cx>
2856 * configure.in: Disable shared library builds.
2858 2008-06-24 Christopher Faylor <me+cygwin@cgf.cx>
2860 * Makefile.am: Make and install libraries into common location and use
2862 * configure.in: Find gpg-error-config in the libgpg-error/src
2863 subdirectory rather than using the host system's version. Set the
2864 prefix and exec_prefix to a common location for the subdirs so that
2865 useful files will be installed in a common location.
2867 2008-06-22 Dave Korn <dave.korn.cygwin@gmail.com>
2869 Merged across diffs between setup_crypto_branch_branchpoint and
2870 setup_crypto_branch_mergepoint2 from setup_crypto_branch.
2872 * crypto.cc, crypto.h, gpg-packet.cc, gpg-packet.h, KeysSetting.cc,
2873 KeysSetting.h, gpg-error-config-fake, cygwin.pub, cyg-pubkey.h,
2874 gpg-key-to-s-expr.sh: New files.
2875 * ini.cc, ini.h, resource.h, res.rc, netio.cc, Makefile.am,
2876 configure.ac, libgetopt++/src/OptionSet.cc: Modified files.
2878 2008-06-21 Dave Korn <dave.korn.cygwin@gmail.com>
2880 * ini.cc (do_remote_ini): Revert misbegotten removal of
2881 not-always-superfluous-after-all added slash in URLs.
2883 2008-06-18 Dave Korn <dave.korn.cygwin@gmail.com>
2885 * gpg-packet.h (GPG_KEY_SEXPR_BUF_SIZE): Move from here ...
2886 * crypto.h (GPG_KEY_SEXPR_BUF_SIZE): ... to here.
2887 (GPG_KEY_MAX_COEFF_SIZE): Add related definition.
2889 2008-06-18 Dave Korn <dave.korn.cygwin@gmail.com>
2891 * gpg-packet.cc (walk_packets_1): Check packet length field is
2892 valid sane and possible to avoid malicious manipulation.
2893 * ChangeLog: Corrected date on previous commit.
2895 2008-06-18 Dave Korn <dave.korn.cygwin@gmail.com>
2897 * crypto.cc (add_key_from_sexpr): Use real buffer size, not debug
2900 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2902 * crypto.cc (verify_ini_file_sig): Actually set init-once flag!
2904 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2906 * crypto.cc (KeepUntrustedKeysOption): Fix helpstring punctuation.
2908 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2910 * crypto.cc (verify_ini_file_sig): Fix two minor logic errors.
2912 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2914 * ini.h (current_ini_sig_name): Declare extern.
2915 * ini.cc (current_ini_sig_name): New variable.
2916 (NoVerifyOption): New boolean option.
2917 (do_remote_ini): If sig verification not disabled, attempt to
2918 download the matching sig file for any setup.bz2 or setup.ini
2919 and use it to verify or discard the download.
2921 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2923 * resource.h (IDS_SIG_INVALID, IDS_CRYPTO_ERROR): Reserve IDs for
2924 two new message strings.
2925 * res.rc (IDS_SIG_INVALID, IDS_CRYPTO_ERROR): Define the text.
2927 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2929 * Makefile.am (setup_SOURCES): Add new files crypto.cc, crypto.h,
2930 cyg-pubkey.h, gpg-packet.cc, gpg-packet.h. KeysSetting.cc and
2931 KeysSetting.h to the build.
2932 * crypto.cc, crypto.h, gpg-packet.cc, gpg-packet.h, KeysSetting.cc,
2933 KeysSetting.h: New files. Adds gpg sig verification support.
2935 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2937 * Makefile.am (DIST_SUBDIRS, SUBDIRS): Add libgpg-error and
2939 (AM_CPPFLAGS): Add -I paths to generated headers in both and to
2940 shipped headers in libgcrypt.
2941 (setup_LDADD): Add libgpg-error.a and libgcrypt.a to final link.
2943 * configure.in (ac_cv_path_GPG_ERROR_CONFIG): Preload into cache
2944 to fake out libgcrypt configure process.
2945 (AC_CONFIG_SUBDIRS): Add libgpg-error/ and libgcrypt/
2947 * gpg-error-config-fake: New shell script to redirect libgcrypt
2948 sub-configure into looking for newly-built libgpg-error.
2950 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2952 * setup/libgpg-error/: Fresh import of upstream sources of
2953 libgpg-error-1.6.tar.bz2 from http://www.gnupg.org/
2954 * setup/libgcrypt/: Fresh import of upstream sources of
2955 libgcrypt-1.4.1.tar.bz2 from http://www.gnupg.org/
2957 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2959 * netio.cc (NetIO::set_url): Avoid double-free bug on delete
2960 by setting path to a strdup of url rather than using the same
2961 pointer value twice.
2963 2008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
2965 * cygwin.pub: Add reference copy of Cygwin setup signing key.
2966 * gpg-key-to-s-expr.sh: New bash script. Outputs textual
2967 representation of public key in s-expr format.
2968 * cyg-pubkey.h: New header generated by the above from Cygwin
2969 setup signing key. Currently needs manual regeneration if key
2972 2008-04-16 Brian Dessent <brian@dessent.net>
2974 * mount.cc: Include malloc.h.
2975 (is_admin): Use alloca instead of a VLA in case
2976 GetTokenInformation is sensitive to alignment.
2978 2008-04-15 Brian Dessent <brian@dessent.net>
2980 * mount.cc (is_admin): Get explicit size of required buffer by
2981 calling GetTokenInformation first with NULL.
2983 2008-04-10 Brian Dessent <brian@dessent.net>
2985 * Makefile.am (setup_LDFLAGS): Make sure static libbz2 and zlib
2988 2008-04-09 Brian Dessent <brian@dessent.net>
2990 * README: flex and bison are required when building from CVS.
2992 2008-04-08 Brian Dessent <brian@dessent.net>
2994 * Makefile.am (snapshot): Provide default value of ${cygwinsite}
2997 2008-04-08 Brian Dessent <brian@dessent.net>
2999 * Makefile.am (release): Use -f so that "make release" works
3000 when existing binaries of the same name exist.
3002 2008-04-08 Brian Dessent <brian@dessent.net>
3004 * res.rc (IDD_SPLASH): Update copyright years on splash page.
3006 2008-04-08 Brian Dessent <brian@dessent.net>
3009 * install.cc (Installer::installOne): Cope with compressed
3010 0-byte dummy packages. Fix progress bar update bug introduced
3011 in earlier refactoring.
3013 2008-04-08 Brian Dessent <brian@dessent.net>
3017 2008-04-08 Brian Dessent <brian@dessent.net>
3019 Various warning/header cleanups necessary for clean gcc 4.3 build.
3020 * ConnectionSetting.cc: Include stdlib.h.
3021 * LogFile.cc: Ditto.
3022 * Makefile.am: Don't hardcode paths to MinGW libz and libbz2.
3023 * PickView.cc: Include limits.h.
3024 * String++.cc: Include string.h.
3025 * archive_tar.cc (archive_tar::next_file_name): Silence nested-if
3027 * autoload.c: Switch back to .text section before emiting
3029 * choose.cc: Include stdlib.h and algorithm.
3030 * compress_gz.cc: Include memory.h and malloc.h.
3031 * filemanip.cc: Include string.h.
3032 (parse_filename): Silence nested-if warning.
3033 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Silence warning.
3034 * package_db.cc: Include algorithm.
3035 * site.cc (get_site_list): Silence warning.
3036 * win32.cc: Include memory.
3037 * csu_util/MD5Sum.cc: Include string.h.
3039 2008-03-02 Dave Korn <dave.korn@artimi.com>
3041 * install.cc (Installer::installOne): Accept new HWND argument
3042 from caller and pass it to MessageBox calls so that MB_TASKMODAL
3044 (check_for_old_cygwin): Likewise.
3045 (do_install_thread): Pass owner's HWND (from thread context) when
3048 2008-02-23 Dave Korn <dave.korn@artimi.com>
3050 * cygpackage.cc (cygpackage::getfirstfile): Guard against trying to
3051 construct std::string from NULL returned by io_stream::gets when the
3052 stream decompressor fails on a corrupt *.lst.gz file.
3054 2008-02-21 Dave Korn <dave.korn@artimi.com>
3056 * geturl.cc (progress): Correct SI unit notation.
3058 2008-02-01 Vincent Privat <vincent.privat@gmail.com>
3060 * net.cc (OnInit): New StringOption (ProxyOption)
3061 This new option (-p) allows to call setup.exe with a proxy
3062 in its command-line arguments.
3064 2007-07-31 Brian Dessent <brian@dessent.net>
3066 * ini.cc (do_remote_ini): Fix crash due to double free of ini_file.
3068 2007-07-30 Brian Dessent <brian@dessent.net>
3071 * configure.in (AM_INIT_AUTOMAKE): Enable more automake warnings.
3072 * Makefile.am (INCLUDES): Use AM_CPPFLAGS instead.
3073 (CLEANFILES): Add. Minor portability tweaks.
3074 * tests/Makefile.am (INCLUDES): Use AM_CPPFLAGS instead.
3075 * archive.cc (archive::extract): Try to be more compatible when
3077 * compress_bz.cc: Fix whitespace throughout.
3078 (compress_bz::~compress_bz): Ensure that underlying io_stream's dtor is
3080 * install.cc (Installer::installOne): Refactor.
3081 * package_db.cc (ConnectedLoopFinder::doIt): Move some log spewage into
3082 setup.log.full from setup.log.
3083 (packagedb::connectedBegin): Ditto. Consolidate log output to one line.
3085 2007-07-02 Brian Dessent <brian@dessent.net>
3089 2007-06-26 Brian Dessent <brian@dessent.net>
3091 * Makefile.am (release): Drop inconsistent use of $(EXEEXT). Leave an
3092 untouched copy of setup.exe so that later make invocations don't
3093 unnecessarily rebuild it.
3094 (snapshot): Fix typo.
3095 * install.cc (md5_one): Don't try to check packages whose
3096 pkgsource.Cached () is NULL, as with those whose download failed.
3098 2007-06-26 Brian Dessent <brian@dessent.net>
3100 * CHANGES: Update to reflect release branch.
3102 2007-06-26 Brian Dessent <brian@dessent.net>
3104 * CHANGES: Make current.
3106 2007-05-30 Brian Dessent <brian@dessent.net>
3108 * find.h (class Find): Make _start_dir non-const.
3109 * find.cc (Find::Find): Append a trailing slash to _start_dir only if
3110 it does not already contain one.
3111 (Find::accept): Use the previously stored value of _start_dir rather
3112 than unconditionally appending a slash.
3114 2007-05-29 Brian Dessent <brian@dessent.net>
3116 * Makefile.am: No need to specify the default value of --preprocessor
3117 to windres. Rework the automatic version extraction rules so that the
3118 source tarball is generated with the proper name and directory instead
3119 of setup-0. Update snapshot rule to also upload a copy of the binary
3120 with debugging symbols still present.
3122 2007-05-29 Brian Dessent <brian@dessent.net>
3124 This is a general tidying up/modernization of the build infrastructure.
3125 Renaming the lexer and parser to .ll and .yy allows using automake's
3126 builtin support for flex and bison with C++ sources, and libinilex is a
3127 slightly cleaner way of omitting -Werror.
3129 * Makefile.am (AUTOMAKE_OPTIONS): Move to AM_INIT_AUTOMAKE.
3130 (AM_YFLAGS): Define.
3131 (AM_LFLAGS): Define.
3132 (INCLUDES): Remove redundant mingw directory.
3133 (EXTRA_DIST): Adjust for newly named lexer/parser.
3134 (BUILT_SOURCES): Ditto.
3135 (inilint_LDADD): Ditto.
3136 (inilint_SOURCES): Ditto.
3137 (setup_LDADD): Ditto.
3138 (setup_SOURCES): Ditto.
3139 (iniparse.cc): Remove custom rules.
3141 * configure.in: Update quoting and use modern form of AC_INIT and
3143 * inilex.l: Rename from this ...
3144 * inilex.ll: ... to this.
3145 * iniparse.y: Rename from this ...
3146 * iniparse.yy: ... to this.
3148 2007-05-29 Brian Dessent <brian@dessent.net>
3150 * IniParseFindVisitor.cc (IniParseFindVisitor::IniParseFindVisitor):
3151 Remove error_buf and error_count initializers.
3152 (IniParseFindVisitor::visitFile): Store filename in current_ini_name.
3153 Use yyerror_count and yyerror_messages in place of removed error_count
3154 and error_buf members.
3155 * IniParseFindVisitor.h (class IniParseFindVisitor): Remove error_buf
3156 and error_count members.
3157 * ini.cc: Include io_stream_memory.h. Remove file static variables
3158 error_buf, error_count, and ini_filename.
3159 (GuiParseFeedback::progress): Remove some verbose log spam.
3160 (do_remote_ini): Recode .ini-fetching logic to properly display parse
3161 errors, and to account for corrupt bzip2 files.
3162 (yyerror): Moved elsewhere.
3163 (fprintf): Delete unused function.
3164 * ini.h: Remove useless __cplusplus guard. Declare extern variables
3165 current_ini_name, yyerror_messages, and yyerror_count.
3166 * inilex.l: Add current_ini_name, yyerror_messages, and
3168 (ini_init): Initialize new variables.
3170 (yyerror): Reimplement using std::string and relocate from ini.cc.
3171 * io_stream.cc (io_stream::copy): Add clarifying comment.
3173 2007-05-04 Igor Peshansky <pechtcha@cs.nyu.edu>
3175 * resource.h (IDC_STATIC_HEADER): New control id.
3176 * res.rc (IDD_SPLASH): Adjust the copyright.
3177 (IDD_DESKTOP): Make header text accessible as a separate control.
3178 * desktop.cc (set_status): Use eset() instead of SetWindowText().
3179 (load_dialog): Disable checkboxes and change dialog text in
3181 (DesktopSetupPage::OnInit): Disable checkboxes in download-only
3183 * threebar.cc (ThreeBarProgressPage::OnMessageApp): Deprecate the
3184 default fallthrough.
3185 * download.cc (do_download_thread): Explicitly return the next
3188 2007-04-19 Max Bowsher <maxb1@ukf.net>
3190 * configure.in: Turn inilint default build off again, since I cannot
3193 2007-04-19 Max Bowsher <maxb1@ukf.net>
3195 * configure.in: Make inilint built by default.
3197 2007-04-19 Max Bowsher <maxb1@ukf.net>
3199 * inilintmain.cc: Fix multiple compile errors.
3201 2007-04-19 Max Bowsher <maxb1@ukf.net>
3203 * Makefile.am: Make inilint use same warnonly-inilex workaround that
3206 2007-03-29 Igor Peshansky <pechtcha@cs.nyu.edu>
3208 * LogFile.cc (LogFile::exit): Write exit_msg directly to log, without
3210 * resource.h (IDC_DESKTOP_SEPARATOR,IDC_STATUS_HEADER,IDC_STATUS): New
3212 * res.rc (IDD_DESKTOP): Change the caption. Add status information.
3213 * desktop.h (DesktopSetupPage::DesktopSetupPage): Define constructor
3214 in the implementation.
3215 * desktop.cc (DesktopControlsInfo): Position specifiers for status
3217 (DesktopSetupPage::DesktopSetupPage): Register position specifiers.
3218 (set_status): New static method.
3219 (load_dialog): Set status information, if available.
3220 (DesktopSetupPage::OnInit): Set status header font.
3222 2007-03-01 Brian Dessent <brian@dessent.net>
3224 * ini.h (SETUP_INI_FILENAME): Rename setup_9x.ini to setup_legacy.ini.
3225 (SETUP_BZ2_FILENAME): Likewise.
3227 2007-02-27 Brian Dessent <brian@dessent.net>
3229 * ini.h (SETUP_INI_FILENAME): Add define.
3230 (SETUP_BZ2_FILENAME): Add define.
3231 * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Use
3232 above macros to parameterize setup.ini filename.
3233 * fromcwd.cc (SetupFindVisitor::visitFile): Ditto.
3234 * ini.cc (do_remote_ini): Ditto.
3235 * Makefile.am (setup_SOURCES): Add win32.cc.
3236 * autoload.c: Include windows.h directly instead of win32.h so that
3237 win32.h can contain C++.
3238 * desktop.cc (verinfo): Delete.
3239 (make_link): Use IsWindowsNT to check for NT instead of verinfo.
3240 (DesktopSetupPage::OnInit): Likewise.
3241 * mount.cc (is_admin): Likewise.
3242 * script.cc (init_run_script): Likewise.
3243 * main.cc (class SIDWrapper, SIDWrapper::SIDWrapper,
3244 SIDWrapper::~SIDWrapper, SIDWrapper::theSID, class HANDLEWrapper,
3245 HANDLEWrapper::HANDLEWrapper, HANDLEWrapper::~HANDLEWrapper,
3246 HANDLEWrapper::theHANDLE, class TokenGroupCollection,
3247 TokenGroupCollection::TokenGroupCollection,
3248 TokenGroupCollection::~TokenGroupCollection,
3249 TokenGroupCollection::populate, TokenGroupCollection::find,
3250 class NTSecurity, set_default_sec, NTSecurity::NoteFailedAPI,
3251 NTSecurity::NTSecurity, NTSecurity::failed,
3252 NTSecurity::initialiseEveryOneSID, NTSecurity::setDefaultDACL,
3253 NTSecurity::setDefaultSecurity): Remove implementation of these
3254 classes from this file and into new file win32.cc and existing win32.h.
3255 (main): Fix whitespace and formatting per GNU coding standards.
3256 * res.rc (IDS_SETUPINI_MISSING): Parameterize filename with %s.
3257 * win32.cc: New file containing methods removed from main.cc as well
3258 as new class VersionInfo methods.
3259 * win32.h: Include <string> for std::string.
3260 (class SIDWrapper, class HANDLEWrapper, class TokenGroupCollection,
3261 class NTSecurity): Add classes removed from main.cc.
3262 (class VersionInfo): Add new class.
3264 (IsWindowsNT): Define.
3266 2007-02-20 Brian Dessent <brian@dessent.net>
3268 * README: Modernize list of required packages, and mention doconfigure.
3270 2007-02-17 Cesar Strauss <cstrauss@cea.inpe.br>
3272 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource):
3273 Initialize the version and operator fields of the newly created
3274 PackageSpecification object, so setup can pick the correct source
3277 2007-02-17 Brian Dessent <brian@dessent.net>
3279 * script.cc (Script::run): Check for existance of script file and
3280 return without doing anything if it does not exist.
3282 2006-12-26 Max Bowsher <maxb1@ukf.net>
3284 * IniDBBuilder.h (IniDBBuilder): Make this class abstract.
3285 * IniDBBuilder.cc: Delete file.
3286 * Makefile.am (inilint_SOURCES, setup_SOURCES): Remove IniDBBuilder.cc.
3288 2006-12-26 Max Bowsher <maxb1@ukf.net>
3290 Add a shell script that documents/centralizes the standard configure
3293 * doconfigure: New file.
3294 * Makefile.am (EXTRA_DIST): Add doconfigure.
3296 2006-11-28 Igor Peshansky <pechtcha@cs.nyu.edu>
3298 * install.cc (Installer::installOne): If file is in use, ask the user
3299 to stop processes and retry.
3300 (MB_RETRYCONTINUE, IDCONTINUE): New macros.
3301 (hMsgBoxHook): New static field.
3302 (CBTProc): New window hook function.
3303 (_custom_MessageBox): New function.
3304 * CHANGES: Update with the above.
3306 2006-10-12 Igor Peshansky <pechtcha@cs.nyu.edu>
3308 * desktop.cc (make_cygwin_bat,save_icon): Capitalize filename.
3310 2006-08-06 Igor Peshansky <pechtcha@cs.nyu.edu>
3312 * package_version.cc (packageversion::scan): Catch and handle
3313 validation exception.
3315 2006-08-06 Igor Peshansky <pechtcha@cs.nyu.edu>
3317 * cygpackage.h (filesize): Remove unused field.
3318 (cygpackage::createInstance): Ditto.
3319 * cygpackage.cc (cygpackage::createInstance): Ditto.
3320 * package_db.cc (packagedb::packagedb): Remove unused variables.
3321 Simplify parsing of installed.db.
3323 2006-08-06 Igor Peshansky <pechtcha@cs.nyu.edu>
3325 * desktop.cc (DesktopSetupPage::OnInit): Remove stray MessageBox.
3327 2006-05-24 Igor Peshansky <pechtcha@cs.nyu.edu>
3329 * PickPackageLine.h (PickPackageLine::DrawIcon): Move to PickView.
3330 * PickView.h (PickView::DrawIcon): Move from PickPackageLine.
3331 (PickView::icon_dc,PickView::bm_icon): New instance field.
3332 (PickView::rect_icon,PickView::bg_fg_brush): Ditto.
3333 * PickCategoryLine.cc (PickCategoryLine::paint): Use
3334 PickView::DrawIcon() instead of BitBlt().
3335 * PickPackageLine.cc (PickPackageLine::DrawIcon): Move to PickView.
3336 (PickPackageLine::paint): Use PickView::DrawIcon().
3337 * PickView.cc (PickView::~PickView): Delete GDI objects.
3338 (PickView::init): Create icon drawing context.
3339 (PickView::DrawIcon): New function. Use system default colors to
3341 (PickView::paint): Set background color instead of using transparent
3342 mode. Create system-colored brush.
3344 2006-04-25 Brian Dessent <brian@dessent.net>
3346 * COPYING: New file (GPL).
3347 * Makfile.am (EXTRA_DIST): Add COPYING.
3349 2006-04-17 Max Bowsher <maxb1@ukf.net>
3351 * String++.cc, String++.h: Finally, it's time for the long-awaited
3352 departure of 'class String' from this world. setup.exe can now
3353 happily claim to follow the sane path of using just one general
3354 purpose string class throughout :-)
3356 2006-04-17 Max Bowsher <maxb1@ukf.net>
3358 * cygpackage.cc, cygpackage.h, package_version.cc, package_version.h:
3359 Do some String to std::string migration.
3361 2006-04-17 Max Bowsher <maxb1@ukf.net>
3363 * package_meta.cc, package_meta.h, package_source.cc,
3364 package_source.h: Do some String to std::string migration.
3365 * package_db.cc: Small tweak to assist with the above.
3367 2006-04-17 Max Bowsher <maxb1@ukf.net>
3369 * PickView.cc, PickView.h, package_db.cc, package_db.h:
3370 Do some String to std::string migration.
3371 * package_meta.h: Change a couple of types to assist with the above.
3373 2006-04-17 Max Bowsher <maxb1@ukf.net>
3375 * IniDBBuilder.cc, IniDBBuilder.h, IniDBBuilderPackage.cc,
3376 IniDBBuilderPackage.h, PickLine.h, PickPackageLine.cc:
3377 Do some String to std::string migration.
3379 2006-04-16 Max Bowsher <maxb1@ukf.net>
3381 * FindVisitor.cc, FindVisitor.h, IniParseFindVisitor.cc,
3382 IniParseFindVisitor.h, ScanFindVisitor.cc, ScanFindVisitor.h, find.cc,
3383 find.h, fromcwd.cc, ini.cc, ini.h, iniparse.y, postinstall.cc:
3384 Do some String to std::string migration.
3386 2006-04-16 Max Bowsher <maxb1@ukf.net>
3388 * IOStreamProvider.h, archive.cc, archive.h, archive_tar.cc,
3389 archive_tar.h, io_stream.cc, io_stream.h, io_stream_cygfile.cc,
3390 io_stream_cygfile.h, io_stream_file.cc, io_stream_file.h:
3391 Do some String to std::string migration.
3393 2006-04-16 Max Bowsher <maxb1@ukf.net>
3395 * desktop.cc, download.cc, install.cc, mount.cc, mount.h, script.cc,
3396 script.h: Do some String to std::string migration.
3398 2006-04-16 Max Bowsher <maxb1@ukf.net>
3400 * category.cc: Remove source file that contained no code!
3401 * category.h: Delete, moving the single useful line to...
3402 * package_meta.h: ...here. Remove category.h include.
3403 * choose.cc, package_db.h, package_meta.cc: Remove category.h include.
3404 * Makefile.am: Remove references to removed files.
3406 2006-04-15 Max Bowsher <maxb1@ukf.net>
3408 * ConnectionSetting.cc, ConnectionSetting.h, Exception.cc,
3409 Exception.h, IniParseFeedback.cc, IniParseFeedback.h, LogFile.cc,
3410 LogFile.h, LogSingleton.h, PackageSpecification.cc,
3411 PackageSpecification.h, SourceSetting.cc, SourceSetting.h,
3412 UserSettings.cc, UserSettings.h, dialog.cc, dialog.h, diskfull.cc,
3413 diskfull.h, filemanip.cc, filemanip.h, inilintmain.cc, localdir.cc,
3414 main.cc, nio-file.cc, nio-http.cc, prereq.cc, prereq.h, proppage.cc,
3415 proppage.h, site.cc, site.h, splash.cc, state.cc, state.h, window.cc,
3416 window.h: Do some String to std::string migration.
3418 2006-04-15 Max Bowsher <maxb1@ukf.net>
3420 * String++.cc, String++.h
3421 (new_cstr_char_array, format_1000s): Migrate String to std::string.
3422 (casecompare_lt_op, std::string operator+): New.
3424 2006-04-06 Max Bowsher <maxb1@ukf.net>
3426 * String++.h, String++.cc
3427 (String::replace): Remove - usused.
3428 (String::find): Remove - semantics do not match std::string.
3430 * root.cc (directory_is_rootdir): Switch to std::string.find().
3431 * script.cc (Script::baseName): Rewrite use of String.find().
3433 2006-03-30 Max Bowsher <maxb1@ukf.net>
3435 * String++.cc (replace): New function to take the place of one form
3436 of String::replace method.
3437 * String++.h (replace): Declare.
3438 (String::replace): Make private.
3440 * desktop.cc (make_cygwin_bat): Use new function.
3441 * filemanip.cc (backslash): Use simple loop in place of
3443 * filemanip.h (backslash): Change signature to use std::string in
3446 2006-03-30 Max Bowsher <maxb1@ukf.net>
3448 * String++.cc, String++.h (casecompare): New function replacing
3449 String.casecompare to increase parity with std::string.
3450 (String::casecompare): Make private.
3452 * ConnectionSetting.cc, IniDBBuilderPackage.cc,
3453 IniParseFindVisitor.cc, LogFile.cc, PackageSpecification.cc,
3454 PickView.cc, SourceSetting.cc, String++.cc, String++.h, fromcwd.cc,
3455 io_stream.cc, mount.cc, package_db.cc, package_source.h,
3456 package_version.cc, prereq.h, script.cc:
3457 Use casecompare in place of String::casecompare.
3459 2006-03-30 Max Bowsher <maxb1@ukf.net>
3461 * String++.cc, String++.h: Remove String(int) constructor, which
3462 was causing dangerously bizarre implicit conversions, and was a point
3463 of disparity between String and std::string.
3464 (stringify): New function to replace functionality removed above.
3466 * PickView.cc (PickView::init_headers),
3467 archive_tar.cc (archive_tar::next_file_name),
3468 cygpackage.cc (cygpackage::setCanonicalVersion):
3469 Make explicit and call out with a FIXME some bizarre behaviour.
3471 * ScanFindVisitor.cc (ScanFindVisitor::visitFile),
3472 filemanip.cc (base), iniparse.y,
3473 threebar.cc (ThreeBarProgressPage::SetBar2):
3474 Make simple adaptations to the changed API.
3476 2006-03-14 Igor Peshansky <pechtcha@cs.nyu.edu>
3478 * PickView.cc (PickView::setViewMode): Auto-expand category if
3479 its name starts with a dot.
3481 2006-03-14 Dave Korn <dave.korn@artimi.com>
3483 * String++.cc (new_cstr_char_array): Handle null input correctly.
3485 2006-03-10 Christopher Faylor <cgf@timesys.com>
3487 * res.rc: Update copyright.
3488 (IDS_MIRROR_LST): Use cygwin.com for mirror list, not
3490 * site.cc (NOSAVE1): Use preferred name of sourceware site.
3491 (NOSAVE2): sourceware.cygnus.com -> sources.redhat.com.
3492 (NOSAVE1_LEN): Use just-defined name to determine length.
3493 (NOSAVE2_LEN): Ditto.
3494 (NOSAVE3_LEN): Ditto.
3496 2006-03-10 Bas van Gompel <patch-cygsup.buzz@bavag.tmfweb.nl>
3498 * res.rc (IDD_DROPPED): New dialog.
3499 * resource.h (IDD_DROPPED): New dialog-id.
3500 (IDC_DROP_MIRRORS, IDC_DROP_NOWARN): New control-ids.
3501 * site.cc: Add enum for response on dropped mirrors.
3502 (cache_is_usable, cache_needs_writing): New bools.
3503 (cache_warn_urls): New string.
3504 (cached_site-list, dropped_site_list): New SiteLists.
3505 (site_list_type::init, site_list_type::site_list_type): Change to four
3507 (site_list_type::site_list_type, site_list_type::operator=) Copy
3508 servername, area and location.
3509 (load_site_list): New function, broken out of get_site_list. Support
3510 four-parameter site_list_type.
3511 (get_site_list): Break out load_site_list. Move reading cache earlier.
3512 Don't write new cache. Set flags to record cache state. Load both
3513 all_site_list and cached_site_list.
3514 (SiteSetting::registerSavedSite): Use four-parameter site_list_type.
3515 (drop_proc, check_dropped_mirrors, write_cache_list, save_cache_file):
3517 (SitePage::OnNext): Check for dropped mirrors and save cache as
3519 (SitePage::OnMessageCmd): Use four-parameter site_list_type.
3521 (site_list_type::init, site_list_type::site_list_type): Change to four
3523 (site_list_type): Add servername, area and location members.
3525 2006-03-09 Igor Peshansky <pechtcha@cs.nyu.edu>
3527 * script.cc (Script::run): Fix inverted test for abnormal exit.
3529 2006-03-09 Bas van Gompel <patch-cygsup.buzz@bavag.tmfweb.nl>
3530 Max Bowsher <maxb1@ukf.net>
3532 Provide indication of site that a file is being downloaded from.
3534 * geturl.cc: Use std::string instead of String throughout.
3535 (init_dialog): Put more information into GUI.
3536 Remove unused 'owner' parameter and change all callers.
3537 (progress): Remove spurious \n characters from GUI.
3538 * geturl.h: Use std::string instead of String throughout.
3539 * res.rc (IDD_INSTATUS): Use SS_ENDELLIPSIS.
3541 2006-03-09 Max Bowsher <maxb1@ukf.net>
3543 * Makefile.am (EXTRA_DIST): Add tree-minus.bmp and tree-plus.bmp.
3545 2006-01-20 Bryan Thrall <bryan.thrall@flightsafety.com>
3547 * source.cc (SourcePage::OnActivate): Command line takes precedence
3548 over last user selection.
3550 2005-11-30 Max Bowsher <maxb1@ukf.net>
3552 * res.rc (IDD_ROOT, IDD_LOCAL_DIR): Rearrange some controls a little,
3553 in response to suggestion from Carl Karsten.
3555 2005-11-30 Max Bowsher <maxb1@ukf.net>
3557 * site.h, site.cc: Use std::string in preference to String.
3558 (site_list_type::init): Convert some painful raw C string work to
3559 STL std::string work. Stop totally ignoring the result of this
3560 calculation, implementing the (somewhat weird) sort order for sites
3561 that was apparently indented for ages.
3563 2005-10-14 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3565 * io_stream.cc (url_scheme_not_registered): New macro.
3566 (io_stream::open): Better log message on error.
3567 (io_stream::mkpath_p,io_stream::remove,io_stream::mklink): Ditto.
3568 (io_stream::move,io_stream::exists): Ditto.
3570 2005-10-13 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3572 * site.cc (get_site_list): Default to empty mirror list if
3573 server unavailable and none cached, to allow using preferred
3576 2005-09-29 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3578 * package_db.cc (packagedb::packagedb): Remember missing package
3581 2005-09-29 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3583 * site.cc (get_site_list): Store mirror list locally.
3584 Use local copy if unable to download.
3586 2005-09-27 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3588 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile):
3589 Better log message on error.
3591 2005-09-27 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3593 * script.cc (Script::isAScript): Fix string comparison.
3595 2005-09-27 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3597 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Reconnect on FTP timeout.
3599 2005-09-11 Masayuki FUJII <boochang@m4.kcn.ne.jp>
3601 * package_meta.cc (packagemeta::ScanDownloadedFiles): Don't use an
3602 invalid iterator. Fix whitespace.
3604 2005-09-09 Brian Dessent <brian@dessent.net>
3606 * CHANGES: Document recent updates.
3607 * choose.cc (ChooserPage::OnInit): Add new tooltip.
3608 * res.rc (IDD_CHOOSE): Remove 'administrative' from description.
3609 (IDS_HIDEOBS_TOOLTIP): Add new string for tooltip.
3610 * resource.h (IDS_HIDEOBS_TOOLTIP): Define.
3611 * window.cc (Window::ActivateTooltips): Fix whitespace. Set tooltip
3612 delay to 30 seconds.
3614 2005-09-09 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3616 * PickView.cc (PickView::paint): Set background mode to transparent.
3617 * PickCategoryLine.cc (PickCategoryLine::paint): Use bitwise AND to
3619 * PickPackageLine.cc (PickPackageLine::paint): Ditto.
3621 2005-09-01 Brian Dessent <brian@dessent.net>
3623 * package_meta.cc (packagemeta::uninstall): Remove support for
3624 undocumented and dangerous postremove script.
3626 2005-09-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3628 * script.cc (run): Change to return the exit code or negative error.
3629 (Script::run): Ditto.
3630 (try_run_script): Receive both filename and extension and run only
3631 one script. Also return the exit code.
3632 * script.h (try_run_script): Change signature.
3633 (Script::run): Ditto.
3634 * postinstall.cc (RunScript::operator()): Change to return the exit
3635 code or negative error.
3636 * install.cc (Installer::preremoveOne): Pass extension to
3639 2005-09-01 Eric Blake <ebb9@byu.net>
3641 * script.cc (shells): Use /bin/bash, not sh, to allow upgrades to
3644 2005-09-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3646 * PickView.h (PickView::size_col): New instance variable.
3647 * PickView.cc (pkg_headers, cat_headers): Add size column.
3648 (PickView::set_headers): Initialize size_col.
3649 (PickView::init_headers): Include width of size column.
3650 * PickPackageLine.cc (PickPackageLine::paint): Handle size_col.
3651 * String++.cc (format_1000s): New function.
3652 * String++.h (format_1000s): Declare new function.
3654 2005-09-01 Brian Dessent <brian@dessent.net>
3656 * Makefile.am (BASECXXFLAGS): Add -Wno-uninitialized to work around
3657 spurious warnings with gcc 3.4.4.
3659 2005-05-22 Brian Dessent <brian@dessent.net>
3661 * res.rc (IDD_CHOOSE): Change description to include administrative
3662 packages in addition to obsolete.
3664 2005-05-21 Brian Dessent <brian@dessent.net>
3666 * prereq.cc: New file.
3668 * tree-minus.bmp: Ditto.
3669 * tree-plus.bmp: Ditto.
3670 * Makefile.am: Add prereq.cc and prereq.h to build.
3671 * PickCategoryLine.cc (PickCategoryLine::paint): Add new parameter and
3672 refactor. Use bitmap for '+' and '-' indicators. Draw package lines
3673 column-wise for better drawing efficiency.
3674 (PickCategoryLine::click): Use previously calculated x value.
3675 * PickCategoryLine.h (PickCategoryLine::paint): Update prototype. Add
3677 * PickLine.h (PickLine:paint): Update prototype.
3678 * PickPackageLine.cc (PickPackageLine::DrawCheck): Remove.
3679 (PickPackageLine::DrawIcon): New function.
3680 (PickPackageLine::paint): Add parameter. Refactor completely for more
3682 * PickPackageLine.h (PickPackageLine::DrawIcon): Add prototype.
3683 (PickPackageLine::paint): Update prototype.
3684 (PickPackageLine::DrawCheck): Remove.
3685 * PickView.cc (pkg_headers): Remove unused 'slen' field, add new
3686 'needs_clip' field to signify if clipping is necessary for this column.
3687 (PickView::note_width): Fold long line. Refactor slightly for
3689 (PickView::set_view_mode): Remove.
3690 (PickView::cycleViewMode): New function.
3691 (PickView::setViewMode): Refactor completely. Incorporate functionality
3692 of clear_view() here instead. Simplify package selection into a single
3693 'for' loop rather than repeating code for each type.
3694 (isObsolete): New function, with second overloaded version.
3695 (PickView::setObsolete): New function.
3696 (PickView::insert_pkg): Do not show obsolete packages. Move
3697 declaration of 'db' lower. Fix whitespace.
3698 (PickView::insert_category): Do not show obsolete packages.
3699 (PickView::clear_view): Remove. Moved logic into 'setViewMode'.
3700 (PickView::scroll): Add additional parameter 'howmany' with default
3701 value of 1. Scroll by 'howmany' lines for SB_LINEDOWN and SB_LINEUP.
3702 (NUM_CATEGORY_COL_WIDTH): Define.
3703 (PickView::init_headers): Fix whitespace. Add comments. Ignore
3704 obsolete packages in width calculations. Add functionality to size
3705 'Category' column so that at least NUM_CATEGORY_COL_WIDTH categories
3706 are displayed for every package. Ensure that 'new_col' takes into
3707 account all possible labels.
3708 (PickView::PickView): Initialize showObsolete to false.
3709 (PickView::init): Remove unused bitmap bm_rtarrow. Add new bitmaps
3710 bm_treeplus and bm_treeminus. Use a macro for better readability.
3711 Fix whitespace formatting. Remove header computation from here, call
3713 (PickView::registerWindowClass): Remove unnecessary background brush.
3714 (PickView::WindowProc): Add support for WM_MOUSEWHEEL message
3715 processing. Fix indentation. Reformat for readability.
3716 (PickView::paint): Get the update region before calling BeginPaint.
3717 Fill the update region with the default colors. Do not do clipping
3718 here. Pass update region to the PickLine paint function instead.
3719 Free the update region when finished.
3720 (PickView::Create): Fix indentation.
3721 (PickView::defaultTrust): Ditto.
3722 (PickView::refresh): Add column recalculation logic here.
3723 * PickView.h: Fix indentation.
3724 (RTARROW_WIDTH): Remove unused define.
3725 (NEW_COL_SIZE_SLOP): Ditto.
3726 (TREE_INDENT): Define.
3727 (PickView::get_view_mode): Remove.
3728 (PickView::set_view_mode): Rename to setViewMode for consistency.
3729 (PickView::cycleViewMode): Add new function.
3730 (PickView::setObsolete): Ditto.
3731 (PickView::clear_view): Remove.
3732 (PickView::bm_treeplus): Define new member.
3733 (PickView::bm_treeminus): Ditto.
3734 (PickView::scroll): Add parameter.
3735 (PickView::Header::slen): Remove unused member.
3736 (PickView::Header::needs_clip): Define new member.
3737 (PickView::showObsolete): Ditto.
3738 (isObsolete): Add prototype, and for overloaded version as well.
3739 * choose.cc: Add include.
3740 (ChooserControlsInfo): Allow new checkbox to be resized.
3741 (ChooserPage::OnInit): Start dialog with 'Hide obsolete' checked.
3742 (ChooserPage::OnNext): Call the dependency checker, act accordingly.
3743 (ChooserPage::changeTrust): Notify dependency checker of current trust
3744 level when it changes.
3745 (ChooserPage::OnMessageCmd): Just call cycleViewMode instead when
3746 changing the view. Update the chooser when the user toggles the
3747 'hide obsolete' checkbox.
3748 (ChooserPage::OnMouseWheel): New function. Pass mouse wheel message
3750 * choose.h (OnMouseWheel): Add prototype.
3751 * main.cc: Add include.
3752 (main): Define and initialize the PrereqPage object. Add it into
3753 the property sheet list.
3754 * PropPage.cc (PropertyPage::DialogProc): Add support for WM_MOUSEWHEEL
3755 message processing in derived classes.
3756 (PropertyPage::OnMouseWheel): New function.
3757 * PropPage.h (PropertyPage::OnMouseWheel): Add prototype.
3758 * res.rc (IDD_LOCAL_DIR): Shorten edit box so that pushbutton is not
3760 (IDD_SITE): Provide static text with an ID so that it can be resized
3761 properly. Move pushbutton slightly to right so that it doesn't crowd
3763 (IDD_SPLASH): Change copyright displayed on spash screen to be generic
3764 since the actual list of contributors is long.
3765 (IDD_CHOOSE): Add checkbox. Resize other controls to accomodate.
3766 (IDD_PREREQ): New dialog.
3767 (SPIN): Delete duplicated bitmap resource.
3768 (IDB_RTARROW): Remove unused bitmap resource.
3769 (IDB_TREE_PLUS): Add.
3770 (IDB_TREE_MINUS): Ditto.
3771 (IDS_TRUSTPREV_TOOLTIP): Revise wording to be more concise.
3772 (IDS_TRUSTCURR_TOOLTIP): Ditto.
3773 (IDS_TRUSTEXP_TOOLTIP): Ditto.
3774 (IDS_VIEWBUTTON_TOOLTIP): Ditto.
3775 * resource.h (IDD_PREREQ): Define.
3776 (IDB_RTARROW): Remove.
3777 (IDB_TREE_PLUS): Add, and renumber.
3778 (IDB_TREE_MINUS): Ditto.
3779 (IDC_SITE_USERURL): Define.
3780 (IDC_CHOOSE_HIDE): Ditto.
3781 (IDC_PREREQ_TEXT): Ditto.
3782 (IDC_PREREQ_EDIT): Ditto.
3783 (IDC_PREREQ_CHECK): Ditto.
3784 * site.cc (SiteControlsInfo): Ensure that 'User URL' static text is
3787 2005-05-14 Max Bowsher <maxb@ukf.net>
3789 "Type" field of packageversions was not even being filled in. Fix.
3791 * cygpackage.h, cygpackage.cc (cygpackage::createInstance):
3792 Make "type" a mandatory parameter of the constructor.
3793 * IniDBBuilderPackage.cc: Adjust callers.
3795 2005-05-14 Bas van Gompel <patch-cygsup.buzz@bavag.tmfweb.nl>
3797 Fix behaviour of hardlinks in source packages.
3799 * archive.cc (archive::extract_file):
3800 Use prefixPath for link target on hardlinks.
3802 2005-05-14 Max Bowsher <maxb@ukf.net>
3804 Hopefully, solve the "preremove DLL dependency" bug, by running all
3805 preremove scripts before actually removing any files.
3808 (Installer::preremoveOne): New method. Run preremove scripts here.
3809 (Installer::replaceOne): Remove method.
3810 (num_replacements): Remove variable.
3811 (do_install_thread): Significantly rewrite.
3812 * package_meta.cc (packagemeta::uninstall):
3813 Do not run preremove script here.
3815 2005-05-14 Max Bowsher <maxb@ukf.net>
3817 * download.cc (do_download_thread):
3818 Do not use packageversion::changeRequested().
3819 * package_version.cc (packageversion::Type):
3820 Implement declared but previously unimplemented method.
3821 (packageversion::changeRequested, _packageversion::changeRequested):
3824 (packageversion::changeRequested, _packageversion::changeRequested):
3826 * install.cc (Installer::replaceOne): Simplify, return void, not int.
3827 (installOneSource): Rename to...
3828 (installOne): ...this. Change arguments and return type. Refactor.
3829 (install_one): Remove.
3830 (do_install_thread): Tidying up.
3832 2005-05-07 Max Bowsher <maxb@ukf.net>
3834 * download.cc (validateCachedPackage): Remove all MD5 checking code.
3835 It is not acceptable to check MD5 sums as part of simply answering
3836 whether a package exists in the local cache or not. It is too slow.
3837 MD5 sums always have been - and will continue to be - checked at
3839 (NoMD5Option): Remove this option, as the code it controls has been
3842 2005-05-07 Max Bowsher <maxb@ukf.net>
3844 * install.cc (md5_one): Make the MD5 checking done at install time
3845 display a progess GUI, as the MD5 checking done at other times does.
3847 2005-05-07 Max Bowsher <maxb@ukf.net>
3849 * resource.h, res.rc: Followup to recent de-MSVC-ification of
3850 resource.h, by removing a lot from res.rc, and the last few bits
3853 2005-05-05 Brian Dessent <brian@dessent.net>
3855 * choose.cc (ChooserPage::OnInit): Initialize tooltips for this
3858 * proppage.h (PropertyPage::makeClickable): Update prototype to
3859 reflect same argument name as function.
3861 * proppage.cc (PropertyPage::DialogProc): Remove redundant 'break'
3862 statements that follow 'return's. Add missing braces to case
3863 statements. Call handler for TTN_GETDISPINFO.
3865 * res.rc (IDS_TRUSTKEEP_TOOLTIP): Add new STRINGTABLE entry for
3867 (IDS_TRUSTPREV_TOOLTIP): Ditto.
3868 (IDS_TRUSTCURR_TOOLTIP): Ditto.
3869 (IDS_TRUSTEXP_TOOLTIP): Ditto.
3870 (IDS_TRUSTPREV_TOOLTIP): Ditto.
3871 (IDS_VIEWBUTTON_TOOLTIP): Ditto.
3873 * resource.h: Likewise, add identifiers for tooltip resources.
3875 * window.h: Add includes.
3876 (Window::TooltipHandle): Add new private data structure.
3877 (Window::TooltipStrings): Ditto.
3878 (Window::ActivateTooltips): Define new function to support tooltip
3880 (Window::SetTooltipState): Ditto.
3881 (Window::AddTooltip): Ditto.
3882 (Window::TooltipNotificationHandler): Ditto.
3884 * window.cc (Window::Window): Initialize handle to NULL.
3885 (Window::~Window): Call DestroyWindow on tooltip control if it was
3887 (Window::ActivateTooltips): New function to activate the tooltip
3889 (Window::SetTooltipState): New function to allow toggling of
3891 (Window::AddTooltip): New function that adds a tooltip to a given
3892 control in a given window. Also implement overloaded versions that
3893 provide simpler interface and the ability to use a string resource.
3894 (Window::TooltipNotificationHandler): New function to handle
3895 TTN_GETDISPINFO notification messages.
3897 2005-05-05 Brian Dessent <brian@dessent.net>
3899 * resource.h: Reorganize. Group by type, and give each its own
3900 range of IDs. Regenerate IDs accordingly.
3901 (IDD_CHOOSER): Remove obsolete and unused symbol.
3903 2005-05-05 Brian Dessent <brian@dessent.net>
3905 * root.h (class RootPage): Add missing virtual to OnMessageCmd.
3907 2005-05-05 Brian Dessent <brian@dessent.net>
3909 * root.cc (dialog_cmd): Remove. Use OnMessageCmd instead.
3910 (RootPage::Create): Accomodate above change.
3912 * root.h (class RootPage): Add prototype for OnMessageCmd.
3914 * res.rc (IDD_ROOT): Fix broken button groups. Correct the order of
3915 the controls and use of WS_GROUP so that the radio buttons act
3918 2005-05-05 Max Bowsher <maxb@ukf.net>
3920 Bulk rename of String++ member cstr_oneuse () to c_str () for
3921 similarity to std::string.
3924 * IniDBBuilderPackage.cc
3925 * IniParseFindVisitor.cc
3927 * PickCategoryLine.cc
3928 * PickPackageLine.cc
3944 * io_stream_cygfile.cc
3961 2005-05-05 Max Bowsher <maxb@ukf.net>
3963 Some String++ refactoring, setting out in the general direction of
3964 eventually just using the STL std::string, not our own class.
3966 * String++.cc (String::cstr, String::cstr () const): Remove.
3967 (new_cstr_char_array): New function.
3968 * String++.h: Sync with above.
3969 Remove irrelevant "class io_stream;" declaration.
3971 * cygpackage.h: Add "class io_stream;" declaration, now no longer
3972 being supplied by side-effect.
3974 * filemanip.cc: Remove unneeded includes, add "using namespace std;".
3975 (parse_filename): Exchange some awkward pointer manipulation for
3976 std::string usage. Use new_cstr_char_array ().
3977 * filemanip.h: Sync with above.
3978 (fileparse): Improve style of declaration.
3980 * io_stream_cygfile.cc (io_stream_cygfile::normalise):
3981 Use new_cstr_char_array ().
3982 * site.cc (site_list_type::init, get_site_list): Ditto.
3984 2005-05-05 Brian Dessent <brian@dessent.net>
3986 * ControlAdjuster.h (enum ControlPosition): Declare new resizing
3987 methods CP_STRETCH_LEFTHALF and CP_STRETCH_RIGHTHALF, and their
3990 * ControlAdjuster.cc (ControlAdjuster::ControlInfo::adjust):
3991 Implement CP_STRETCH_LEFTHALF and CP_STRETCH_RIGHTHALF, which are
3992 designed to resize elements in a two-column layout.
3994 * localdir.h (class LocalDirPage): Remove constructor implementation
3997 * localdir.cc (LocalDirPage::LocalDirPage): ...to here, and call
3998 AddControlsInfo on initialization.
3999 (static LocaldirControlsInfo): Add. Define sizing rules for dialog
4002 * proppage.h: Add includes.
4003 (PropertyPage::ClickableURL):
4004 Declare new storage type for internal use by class.
4005 (PropertyPage::urls): Likewise.
4006 (PropertyPage::urlWinProc): Add declaration.
4007 (PropertyPage::makeClickable): Likewise.
4009 * proppage.cc: Add includes.
4010 (PropertyPage::DialogProc): Implement handler for WM_CTLCOLORSTATIC
4011 message. Supports static controls that have been turned into
4012 clickable hyperlinks.
4013 (static PropertyPage::urls): Declare.
4014 (PropertyPage::makeClickable): Implement new member function that
4015 provides user interface for making text into clickable URLs.
4016 (PropertyPage::urlWinProc): Implement new private member function used
4017 as a windowproc for subclassing a static control.
4019 * resource.h (IDC_SPLASH_URL, IDC_FILEMODES_LINK, IDC_ROOTDIR_GRP,
4020 IDC_INSTALLFOR_GRP, IDC_ALLUSERS_TEXT, IDC_JUSTME_TEXT, IDC_MODE_GRP,
4021 IDC_MODE_TEXT, IDC_MODE_BIN, IDC_LOCALDIR_GRP, IDC_SPLASH_TEXT,
4022 IDC_SPLASH_ICON, IDC_SPLASH_COPYR): Add. Replaces anonymous
4023 IDC_STATIC ids, so that controls can be referenced by the resizer.
4025 * res.rc (IDD_LOCAL_DIR): Rearrange controls to match top-down order
4026 in the dialog. Fold long lines. Replace anonymous IDC_STATIC ids.
4027 (IDD_ROOT): Reorder in same manner. Replace anonymous IDC_STATIC ids.
4028 Add descriptive text of each option, and hyperlink for more
4029 information. Mark suggested choice as "(RECOMMENDED)". Swap order of
4030 'unix'/'dos' radio buttons so that recommended choice is first in both
4032 (IDD_SPLASH): Reorder elements to match top-down order of dialog, fold
4033 long lines. Add descriptive paragraph, remove anonymous ids. Update
4034 copyright text, replace sources.redhat.com with cygwin.com.
4036 * root.h (class RootPage): Remove constructor implementation from
4039 * root.cc: ...to here, and call AddControlInfo.
4040 (static RootControlsInfo): Add. Populate with resizing data.
4041 (RootPage::OnInit): Make text a clickable hyperlink.
4043 * splash.h (class SplashPage): Likewise, move constructor from
4046 * splash.cc: ...to here. Call AddControlInfo.
4047 (static SplashControlsInfo): Add and populate.
4048 (SplashPage::Create): Make link on splash page a clickable hyperlink.
4050 * window.h: Add include.
4051 (class Window): Store allocated fonts with a vector instead of fixed
4052 array. Change indentation of setParent to be consistent.
4054 * window.cc (Window::Window): Remove FontCounter.
4055 (Window::~Window): Likewise. Iterate over vector of fonts instead.
4056 (Window::SetDlgItemFont): Use vector.
4058 2005-05-05 Max Bowsher <maxb@ukf.net>
4060 * Makefile.am (EXTRA_DIST, inilint_SOURCES):
4061 Sync with several recent changes.
4063 2005-05-05 Brian Dessent <brian@dessent.net>
4065 * res.rc: (CREATEPROCESS_MANIFEST_RESOURCE_ID): Include section
4068 2005-05-05 Brian Dessent <brian@dessent.net>
4070 * res.rc: (IDC_CHOOSE): Widen 'view' button by 6px horizontally and
4071 4px vertically. Adjust other controls to accomodate.
4072 (CREATEPROCESS_MANIFEST_RESOURCE_ID): Define so that manifest is
4073 included in the binary.
4075 * setup.exe.manifest: New file. Results in common controls with
4076 themed appearance on modern versions of Windows.
4078 2005-05-05 Brian Dessent <brian@dessent.net>
4080 * main.cc (WinMain): Change conditional to avoid spurious error
4081 message on success. Include reason for failure in log message.
4083 2005-05-04 Max Bowsher <maxb@ukf.net>
4085 * state.cc, state.h (net_method, net_proxy_host, net_proxy_port,)
4086 (net_user, net_passwd, net_proxy_user, net_proxy_passwd,)
4087 Inet_ftp_user, net_ftp_passwd):
4088 Move these global variables to be static variables of the NetIO class.
4090 * netio.h, netio.cc (net_method, net_proxy_host, net_proxy_port,)
4091 (net_user, net_passwd, net_proxy_user, net_proxy_passwd,)
4092 net_ftp_user, net_ftp_passwd):
4095 * ConnectionSetting.cc, net.cc:
4096 Change include, refer to variables in new location.
4098 2005-05-04 Max Bowsher <maxb@ukf.net>
4100 * PickLine.cc: Remove file - redundant.
4101 * Makefile.am (setup_SOURCES): Adjust.
4103 2005-05-04 Max Bowsher <maxb@ukf.net>
4105 * package_version.h (packageversion::set_requirements):
4106 Remove deftrust argument default value.
4108 2005-05-04 Max Bowsher <maxb@ukf.net>
4110 * package_version.cc (DependencyProcessor): Remove trivial class.
4111 (select, processOneDependency): Do not use DependencyProcessor, just
4112 pass parameters normally.
4114 2005-05-04 Brian Dessent <brian@dessent.net>
4116 Fix bug #820: Clicking Curr, etc., causes some dependencies to not
4119 * choose.cc (ChooserPage::changeTrust):
4120 Add a missing "packagedb.markUnVisited ()".
4122 2005-05-03 Max Bowsher <maxb@ukf.net>
4124 * PickCategoryLine.cc (PickCategoryLine::click):
4125 * PickPackageLine.cc (PickPackageLine::click):
4126 Abandon use of trivial packagemeta::PrepareForVisit() wrapper.
4128 * package_meta.h (packagemeta::PrepareForVisit): Remove.
4129 * package_meta.cc (packagemeta::PrepareForVisit): Remove.
4131 2005-05-03 Max Bowsher <maxb@ukf.net>
4133 * choose.h (ChooserPage::ifChecked): Remove.
4134 (ChooserPage::changeTrust): Convert from template to ordinary function.
4135 * choose.cc (ChooserPage::changeTrust): As above, plus avoid the use
4136 of custom class SetRequirement, when bind2nd(mem_fun(...),...) can
4137 achieve the same effect.
4138 * package_meta.h (SetRequirement): Remove, now unused.
4140 2005-05-03 Max Bowsher <maxb@ukf.net>
4142 * package_meta.h (packagemeta::set_requirements):
4143 Remove default argument which seems inappropriate.
4144 * PickPackageLine.cc (PickPackageLine::click):
4145 Make an argument explicit, and not that it seems like the wrong value.
4147 2005-05-03 Brian Dessent <brian@dessent.net>
4149 Fix part of bug #853 - proxy port not remembered.
4151 * net.cc (doing_loading): New static boolean.
4152 (load_dialog): Use the boolean to prevent save_dialog() from taking
4153 action due to field changes due to initialization.
4154 (save_dialog): Check the boolean and respond appropriately.
4156 2005-04-19 Max Bowsher <maxb@ukf.net>
4158 * postinstall.cc (RunFindVisitor::visitFile): Fix crash on
4159 encountering a postinstall script with a name of 4 characters or less.
4160 Bug introduced on 2004-12-25.
4162 2005-04-05 Max Bowsher <maxb@ukf.net>
4164 The Big Cleanup: Phase "rfc1738"
4166 * rfc1738.cc, rfc1738.h: Delete.
4167 * csu_util/rfc1738.cc: Reimport latest version from upstream source.
4168 Make thread-safe. Rewrite C++ wrapper in terms of std::string.
4169 Document the divergences from the upstream source.
4170 * csu_util/rfc1738.h: Recreate for the std::string version of the
4173 * Makefile.am (setup_SOURCES): Sync with added/removed files.
4174 * IniParseFindVisitor.cc: Modify #includes.
4175 (IniParseFindVisitor::visitFile): Change function name, as the new
4176 C++ wrapper does not contain an irregularity that the old one did.
4177 * download.cc: Modify #includes.
4178 * ini.cc: Modify #includes.
4180 2005-04-05 Max Bowsher <maxb@ukf.net>
4182 Remove setup's internal compression libraries, instead relying on the
4183 mingw-foo packages which have been part of the Cygwin net distribution
4184 for some time now. At the same time, reorganize the README file to
4185 inform about the change, and make some additional tidy-ups there whilst
4188 * GUIDELINES: Remove, contents transferred to README.
4189 * README: Add build instructions. Delete unconfirmed and fixed bugs
4190 sections. Incorporate the former contents of GUIDELINES.
4194 * Makefile.am (DIST_SUBDIRS, SUBDIRS):
4195 * configure.in: Remove AC_CONFIG_SUBDIRS for removed subdirs.
4196 * compress_bz.h: Remove complex _WIN32 preprocessor conditional.
4197 * compress_gz.h: Fix #include file name.
4198 * archive_tar_file.cc: Remove unused #include.
4199 * install.cc: Remove unused #include.
4201 2005-01-27 Max Bowsher <maxb@ukf.net>
4203 Set CYGWIN=nontsec, for postinstall scripts.
4205 * main.cc (main): putenv("CYGWIN=nontsec").
4207 2005-01-27 Bas van Gompel <patch-cygsup.buzz@bavag.tmfweb.nl>
4209 Fix corrupt display of ini parse percentage in log file.
4211 * ini.cc (GuiParseFeedback): Use a sensible data type for lastpct.
4213 2004-12-29 Max Bowsher <maxb@ukf.net>
4215 * site.cc (get_site_list): Filter the incoming mirrors list to contain
4216 only URL schemes that we can read.
4218 2004-12-28 Max Bowsher <maxb@ukf.net>
4220 The Big Cleanup: Phase "hash"
4222 * hash.cc, hash.h: Delete.
4223 * Makefile.am (setup_SOURCES): Sync with deleted files.
4225 * package_mets: Modify includes.
4226 (standard_dirs): Remove.
4227 (hash::add_subdirs): Remove.
4228 (packagemeta::uninstall): Re-implement using STL set instead of
4231 2004-12-28 Max Bowsher <maxb@ukf.net>
4233 * String++.h (operator std::string): Take care to never do
4234 std::string((char*)NULL) - it causes a hang!
4236 2004-12-27 Max Bowsher <maxb@ukf.net>
4238 The Big Cleanup: Phase "log"
4240 * log.cc, log.h: Delete old C-style compatibility wrapper around the
4242 * Makefile.am (setup_SOURCES): Sync with deleted files.
4244 * AntiVirus.cc, archive_tar_file.cc, ini.cc, install.cc,
4245 * io_stream_cygfile.cc, localdir.cc, msg.cc, net.cc, netio.cc,
4246 * netio.h, nio-ftp.cc, nio-ftp.h, root.cc, source.cc:
4247 Throughout, refine includes, and update code using the old
4248 compatibility wrapper to C++ streams style code.
4250 2004-12-27 Max Bowsher <maxb@ukf.net>
4252 * compress.cc: Refine includes. Remove placeholder function
4253 definitions. Make destructor an empty function.
4254 * compress.h: Refine includes. Make placeholder functions pure
4255 virtual. Add missing const on buffer argument to write function,
4256 to match derived classes.
4257 * compress_bz.cc, compress_gz.cc: Refine includes. Throw exception,
4258 rather than logging and returning an error, when an unimplemented
4260 * compress_bz.h, compress_gz.h: Refine includes.
4262 2004-12-26 Max Bowsher <maxb@ukf.net>
4264 The Big Cleanup: Phase "version"
4266 * String++.h (operator std::string): Add.
4267 * desktop.cc, fromcwd.cc: Remove irrelevant include.
4269 * version.cc, version.h: Delete, replacing all functionality in new
4272 * setup_version.h: Add, taking over declaration of generated version
4273 symbol functionality.
4275 * Makefile.am (setup_SOURCES): Sync with new/deleted files.
4276 (setup_version.c): Rename the symbol 'version' to 'setup_version'.
4277 * main.cc: Modify includes.
4278 (main): Adapt to setup_version rename.
4279 * splash.cc: Modify includes.
4280 (SplashPage::OnInit): Adapt to setup_version rename.
4282 * csu_util/version_compare.cc, csu_util/version_compare.h: Add,
4283 containing a completely rewritten replacement for canonical_version().
4285 * IniDBBuilderPackage.cc: Modify includes.
4286 (IniDBBuilderPackage::buildVersion): Use new version_compare API.
4287 * ini.cc: Modify includes.
4288 (setup_version): Rename...
4289 (ini_setup_version): ...to this.
4290 (do_local_ini, do_remote_ini): Adapt to above change.
4291 (do_ini_thread): Adapt to above change. Use new version_compare API.
4293 2004-12-25 Max Bowsher <maxb@ukf.net>
4295 * install.cc (Installer::installOneSource): Remove a stray "break;"
4296 left over from the switch-case -> if-else conversion in the previous
4299 2004-12-25 Max Bowsher <maxb@ukf.net>
4301 The Big Cleanup: Phase "win32"
4303 * win32.h: Major overhaul. Document why we use _WIN32_IE. Move out
4304 fragment dealing with alloca() to the single file in which it is used.
4305 Remove fragment dealing with _MAX_PATH, and convert all uses of it
4306 elsewhere to MAX_PATH. Remove random include of <stdarg.h>. Remove
4307 NOCOMATTRIBUTE, as setup contains no code which it affects. Remove
4308 includes of <wininet.h> and <windowsx.h> - see later in this log.
4309 (IsWindowsNT): New inline function, a much simpler implementation of
4314 * Makefile.am (setup_SOURCES): Remove "win32.cc".
4316 * AntiVirus.cc (detect), PickPackageLine.cc (PickPackageLine::paint),
4317 * install.c (Installer::installOneSource):
4318 Use IsWindowsNT(), not Win32::OS().
4319 * main.cc (main): Use IsWindowsNT(), not locally defined iswinnt.
4321 * PickView.cc (PickView::WindowProc), netio.cc (auth_proc),
4322 * proppage.cc (PropertyPage::DialogProc):
4323 Avoid using obfuscating macros from <windowsx.h>.
4325 * archive.cc: Include or #define alloca() in the only file in which
4328 * nio-ie5.h: Include <wininet.h> here, where it is actually needed,
4329 rather than in "win32.h" which is included almost everywhere.
4331 * archive_tar.cc, archive_tar.h, cygpackage.cc, cygpackage.h,
4332 * desktop.cc, find.cc, install.cc, main.cc, mklink2.c, mount.cc,
4333 * script.cc: Use MAX_PATH, not _MAX_PATH.
4335 2004-12-25 Max Bowsher <maxb@ukf.net>
4337 Remove some overcomplications.
4339 * Makefile.am (setup_SOURCES): Remove FilterVisitor.{cc,h}.
4340 * FilterVisitor.cc, FilterVisitor.h: Delete.
4341 * String++.cc (strmatch, String::matches): Remove.
4342 * String++.h (String::matches): Remove.
4343 * postinstall.cc: Do not include "FilterVisitor.h".
4344 (RunFindVisitor): Exclude items with the extension ".done".
4345 (do_postinstall_thread): Remove overcomplicated exclusion of items
4346 with the extension ".done".
4348 2004-12-24 Max Bowsher <maxb@ukf.net>
4350 * String++.cc, String++.h: Remove unused and incomplete code.
4351 * LogFile.cc (LogFile::log_save): Don't leak memory.
4352 * filemanip.cc, geturl.cc, root.cc, version.cc:
4353 Don't pointlessly create temporary copies strings.
4355 2004-12-23 Max Bowsher <maxb@ukf.net>
4357 * choose.cc (ChooserPage::OnNext): Relegate some overly verbose
4358 logging to an #ifdef DEBUG section.
4359 * geturl.h (dismiss_url_status_dialog): Remove stale function
4360 declaration, for which there is no definition.
4361 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile):
4362 Motivated by the recent unexplained hang bug, add some extra logging.
4364 2004-11-22 Max Bowsher <maxb@ukf.net>
4366 * MD5++.cc, MD5++.h: Remove this class.
4367 * csu_util/MD5Sum.cc, csu_util/MD5Sum.h: New more complete MD5 class.
4368 * Makefile.am (setup_SOURCES): Adjust to new files.
4369 * download.cc (validateCachedPackage): Simplify, using the new class.
4370 * install.cc (md5_one): Ditto.
4371 * package_source.h (packagesource::md5): Change to be an object of the
4374 2004-11-22 Max Bowsher <maxb@ukf.net>
4376 * main.cc (main): Fix bug in one of the 2004-11-19 commits.
4377 Avoid referring to the theLog pointer before it is set.
4379 2004-11-20 Max Bowsher <maxb@ukf.net>
4381 * res.rc (IDD_SOURCE): Clarify the radio-button option descriptions.
4382 Re-layout the radio buttons.
4384 2004-11-20 Max Bowsher <maxb@ukf.net>
4386 Repair the broken detection of wrongly-sized package files.
4388 * download.cc (validateCachedPackage): Make static, since not used
4389 elsewhere. Improve logging. Migrate file-size tests to here, alongside
4391 (check_for_cached): Remove broken testing of file-size, now covered by
4392 the above. Code cleanups.
4394 2004-11-19 Max Bowsher <maxb@ukf.net>
4396 * package_version.cc (dumpAndList): Make dependencies much more
4397 readable in full log output.
4399 2004-11-19 Max Bowsher <maxb@ukf.net>
4401 * proppage.cc (PropertyPage::DialogProc): Wrap in a TOPLEVEL_CATCH
4402 block, since allowing exceptions to unwind into the guts of Windows is
4405 2004-11-19 Max Bowsher <maxb@ukf.net>
4407 * main.cc (main): Move option parsing code earlier - it must execute
4408 before any significant object creations, which might test options in
4409 their initialization.
4411 2004-11-19 Max Bowsher <maxb@ukf.net>
4413 * main.cc (main): Remove some junk code - either commented out, or
4414 contained within unreachable preprocessor conditional sections.
4416 2004-11-19 Max Bowsher <maxb@ukf.net>
4418 * install.cc (Installer::installOneSource): Avoid leaking the open
4419 file handles of every tarball that is installed.
4421 2004-11-19 Max Bowsher <maxb@ukf.net>
4423 * package_source.h (packagesource::Canonical, packagesource::Base)
4424 (packagesource::Filename): Add "const" specification to accessor
4427 2004-11-18 Max Bowsher <maxb@ukf.net>
4429 * archive.h (archive::~archive): Define a pure virtual destructor to
4430 enforce the abstract nature of this class.
4431 * archive.cc (archive::~archive): Pure virtual destructors require an
4432 implementation! Add one.
4433 * io_stream.h (io_stream::destroyed): Remove this severely
4434 brain-damaged implementation of a weakly-enforced abstract class.
4435 The pure virtual destructor was strongly enforcing the abstract nature
4437 * io_stream.cc (io_stream::~io_stream): Empty out horribly pointless
4438 code from the pure virtual destructor.
4439 * archive_tar.cc (archive_tar::~archive_tar): Remove all
4440 reference to the removed "destroyed" member.
4441 * archive_tar_file.cc (archive_tar_file::~archive_tar_file): Ditto.
4442 * compress_bz.cc (compress_bz::~compress_bz): Ditto.
4443 * compress_gz.cc (compress_gz::~compress_gz): Ditto.
4444 * io_stream_cygfile.cc (io_stream_cygfile::~io_stream_cygfile): Ditto.
4445 * io_stream_file.cc (io_stream_file::~io_stream_file): Ditto.
4446 * io_stream_memory.cc (io_stream_memory::~io_stream_memory): Ditto.
4448 2004-11-17 Max Bowsher <maxb@ukf.net>
4450 * mount.cc (create_mount): Fix operator precedence error introduced in
4451 first 2004-11-11 commit - warned of by gcc 3.3.3 but not 3.4.1 !
4453 2004-11-13 Max Bowsher <maxb@ukf.net>
4455 Miscellaneous cleanup.
4457 * geturl.cc (getUrlToStream): Make static.
4458 * geturl.h (getUrlToStream): Remove declaration.
4460 * geturl.cc, geturl.h, netio.cc, netio.h, nio-ftp.cc, nio-ftp.h,
4461 nio-http.cc, nio-http.h:
4462 Remove unused "allow_ftp_auth" flag throughout.
4464 2004-11-11 Max Bowsher <maxb@ukf.net>
4466 * libmd5-rfc: New directory, to hold code imported from the libmd5-rfc
4467 project in a clearly delineated fashion.
4468 * libmd5-rfc/README: New file.
4469 * md5.c, md5.h: Delete...
4470 * libmd5-rfc/md5.c, libmd5-rfc/md5.h: ...and replace with pristine
4471 versions from upstream (only change is restoration of upstream CVS
4472 keyword expansions).
4473 * libmd5-rfc/md5main.c: New file.
4474 * Makefile.ami (setup_SOURCES): Edit file paths.
4475 * download.cc, install.cc: Edit include paths.
4477 2004-11-11 Max Bowsher <maxb@ukf.net>
4479 * dialog.cc (fatal): Make capable of handling a passed-in error code,
4480 as an alternative to calling GetLastError().
4481 * dialog.h (fatal): Adjust prototype as above.
4482 * mount.cc (create_mount): Use the above to correctly report errors.
4484 2004-10-28 Max Bowsher <maxb@ukf.net>
4486 * LogFile.cc (LogFile::getFileName), splash.cc (SplashPage::Create),
4487 threebar.cc (ThreeBarProgressPage::SetBar2):
4488 Migrate from cistring and string resources
4489 to String and string literals.
4490 * localdir.cc: Remove unneeded #include of "cistring.h".
4491 * cistring.cc, cistring.h: Remove this now-redundant class.
4492 * Makefile.am: Remove mention of the above removed files.
4493 * res.rc, resource.h: Remove obsolete strings and IDs, both those
4494 obseleted by and obselete before the above changes.
4495 * res.rc: Merge the 2 adjacent STRINGTABLEs.
4497 2004-10-27 Max Bowsher <maxb@ukf.net>
4499 * Makefile.am (setup_SOURCES): Add "RECTWrapper.h". It was missing.
4501 2004-10-25 Bas van Gompel <cygsup-patch.buzz@bavag.tmfweb.nl>
4503 * package_source.cc (packagesource::set_canonical):
4504 Fix one-off in 'base' when ini is in same dir as package.
4506 2004-10-25 Max Bowsher <maxb@ukf.net>
4508 * main.cc (next_dialog): Remove this legacy global variable.
4509 * download.cc (do_download_thread): Return a value instead of setting
4510 a global variable, then returning void.
4511 (do_download_reflector): Look for the next dialog code as a return
4512 value instead of a global variable.
4514 2004-10-25 Max Bowsher <maxb@ukf.net>
4516 * port.h: Remove this redundant file - all contained definitions are
4517 duplicated in "win32.h".
4518 * Makefile.am, UserSetting.cc, UserSettings.cc, archive.cc,
4519 archive_tar.cc, archive_tar_file.cc, choose.cc, compress.cc,
4520 compress_bz.cc, compress_gz.cc, desktop.cc, find.cc, fromcwd.cc,
4521 iniparse.y, install.cc, io_stream_cygfile.cc, io_stream_file.cc,
4522 main.cc, netio.cc, site.cc, version.cc:
4523 Remove all references to "port.h".
4525 2004-10-25 Max Bowsher <maxb@ukf.net>
4527 Fix compilation with w32api 3.1 and later.
4529 * ControlAdjuster.h, RECTWrapper.h, cistring.h, propsheet.h,
4530 window.cc, window.h: Include "win32.h" not <windows.h> directly.
4531 * win32.h (WINBASEAPI): Define to empty string.
4533 2004-09-13 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4535 * script.cc (run): Kill stdin when running scripts.
4537 2004-09-01 Max Bowsher <maxb@ukf.net>
4539 * Makefile.am: Oops. Unwanted keyword expansion ate the code of the
4540 previous commit. Restore the code, escaped to not look like a keyword.
4542 2004-09-01 Max Bowsher <maxb@ukf.net>
4544 * Makefile.am: Simplify the shell incantation for getting the revision
4545 of ChangeLog from grep-and-sed to just sed.
4547 2004-08-31 Max Bowsher <maxb@ukf.net>
4549 Attain GCC 3.4 compatibility.
4551 * PackageSpecification.h (PackageSpecification): Make the
4552 unnecessarily private copy-constructor public.
4554 2004-08-30 Max Bowsher <maxb@ukf.net>
4556 Rework the implementation of not including -Werror for specific files,
4557 to a way that does not require hardcoding modified automake output back
4560 * Makefile.am (AM_CXXFLAGS, BASECXXFLAGS): Seperate out -Werror.
4561 (autoload.o): Drop this rule, -finline-functions is no longer required
4562 and -Werror is acceptable here now we have __attribute__ ((used)).
4563 (WARNONLY_CFLAGS, inilex.o): Drop these.
4564 (EXTRA_PROGRAMS): Add a fake "warnonly" program.
4565 (warnonly_CXXFLAGS): Set to the $(BASECXXFLAGS).
4566 (warnonly_SOURCES): Set to "inilex.cc".
4567 (EXTRA_setup_SOURCES): Set to $(warnonly_SOURCES).
4568 (setup_SOURCES): Remove "inilex.cc".
4569 (setup_LDADD): Add "warnonly-inilex.o".
4571 2004-08-30 Max Bowsher <maxb@ukf.net>
4573 Move closer to GCC 3.4 compatibility.
4575 * IOStreamProvider.h, io_stream_cygfile.cc, io_stream_cygfile.h,
4576 io_stream_file.cc: Do not incorrectly use "enum" after it has been
4577 hidden inside a typedef.
4578 * archive.h: In "virtual func() = 0;", the 0 is a language construct,
4579 not some symbol that might evaluate to 0, and gcc 3.4 enforces this.
4580 * autoload.c (DllInfo.name): Silence warning by making const.
4581 (DLL, autoload_common): __attribute__ ((used)) is now required to
4582 prevent gcc being over-eager in it's optimization, and removing these
4583 seemingly-unused (used only from assembly) functions.
4584 Silences some warnings, too.
4585 * Makefile.am (AM_CXXFLAGS, AM_CFLAGS): The options
4586 -Wstrict-prototypes -Wmissing-prototypes do not apply to C++ and
4587 g++ 3.4 complains about them.
4589 2004-08-29 Max Bowsher <maxb@ukf.net>
4591 * Exception.h: Reformatting, #include more, remove incorrect and
4592 less-than-useful comments.
4593 (TOPLEVEL_CATCH): New preprocessor macro.
4595 * LogFile.cc (LogFile::operator()): Throw an exception object, not a
4598 Wrap the top-level of each thread (including the main thread) in a
4599 try...catch block, in order to display a useful error message if an
4600 exception is not caught.
4601 * download.cc (do_download_reflector): Here ...
4602 * ini.cc (do_ini_thread_reflector): ... and here ...
4603 * install.cc (do_install_reflector: ... and here ...
4604 * main.cc (main): ... and here ...
4605 * postinstall.cc (do_postinstall_thread): ... and here ...
4606 * site.cc (do_download_site_info_thread): ... and here!
4608 * msg.h: Include a missing header requirement.
4609 * res.rc (IDS_UNCAUGHT_EXCEPTION, IDS_UNCAUGHT_EXCEPTION_WITH_ERRNO):
4611 * resource.h (IDS_UNCAUGHT_EXCEPTION)
4612 (IDS_UNCAUGHT_EXCEPTION_WITH_ERRNO): New IDs.
4614 2004-08-28 Max Bowsher <maxb@ukf.net>
4616 * res.rc (IDS_WINDOW_INIT_BADMSG): New string.
4617 * resource.h (IDS_WINDOW_INIT_BADMSG): New string resource ID.
4618 * window.cc (Window::FirstWindowProcReflector): Convert an abort()
4619 into a descriptive error.
4621 2004-08-24 Max Bowsher <maxb@ukf.net>
4623 The Doug Lee replacement malloc was no longer hooked up with the
4624 buildsystem in any way. Pruning the remaining unused file.
4626 * dlmalloc.c: Removed.
4628 2004-08-18 Max Bowsher <maxb@ukf.net>
4630 "librsync is not wire-compatible with rsync 2.x, and is not likely
4631 to be in the future." -- librsync.sourceforge.net
4633 So, it is of no practical use to setup. Therefore, removing all
4634 rsync related files and code from setup.
4636 * rsync: Directory removed.
4637 * Makefile.am: Remove rsync support from the buildsystem.
4638 * configure.in: Ditto.
4639 * README: Since it seems vanishingly unlikely that it will ever happen,
4640 remove rsync support from the wishlist.
4641 * io_stream_rsync.cc: Remove.
4642 * io_stream_rsync.h: Remove.
4644 2004-04-25 Robert Collins <rbtcollins@hotmail.com>
4646 * package_meta.cc (packagemeta::set_requirements): fix problem with
4647 libpcre0 not being pulled in automatically.
4649 2004-04-25 Robert Collins <rbtcollins@hotmail.com>
4651 * IniDBBuilderPackage.cc (dumpAndList):
4652 Move out to packageversion for reuse.
4653 * package_meta.cc (packagemeta::logAllVersions): log dependencies.
4654 * package_version.cc (packageversion::depends):
4655 provide a const accessor.
4656 (dumpAndList): Moved from INIDBBuilder.cc.
4657 * package_version.h: declare new method and function.
4659 2003-12-21 Robert Collins <rbtcollins@hotmail.com>
4661 * main.cc (main): Update to head libgetopt++ syntax.
4663 2003-11-2 Robert Collins <rbtcollins@hotmail.com>
4665 * ControlAdjuster.h (ControlPosition::CP_MIDDLE): Rename to
4667 * ControlAdjuster.cc: Ditto.
4669 2003-10-31 Frank Richter <frichter@gmx.li>
4671 * localdir.cc (OnNext): When SelectDirectoryA() fails, display a
4672 message with the error returned from the system instead of just
4673 'could not change dir'. Also, offer the user to 'Retry', 'Ignore' the
4674 error or 'Abort' the directory change.
4676 2003-10-31 Frank Richter <frichter@gmx.li>
4678 * propsheet.cc (PropSheetWndProc): Don't do child resizing if a the
4679 window gets minimized. Otherwise some glitches (e.g. wrong child
4681 Added support for WM_GETMINMAXINFO. Prevents the property sheet from
4682 getting smaller than the original size.
4684 2003-11-1 Robert Collins <rbtcollins@hotmail.com>
4686 * ControlAdjuster.h (ControlDimension): Add.
4687 (ControlAdjuster): Factor adjust functionality into ControlInfo.
4688 * ControlAdjuster.cc (ControlAdjuster::adjust): Ditto.
4689 (ControlAdjuster::ControlInfo::adjust): Ditto.
4691 2003-10-31 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4693 * ControlAdjuster.h (ControlPosition): New enum type.
4694 (ControlInfo::horizontalPos, ControlInfo::verticalPos): New
4696 (ControlInfo::anchorLeft, ControlInfo::anchorTop,
4697 ControlInfo::anchorRight, ControlInfo::anchorBottom): Remove.
4698 * ControlAdjuster.cc (ControlAdjuster::AdjustControls): Switch to
4699 using position specifiers instead of anchors.
4700 * choose.cc (ChooserControlsInfo): Ditto.
4701 * proppage.cc (DefaultControlsInfo): Ditto.
4702 * propsheet.cc (PropSheetControlsInfo): Ditto.
4703 * site.cc (SiteControlsInfo): Position specifiers for site
4704 selection dialog controls.
4705 * threebar.cc (ThreeBarControlsInfo): Position specifiers for
4706 progress dialog controls.
4708 2003-10-27 Ralf Habacker <ralf.habacker@freenet.de>
4710 * main.cc (HelpOption): New instance.
4711 (main): Added help command line option handling.
4712 * localdir.cc (LocalDirOption): New instance.
4713 (LocalDirSetting::load): allow setting localdir from command line.
4715 2003-10-16 Frank Richter <frichter@gmx.li>
4717 * ControlAdjuster.cc: New file, helper to move elements of a dialog
4718 along when the it's resized.
4719 * ControlAdjuster.h: Ditto.
4720 * Makefile.am: Add new source files.
4721 * proppage.cc (PropertyPage::DialogProc): Adjust some common
4722 controls (Cygwin icon top right, separator below) when a page is
4724 (PropertyPage::PropertyPage): Dito.
4725 * propsheet.cc (IsDialog): New. Test whether a window is a dialog.
4726 Used internally by resize logic.
4727 (EnumPages): New. Used internally by resize logic: resizes the
4728 property sheet's individual pages.
4729 (PropSheetWndProc): New. Hook for the propery sheet window proc.
4730 (PropSheetProc): More style tweaks, add maximize box and thick border
4731 as well. Hook into the property sheet's window proc.
4732 (PropSheet::AdjustPageSize): New. Adjust the metrics of a single page
4733 to fit nicely into the property sheet. Part of resize logic.
4734 * res.rc (All dialogs): The top-right Cygwin icon and top separator
4735 now have IDs distinct from IDC_STATIC, so their metrics can be
4736 adjusted upon a resize. Also, all those Cygwin icons are at the exact
4738 * choose.cc (ChooserPage::ChooserPage): Now the controls on the
4739 chooser page move/size when the page size is changed.
4742 2003-10-23 Jerry D. Hedden <jerry@hedden.us>
4744 * ConnectionSetting.cc (ConnectionSetting::load): Load proxysettings.
4745 (ConnectionSetting::save): Save proxy settings.
4747 2003-10-07 Robert Collins <rbtcollins@hotmail.com>
4749 * proppage.h (PropertyPage::wantsActivation): const correctness fix.
4751 2003-08-19 Max Bowsher <maxb@ukf.net>
4753 * win32.h: Define NOMINMAX only if not already defined - because
4754 libstdc++-v3 3.3.1 defines NOMINMAX itself.
4756 2003-08-03 Max Bowsher <maxb@ukf.net>
4758 * ChangeLog: Fix broken line-wrapping throughout. Clarify that
4759 "Ran automake" in 2003-07-26 entry was in bz2lib and zlib subdirs.
4761 2003-08-03 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4763 * propsheet.cc (Copyright): Update copyright dates.
4764 (PropSheet::PropSheet): Remove NumPropPages initialization.
4765 (PropSheet::CreatePages): Use PropertyPages.size() instead of
4767 (PropSheet::Create): Ditto.
4768 (PropSheet::AddPage): Change to use new PropertyPages std::vector<>.
4769 * propsheet.h (Copyright): Update copyright dates.
4770 (File Scope): Include <vector>.
4771 (PropSheet::PropertyPages): Change from array to vector<>.
4772 (PropSheet::NumPropPages): Remove.
4774 2003-08-02 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4776 Changes modified by Max Bowsher <maxb@ukf.net>
4777 * splash.cc (Copyright): Update copyright dates.
4778 (SplashPage::OnInit): Remove call to SetDlgItemFont(). Now handled in
4780 * proppage.h (PropertyPage::setTitleFont): Declare.
4781 * proppage.cc (Copyright): Update copyright dates.
4782 (PropertyPage::DialogProc WM_INITDIALOG): Move all font setting code,
4783 including that from splash.cc into new function...
4784 (PropertyPage::setTitleFont): Create, using moved code. Change font
4785 "MS Sans Serif" to "MS Shell Dlg" in line with recent res.rc change.
4786 Set font for IDC_STATIC_WELCOME_TITLE here, to allow easy re-use of
4787 style for future "Finished" page.
4789 2003-08-02 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4791 * propsheet.cc: Include "resource.h".
4792 (PropSheet::Create): Add the Cygwin icon in the left of the title bar.
4794 2003-08-01 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4796 * proppage.cc (PropertyPage::FirstDialogProcReflector): Modify comment.
4798 2003-08-01 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4800 * proppage.h (Copyright): Update copyright dates.
4801 (PropertyPage): Document OnNext and OnBack.
4803 2003-07-31 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4805 * proppage.cc (PropertyPage::Create): Use more self-documenting
4806 MAKEINTRESOURCE() instead of cast to LPCSTR.
4808 2003-07-31 Robert Collins <rbtcollins@hotmail.com>
4810 * README: Mark completed items complete.
4812 2003-07-31 Pierre Humblet <pierre.humblet@ieee.org>
4814 * main.cc (set_default_sec): Set token owner from token user.
4815 Always try to set the token primary group to Users or Admins.
4817 2003-07-30 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4819 * String++.h (String::replace): New instance functions.
4820 * String++.cc (String::replace): Implement.
4821 * filemanip.cc (backslash): Change to use String::replace.
4822 * desktop.cc (make_cygwin_bat): Escape '%' in path.
4824 2003-07-30 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4826 * String++.h (TOSTRING): New macro.
4827 * UserSettings.cc (UserSettings::deRegisterSetting): Fix
4828 erroneous __LINE__/__FILE__ usage.
4829 * download.cc (validateCachedPackage, check_for_cached): Ditto.
4830 * geturl.cc (getUrlToStream): Ditto.
4831 * install.cc (md5_one): Ditto.
4833 2003-07-30 Max Bowsher <maxb@ukf.net>
4835 * ini.cc (do_ini_thread): Return bool.
4836 (do_ini_thread_reflector): Put returned bool in lParam.
4837 * threebar.cc (WM_APP_SETUP_INI_DOWNLOAD_COMPLETE): Rework for new
4838 meaning of lParam. Replace erroneous use of do_fromcwd with
4839 SetActivePageByID (IDD_SOURCE).
4841 2003-07-30 Robert Collins <rbtcollins@hotmail.com>
4843 * ConnectionSetting.cc: New file, persist connection type selection.
4844 * ConnectionSetting.h: Ditto.
4845 * net.cc: Hold a ConnectionSetting instance to trigger the logic.
4846 (NetPage::OnInit): Don't force net_method to any value.
4847 * Makefile.am: Add new source files.
4849 2003-07-30 Robert Collins <rbtcollins@hotmail.com>
4851 * SourceSetting.cc: New file, persist source selection.
4852 * SourceSetting.h: Ditto.
4853 * source.cc: Hold a Source setting instance to trigger the logic.
4854 * Makefile.am: Add new source files.
4856 2003-07-30 Robert Collins <rbtcollins@hotmail.com>
4858 * UserSettings.h (UserSettings::settingFileForLoad): Extracted method
4859 from LocalDirSetting::load().
4860 * UserSettings.cc (UserSettings::settingFileForLoad): Ditto.
4861 * UserSettings.h (UserSettings::settingFileForSave): Extracted method
4862 from LocalDirSetting::save().
4863 * UserSettings.cc (UserSettings::settingFileForSave): Ditto.
4864 * localdir.cc (LocalDirSetting::load): Extract location logic to
4866 (LocalDirSetting::save): Extract location logic to UserSettings.
4867 * site.cc (SiteSetting::getSavedSites): Use
4868 UserSettings::settingFileForLoad.
4869 (SiteSetting::save): Use UserSettings::settingFileForSave.
4871 2003-07-30 Robert Collins <rbtcollins@hotmail.com>
4873 * PickView.cc: Adjust ::GetClientRect(..) to the inherited one
4876 2003-07-29 Max Bowsher <maxb@ukf.net>
4878 Based on a patch by Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>.
4879 * AntiVirus.cc (AntiVirusPage::wantsActivation): Define.
4880 * AntiVirus.h (AntiVirusPage::wantsActivation): Declare.
4881 * localdir.cc (LocalDirPage::OnBack): Remove logic subsumed by
4882 RootPage::wantsActivation.
4883 * proppage.cc (PropertyPage::DialogProc): Call wantsActivation(),
4884 and skip to next page in sequence if activation is refused.
4885 * proppage.h (PropertyPage::wantsActivation): Default implementation.
4886 * root.cc (RootPage::wantsActivation): Define.
4887 * root.h (RootPage::wantsActivation): Declare.
4888 * source.cc: Don't include "AntiVirus.h".
4889 (SourcePage::OnNext): Remove logic subsumed by
4890 RootPage::wantsActivation.
4891 (SourcePage::OnBack): Remove logic subsumed by
4892 AntiVirusPage::wantsActivation.
4893 * splash.cc: Don't include "AntiVirus.h" or "dialog.h".
4894 (SplashPage::OnNext): Remove - subsumed by
4895 AntiVirusPage::wantsActivation.
4896 * splash.h (SplashPage::OnNext): Remove declaration.
4898 2003-07-29 Robert Collins <rbtcollins@hotmail.com>
4900 * PickView.h (PickView::refresh): New method.
4901 * PickView.cc (PickView::refresh): Extracted from various
4902 ChooserPage callers.
4903 * choose.cc: Use PickView::refresh wherever possible.
4905 2003-07-29 Robert Collins <rbtcollins@hotmail.com>
4907 * choose.h (ChooserPage::createListView): Remove last parameter.
4908 (ChooserPage::getDefaultListViewSize): Extracted method.
4909 * choose.cc (ChooserPage::createListView): Remove last parameter.
4910 (ChooserPage::getDefaultListViewSize): Extracted method.
4912 2003-07-29 Robert Collins <rbtcollins@hotmail.com>
4914 * choose.cc (ChooserPage::createListView): Remove unneeded
4918 2003-07-29 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4920 * dialog.h (do_fromcwd): Change function declaration.
4921 * fromcwd.cc (do_fromcwd): Change return type to bool. Eliminate
4922 use of next_dialog, return true or false instead.
4923 * localdir.cc (LocalDirPage::OnNext): Use do_fromcwd()'s return
4924 value instead of next_dialog.
4926 2003-07-29 Robert Collins <rbtcollins@hotmail.com>
4928 * package_db.h (packagedb::fillMissingCategory): Move from ChooserPage.
4929 * choose.h (ChooserPage::fillMissingCategory): Delete.
4930 * package_db.cc (packagedb::fillMissingCategory): Move from ChooserPage.
4931 * choose.cc (ChooserPage::fillMissingCategory): Delete and adjust
4934 2003-07-29 Robert Collins <rbtcollins@hotmail.com>
4936 * PickView.h (CATEGORY_EXPANDED): Move from choose.h
4937 (CATEGORY_COLLAPSED): Move from choose.cc.
4938 (PickView::setViewMode): Move from ChooserPage.
4939 * choose.h (CATEGORY_EXPANDED): Delete.
4940 (CATEGORY_COLLAPSED): Delete.
4941 (ChooserPage::setViewMode): Delete.
4942 * PickView.cc (PickView::setViewMode): Move from ChooserPage.
4943 * chooser.cc (ChooserPage::setViewMode): Delete, and adjust callers
4946 2003-07-28 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4948 * AntiVirus.cc (AntiVirusPage::OnNext): Do not explicitly specify the
4949 page to display next, since it follows in the default page ordering
4952 2003-07-28 Max Bowsher <maxb@ukf.net>
4954 * dialog.h: (NEXT): Remove obsolete macro.
4955 * site.cc (save_dialog): Remove use of NEXT(), and non-functional
4956 unnecessary error handler.
4958 2003-07-28 Robert Collins <rbtcollins@hotmail.com>
4960 * package_meta.h (packagemeta::addToCategoryAll): Declare.
4961 * package_meta.cc (packagemeta::addToCategoryAll): New method,
4962 separated to allow clear iteration.
4963 * choose.cc (ChooserPage::fillMissingCategory): BUGFIX: "all" is
4964 meant to be added unconditionally.
4966 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
4968 * Generic.h: New file, home for generic programming tools.
4969 (visit_if): Move here from package_meta.cc.
4970 Adjust to be fully parameterised.
4971 * package_meta.h (packagemeta::hasNoCategories): Query for generic
4973 (packagemeta::setDefaultCategories): set categories for packages
4975 * package_meta.cc: Move visit_if out. Adjust users for
4976 full paramterised operation.
4977 (packagemeta::hasNoCategories): Implement.
4978 (packagemeta::setDefaultCategories): Implement.
4979 * choose.cc (ChooserPage::fillMissingCategory): Use visit_if to
4980 reduce duplicate code.
4981 (ChooserPage::setExistence): Delete.
4982 * choose.h (ChooserPage::setExistence): Rename to
4983 packagedb::setExistence.
4984 * package_db.h (packagedb::setExistence): Declare.
4985 * package_db.cc (packagedb::setExistence): Copy from choose.cc
4987 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
4989 * localdir.h (LocalDirPage::OnInit): Remove.
4990 * localdir.cc (LocalDirPage::OnInit): Move to LocalDirSetting
4992 (LocalDirSetting::load): Copied from LocalDirPage::OnInit.
4993 * site.h (SitePage::OnInit): Remove.
4994 (SitePage::getSavedSites): New member, replaces get_saved_sites.
4995 (SitePage::registerSavedSite): New member, replaces
4996 register_saved_site.
4997 * site.cc (SitePage::OnInit): Move to SiteSetting::load().
4998 (SiteSetting::load): Copied from SitePage::OnInit.
4999 (SitePage::getSavedSites): Renamed from get_saved_sites.
5000 (SitePage::registerSavedSite): Renamed from register_saved_site.
5001 (do_download_site_info_thread): Don't look at the list size for
5002 determining if the download was successful.
5004 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
5006 * choose.h (ChooserPage::setViewMode): Remove HWND from
5008 (ChooserPage::defaultTrust): Ditto.
5010 (ChooserPage::ifChecked): Use Window helper function
5012 * choose.cc (ChooserPage::setViewMode): Use chooser->GetHWND()
5014 Update all callers with new signature.
5015 (ChooserPage::defaultTrust): Ditto.
5017 * PickView.h (PickView::defaultTrust): Declare.
5018 * PickView.cc (PickView::defaultTrust): Copy from chooser.cc.
5020 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
5022 * PickView.h (PickView::lv): Eliminate.
5023 * PickView.cc (PickView::init): Replace use of lv with
5025 (PickView::list_click): Ditto.
5026 * choose.h (ChooserPage::lv): Eliminate.
5027 * choose.cc: Replace lv with chooser->GetHWND()
5030 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
5032 * PickView.h (PickView::chooser): Eliminate.
5033 (PickView::list_vscroll): Make non-static.
5034 (PickView::list_hscroll): Ditto.
5035 (PickView::list_click): Ditto.
5036 (PickView::paint): Ditto.
5037 * PickView.cc (PickView::list_vscroll): Eliminate use
5038 of PickView::chooser.
5039 (PickView::list_hscroll): Ditto.
5040 (PickView::list_click): Ditto.
5041 (PickView::paint): Ditto.
5042 * choose.cc (Chooser::createListView): Eliminate use
5043 of PickView::chooser.
5045 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
5047 * PickView.h (PickView): Inherit from Window.
5048 (PickView::RegisterWindows): Move from ChooserPage.
5049 (PickView::listview_proc): Likewise.
5050 (PickView::paint): Ditto.
5051 (PickView::list_click): Ditto.
5052 (PickView::list_hscroll): Ditto.
5053 (PickView::list_vscroll): Ditto.
5054 (PickView::lv): Ditto.
5055 (PickView::chooser): Ditto.
5056 (PickView::Create): Override Windows::Create as we migrate.
5057 (PickView::registerWindowClass): Renamed RegisterWindows.
5058 (PickView::WindowClassAtom): Prevent double registration.
5059 (PickView::init): Declare.
5060 * PickView.cc: Adjust for new inheritance.
5061 (PickView::RegisterWindows): Move from ChooserPage.
5062 (PickView::listview_proc): Likewise.
5063 (PickView::paint): Ditto.
5064 (PickView::list_click): Ditto.
5065 (PickView::list_hscroll): Ditto.
5066 (PickView::list_vscroll): Ditto.
5067 (PickView::lv): Ditto.
5068 (PickView::chooser): Ditto.
5069 (PickView::Create): Introduce stub.
5070 (PickView::RegisterWindows): Rename
5071 (PickView::init): Extracted from constructor to allow
5073 * chooser.h (ChooserPage::registerWindows): Rename to
5074 PickView::RegisterWindows.
5075 (ChooserPage::listview_proc): Likewise.
5076 (ChooserPage::paint): Ditto.
5077 (ChooserPage::list_click): Ditto.
5078 (ChooserPage::list_hscroll): Ditto.
5079 (ChooserPage::list_vscroll): Ditto.
5080 (ChooserPage::lv): Duplicate into PickView, observe
5082 (ChooserPage::chooser): Ditto.
5083 * chooser.cc (ChooserPage::registerWindows): Delete.
5084 (ChooserPage::listview_proc): Ditto.
5085 (ChooserPage::paint): Ditto.
5086 (ChooserPage::list_click): Ditto.
5087 (ChooserPage::list_hscroll): Ditto.
5088 (ChooserPage::list_vscroll): Ditto.
5089 (ChooserPage::createListView): Create() on PickView.
5090 * window.h (Window::RegisterWindowClass): Make virtual
5091 to allow Create to become a Template Method, and rename
5092 to registerWindowClass as it's not static.
5093 * window.cc (Window::registerWindowClass): Ditto.
5094 (Window::FirstWindowProcReflector): BUGFIX: Set window
5095 handle to prevent races with the window procedure.
5097 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
5099 * choose.cc (set_view_mode): Rename to ChooserPage::setViewMode.
5100 (default_trust): Rename to ChooserPage::defaultTrust.
5101 (fill_missing_category): Rename to ChooserPage::fillMissingCategory.
5102 (set_existence): Rename to ChooserPage::setExistence.
5103 (register_windows): Rename to ChooserPage::registerWindows.
5104 (listview_proc): Rename to ChooserPage::listview_proc.
5105 (paint): Rename to ChooserPage::paint.
5106 (list_click): Rename to ChooserPage::list_click.
5107 (list_hscroll): Rename to ChooserPage::list_hscroll.
5108 (list_vscroll): Rename to ChooserPage::list_vscroll.
5109 (lv): Rename to ChooserPage::lv.
5110 (chooser): Rename to ChooserPage::chooser.
5111 * choose.h (ChooserPage::setViewMode): Declare.
5112 (ChooserPage::defaultTrust): Declare.
5113 (ChooserPage::fillMissingCategory): Declare.
5114 (ChooserPage::setExistence): Declare.
5115 (ChooserPage::registerWindows): Declare.
5116 (ChooserPage::listview_proc): Declare.
5117 (ChooserPage::paint): Declare.
5118 (ChooserPage::list_click): Declare.
5119 (ChooserPage::list_hscroll): Declare.
5120 (ChooserPage::list_vscroll): Declare.
5121 (ChooserPage::lv): Declare.
5122 (ChooserPage::chooser): Declare.
5124 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
5126 * choose.cc (create_listview): Use for_each instead of explicit
5128 (create_listview): Rename to ChooserPage::createListview.
5129 * package_meta.h (packagemeta::set_requirements): Explicitly separate
5130 the 1 and 2 parameter versions.
5132 2003-07-27 Robert Collins <rbtcollins@hotmail.com>
5134 * String++.h (String::operator !=): Declare for char * and String.
5135 * String++.cc (String::operator !=): Implement.
5136 * package_meta.cc(StringConcatenator): Move above all users.
5137 (_visit_if): Predicate support for visitors.
5138 (packagemeta::getReadableCategoryList): Refactor to use
5139 StringConcatenator with a predicate.
5140 * choose.h: Remove unneeded c++ guards.
5142 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
5144 * choose.cc (scan_downloaded_files): Rename to
5145 packagemeta::ScanDownloadedFiles.
5146 (scanAVersion): Rename to packageversion::scan.
5147 (GetParentRect): Rename to ChooserPage::getParentRect.
5148 * choose.h (ChooserPage::getParentRect): Declare.
5149 * package_meta.h (packagemeta::ScanDownloadedFiles): Declare.
5150 * package_version.h (packageversion::scan): Declare.
5151 * package_version.cc (packageversion::scan): Move from choose.cc
5152 * package_meta.cc (packagemeta::ScanDownloadedFiles): Move from
5155 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
5157 * choose.cc (ChooserPage::OnNext): log before starting activity threads.
5158 (ChooserPage::OnInit): Remove temporary variable frame.
5159 (ChooserPage::setPrompt): Extract method from OnInit.
5160 (choose_inst_text): Remove unused variable.
5161 * choose.h(ChooserPage::setPrompt): Declare
5162 * res.rc (IDD_CHOOSE): Bugfix: the chooser was setting a non-present
5165 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
5167 Remove package specific code from choose.cc.
5168 Update copyrights where appropriate.
5169 * choose.cc(ChooserPage::OnNext): Extract logging to
5170 packagemeta::logSelectionStatus.
5171 * package_meta.cc(packagemeta::logSelectionStatus): Extract from
5172 ChooserPage::OnNext.
5173 (StringConcatenator): helper for logSelectionStatus.
5174 (action_caption): Make const.
5175 * package_meta.h(packagemeta): Declare logSelectionStatus.
5176 (packagemeta::action_caption): Make const.
5177 * package_version.cc(packageversion::sourcePackage): Make const.
5178 * package_version.h(packageversion::sourcePackage): Make const.
5180 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
5182 * choose.cc: Update copyright.
5183 (ChooserPage::keepClicked): Extracted from OnMessageCmd.
5184 (ChooserPage::changeTrust): Ditto.
5185 * choose.h (ChooserPage): Declare keepClicked and changeTrust.
5186 (ChooserPage::ifChecked): Extracted from OnMessageCmd.
5187 * package_meta.h (SetRequirement): Adapter for visiting package
5190 2003-07-26 Max Bowsher <maxb@ukf.net>
5192 * tests/.cvsignore: New file, listing Makefile.in.
5194 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
5196 Save used local cache dir from initial run of setup, so the user doesn't
5198 * localdir.h (LocalDirSetting): UserSetting class for the local cache
5200 * localdir.cc (LocalDirSetting::save): Replace save_local_dir, and
5203 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
5205 Save used site from initial run of setup, so the user doesn't need to
5207 * main.cc (main): Load and save all user settings.
5208 * site.cc (SiteSetting::save): Migrate logic from save_site_url.
5209 (SitePage::OnNext): Use ChosenSites.save() to remove uneeded
5211 (save_site_url): Delete.
5212 * site.h (save_site_url): Remove declaration.
5213 * .cvsignore: Update autoconf generated files.
5215 2003-07-26 Robert Collins <rbtcollins@hotmail.com>
5217 * tests/Makefile.am: Driver for test suite.
5218 * tests/UserSettingTest.cc: Test UserSetting interface.
5219 * tests/UserSettingsTest.cc: Test UserSettings interface.
5220 * Makefile.am: Add the tests dir to recurse into.
5221 * configure.in: Ditto.
5222 * UserSetting.h: Add load and save methods to allow global
5224 Add explicit copy and assignment operators to prevent synthetics.
5225 Make the constructor protected to prevent direct instantiation.
5226 * UserSettings.h (UserSettings::loadAllSettings): New method.
5227 (UserSettings::savedAllSettings): New method.
5228 * UserSettings.cc: Implement new methods.
5229 * site.cc: Implement stubs for new required UserSetting methods.
5230 * site.h (ChosenSite): Ditto.
5231 * bz2lib/: Ran automake.
5232 * zlib/: Ran automake.
5234 2003-07-23 Max Bowsher <maxb@ukf.net>
5236 * desktop.cc (DesktopSetupPage::OnBack): Remove obsolete use of NEXT().
5237 * root.cc (RootPage::OnNext): Ditto.
5238 (RootPage::OnBack): Ditto.
5239 * install.cc (do_install_thread): Remove obsolete use of next_dialog.
5240 * main.cc (main): Ditto.
5241 * postinstall.cc (do_postinstall_thread): Ditto.
5243 2003-07-23 Max Bowsher <maxb@ukf.net>
5245 * dialog.h (do_choose, do_desktop, do_local_dir, do_net, do_other)
5246 (do_root, do_site, do_source, do_splash): Remove declarations, since
5247 these functions no longer exist.
5249 2003-07-23 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
5251 * choose.cc (initialized): Remove obsolete file scope variable.
5253 2003-07-18 Max Bowsher <maxb@ukf.net>
5255 * res.rc: Make caption of every dialog page begin with "Cygwin Setup".
5256 This aids recognition when minimized.
5257 Prompted by Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>.
5259 2003-07-10 Jeremy White <jwhite@codeweavers.com>
5261 * mount.cc, root.cc, site.cc: Make StringOptions required,
5262 thereby making --longopt <parm> behave as a newbie would expect.
5264 2003-07-08 Max Bowsher <maxb@ukf.net>
5266 * LogFile.h, cistring.h, dialog.h, diskfull.h, filemanip.h, geturl.h,
5267 hash.h, log.h, mkdir.h, mklink2.h, mount.h, msg.h, netio.h, nio-file.h,
5268 nio-ftp.h, nio-http.h, nio-ie5.h, port.h, simpsock.h, state.h,
5269 version.h: Add inclusion guard.
5270 * root.h: Standardize naming of inclusion guard.
5272 2003-06-23 Max Bowsher <maxb@ukf.net>
5274 * AntiVirus.h, Exception.h, FilterVisitor.h, FindVisitor.h,
5275 IOStreamProvider.h, IniDBBuilder.h, IniDBBuilderPackage.h,
5276 IniParseFeedback.h, IniParseFindVisitor.h, LogSingleton.h, MD5++.h,
5277 PackageSpecification.h, PackageTrust.h, PickCategoryLine.h, PickLine.h,
5278 PickPackageLine.h, PickView.h, RECTWrapper.h, ScanFindVisitor.h,
5279 String++.h, UserSetting.h, UserSettings.h, archive.h, archive_tar.h,
5280 category.h, choose.h, compress.h, compress_bz.h, compress_gz.h,
5281 cygpackage.h, desktop.h, download.h, find.h, ini.h, io_stream.h,
5282 io_stream_cygfile.h, io_stream_file.h, io_stream_memory.h,
5283 io_stream_rsync.h, localdir.h, net.h, package_db.h, package_meta.h,
5284 package_source.h, package_version.h, proppage.h, propsheet.h, script.h,
5285 site.h, source.h, splash.h, threebar.h, win32.h, window.h:
5286 Standardize naming and placement of inclusion guards.
5288 2003-06-22 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
5290 * res.rc (all dialogs): Change font from "MS Sans Serif" to
5293 2003-06-22 Max Bowsher <maxb@ukf.net>
5295 * Makefile.am: Clarify comment.
5296 Derive AM_CFLAGS from AM_CXXFLAGS, rather than the other way around.
5297 (AM_CXXFLAGS): Remove -Wmissing-declarations - it is a C-only warning.
5298 (AM_CFLAGS): Add -Winline, and -Wmissing-declarations.
5300 2003-06-22 Max Bowsher <maxb@ukf.net>
5302 * rfc1738.cc (rfc1738_do_escape): Eliminate redundant conditional.
5304 2003-06-05 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
5306 * window.h (SETUP_WINDOW_H): Rename multi-include guard.
5307 (Copyright): Update.
5308 (RECTWrapper): New forward declaration.
5309 (Window::Create): Move.
5310 (Window::MoveWindow): New overload declaration.
5311 * window.cc: (RECTWrapper.h) Include.
5312 (Copyright): Update.
5313 (Window::FirstWindowProcReflector): Use reinterpret_cast<> instead
5315 (Window::MoveWindow): New overload.
5317 2003-05-31 Max Bowsher <maxb@ukf.net>
5319 * res.rc: Resize title controls to fully fill available width.
5321 2003-05-07 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
5323 * RECTWrapper.h: New file.
5325 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
5327 * script.cc (Script::extension): Extract method from Script::run.
5328 (Script::run): Extract extension generation to Script::extension.
5329 * script.h (Script::extension): Declare.
5331 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
5333 * script.cc (run_script): Remove.
5334 (try_run_script): Inline method run_script.
5335 * script.h (run_script): Remove.
5337 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
5339 * postinstall.cc (RunScript::operator()): Use new run syntax.
5340 * script.h (Script::run): Eliminate to_log parameter.
5341 * script.cc (Script::run): Ditto.
5342 (run_script): Use new run syntax.
5344 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
5346 * script.cc (Script::run): Eliminate temp variable 'f2'.
5347 Rename temp variable 'f2' to 'windowsName' for increased clarity.
5349 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
5351 * script.cc (Script::run): Eliminate temp variable 'fname'.
5353 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
5355 * script.cc (Script::run): Eliminate temp variable 'dir'.
5357 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
5359 * script.cc (run_script): Always pass TRUE to Script::run.
5360 * script.h (run_script): Remove optional to_log parameter.
5362 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
5364 * script.cc (run_script): Move functionality into Script.
5365 (Script::run): Absorb run_script.
5367 2003-04-12 Robert Collins <rbtcollins@hotmail.com>
5369 * PickCategoryLine.cc (PickCategoryLine::click): Tell packagemeta we
5370 are about to perform a visit.
5371 * PickPackageLine.cc (PickPackageLine::click): Tell packagemeta we
5372 are about to perform a visit.
5373 * package_db.cc (packagedb::markUnVisited): Convenience wrapper -
5374 mark all packages as unvisited.
5375 * package_db.h (packagedb::markUnVisited): Declare.
5376 * package_meta.cc (packagemeta::PrepareForVisit): New static method
5377 to prepare for a loop-free visit.
5378 (packagemeta::packagemeta): Adjust for new member.
5379 (packagemeta::set_requirements): Only visit a node once.
5380 (packagemeta::visited): Get and Set methods for new member visited_.
5381 * package_meta.h (packagemeta::PrepareForVisit): Declare.
5382 (packagemeta::visited): Declare.
5383 (packagemeta::visited_): Declare.
5385 2003-04-07 Max Bowsher <maxb@ukf.net>
5387 * download.cc: Add command line option to suppress MD5 checks.
5388 (validateCachedPackage): Test option and possibly skip.
5390 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
5392 Merge in setup-200303-troubleshooting fixes.
5394 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
5396 * main.cc (NTSecurity::setDefaultDACL): Reinstate commented code.
5397 (NTSecurity::setDefaultSecurity): Ditto.
5399 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
5401 * main.cc (NTSecurity::setDefaultDACL): Use MS calculations for ACL
5404 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
5406 * main.cc (NTSecurity::setDefaultDACL): Sanity check memory allocation.
5408 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
5410 * main.cc (NTSecurity::setDefaultDACL): Adjust commented code for
5413 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
5415 * main.cc (NTSecurity::NoteFailedAPI): Helper function.
5416 Use throughout NTSecurity routines.
5417 (NTSecurity::setDefaultDACL): Use dynamic memory for ACL storage.
5419 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
5421 * main.cc (NTSecurity::setDefaultDACL): Disable ~ 50% of remaining
5424 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
5426 * main.cc (NTSecurity::GroupInfo): Extract group query code.
5427 (NTSecurity::setDefaultDACL): Disable ~ 50% of code.
5429 2003-04-02 Robert Collins <rbtcollins@hotmail.com>
5431 * main.cc (NTSecurity::setDefaultSecurity): Disable ~ 50% of security
5434 2003-04-01 Robert Collins <rbtcollins@hotmail.com>
5436 * main.cc (NTSecurity::setDefaultSecurity): Remove double declaration of
5437 sz. User TokenGroupCollection to abstract token searching logic,
5438 eliminate isadmin and isuser temporary variables.
5439 (TokenGroupCollection): New class for querying token group information.
5441 2003-04-01 Robert Collins <rbtcollins@hotmail.com>
5443 * main.cc (NTSecurity::setDefaultSecurity): Extract esid initialisation.
5444 Move local variables to just before first use.
5445 SetTokenInformationFailures where being handled inconsistently.
5446 Remove assignments from if statements.
5447 (NTSecurity::esid): Rename to everyOneSID.
5448 (NTSecurity::initialiseEveryOneSID): new method.
5449 (NTSecurity::setDefaultDACL): Extract method for default DACL logic.
5451 2003-04-01 Robert Collins <rbtcollins@hotmail.com>
5453 * main.cc (SIDWrapper): Manage SID memory.
5454 (HANDLEWrapper): Likewise for HANDLES.
5455 (NTSecurity): Worker class for set_default_sec().
5456 (set_default_sec): Move body into NTSecurity::setDefaultSecurity().
5457 (NTSecurity::setDefaultSecurity): Eliminate goto out: via memory
5460 2003-04-01 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
5462 * cygwin.ico: Added two new resolutions, 64x64 and 72x72.
5464 2003-03-29 Robert Collins <rbtcollins@hotmail.com>
5466 * GUIDELINES: New file documenting code guidelines.
5468 2003-03-26 Max Bowsher <maxb@ukf.net>
5470 * .cvsignore: Add cfgaux.
5472 2003-03-26 Robert Collins <rbtcollins@hotmail.com>
5474 * package_version.cc (_defaultversion::accessible): Override and make
5476 (_packageversion::accessible): Fix a couple of logic bugs resulting in
5478 * package_version.h (_packageversion::accessible): Make virtual.
5480 2003-03-25 Igor Pechtchanski <pechtcha@cs.nyu.edu>
5482 * threebar.h (WM_APP_START_POSTINSTALL): New message.
5483 (WM_APP_POSTINSTALL_THREAD_COMPLETE): New message.
5484 * threebar.cc (ThreeBarProgressPage::OnMessageApp):
5485 Add handling for WM_APP_START_POSTINSTALL and
5486 WM_APP_POSTINSTALL_THREAD_COMPLETE.
5487 * install.cc (do_install_thread): Set next_dialog to
5489 * desktop.cc (DesktopSetupPage::OnFinish): Move the
5490 do_postinstall call to ThreeBarProgressPage::OnMessageApp.
5491 * script.h (Script::fullName): New member function.
5492 (Script::run): New member function.
5493 (Script::ETCPostinstall): New static member constant.
5494 * script.cc (Script::fullName): Implement.
5495 (Script::run): Implement.
5496 (Script::ETCPostinstall): Define.
5497 (Script::isAScript): Use ETCPostinstall instead of a
5498 hardcoded string constant.
5499 (run): Enable "#if 0"'d code.
5500 * postinstall.cc (Progress): New extern variable.
5501 (RunFindVisitor::visitFile): Add script to vector
5503 (RunFindVisitor::_scripts): New member variable.
5504 (RunScript): New helper class for use in for_each.
5505 (do_postinstall_thread): Rename do_postinstall to. Add
5506 Progress bar and text setting. Add package count.
5507 (do_postinstall_reflector): New static function.
5508 (do_postinstall): Rename to do_postinstall_thread.
5509 Create a thread instead.
5511 2003-03-18 Igor Pechtchanski <pechtcha@cs.nyu.edu>
5513 * script.cc (run): Add file_out parameter.
5514 Redirect output of subprocess to file, creating the
5515 path if necessary. Minimize the script window.
5516 (run_script): Add optional to_log boolean parameter.
5517 If to_log, redirect output to temporary file and then
5518 import it into LOG_BABBLE.
5519 (OutputLog): New helper class.
5520 (operator<<): New operation on OutputLog.
5521 * script.h (run_script): Add optional to_log parameter.
5522 * postinstall.cc (RunFindVisitor::visitFile): Instruct
5523 run_script() to log script output.
5524 (do_postinstall): Ditto.
5526 2003-03-20 Robert Collins <rbtcollins@hotmail.com>
5528 * package_meta.cc (packagemeta::set_action): The logic
5529 test for the default action was reversed.
5531 2003-03-18 Igor Pechtchanski <pechtcha@cs.nyu.edu>
5533 * postinstall.cc (do_postinstall): Filter out '*.done'.
5534 * FilterVisitor.h: New header file. Declare the
5535 FilterVisitor, Filter, and ExcludeNameFilter classes.
5536 * FilterVisitor.cc: New file. Implement FilterVisitor,
5537 Filter, and ExcludeNameFilter.
5538 * String++.h (String::matches): New instance function.
5539 * String++.cc (String::matches): Implement.
5540 (strmatch) Import and adapt for <buf,len> strings.
5541 * Makefile.am (setup_SOURCES): Add FilterVisitor.cc and
5542 FilterVisitor.h to value.
5544 2002-03-18 Max Bowsher <maxb@ukf.net>
5546 * LogFile.cc (LogFile::exit): Use CRT exit() instead of ExitProcess().
5547 Use passed exit_code even if been_here.
5548 Remove incorrect _CYGWIN_ preprocessor conditional.
5550 2003-03-16 Robert Collins <rbtcollins@hotmail.com>
5552 * package_db.h (PackageDBConnectedIterator): Typedef
5553 for connected loop detection collection iterator.
5554 * package_db.cc (ConnectedLoopDetector): An
5555 implementation of R.E. Tarjans strongly connected
5556 set visitor algorithm.
5557 * postinstall.cc (do_postinstall): Use the new iterator
5558 for visiting postinstall scripts.
5560 2003-03-16 Robert Collins <rbtcollins@hotmail.com>
5562 * install.cc: Introduce Installer class.
5563 (init_dialog): Rename to Installer::initDialog.
5564 (progress): Rename to Installer::progress.
5565 (standard_dirs): Rename to Installer::StandardDirs.
5566 (uninstall_one): Rename to Installer::uninstallOne.
5567 (replace_one): Rename to Installer::replaceOne.
5568 (log_ror_failure): Rename to
5569 Installer::replaceOnRebootFailed.
5570 (log_ror_success): Rename to
5571 Installer::replaceOnRebootSucceeded.
5572 (install_one_source): Rename to Installer::installOneSource.
5573 Note script files as they are installed.
5574 * package_version.cc (packageversion::addScript): Implement.
5575 (packageversion::scripts): Implement.
5576 * package_version.h (packageversion::addScript): Record the
5577 presence of a script.
5578 * script.h (Script): New class to track scripts.
5579 * postinstall.cc (do_postinstall): Iterate through the
5580 package listed scripts before searching for scripts.
5581 * String++.cc (String::substr): Second argument needed to
5583 * String++.h (String::substr): Second argument needed to
5586 2003-03-16 Max Bowsher <maxb@ukf.net>
5588 * .cvsignore: Create, to ignore configure, aclocal.m4, Makefile.in and
5591 2003-03-16 Max Bowsher <maxb@ukf.net>
5593 * UserSettings.cc (UserSettings::Instance): Remove premature return.
5595 2003-03-15 Robert Collins <rbtcollins@hotmail.com>
5597 * script.cc (run): Rename variable b to createSucceeded.
5599 2003-03-15 Igor Pechtchanski <pechtcha@cs.nyu.edu>
5601 * script.cc (run): Close unneeded handles.
5603 2003-03-15 Robert Collins <rbtcollins@hotmail.com>
5605 * configure: Remove.
5606 * aclocal.m4: Remove.
5607 * Makefile.in: Remove.
5609 * cfgaux/compile: Remove.
5610 * cfgaux/config.guess: Remove.
5611 * cfgaux/config.sub: Remove.
5612 * cfgaux/depcomp: Remove.
5613 * cfgaux/install-sh: Remove.
5614 * cfgaux/ltmain.sh: Remove.
5615 * cfgaux/missing: Remove.
5616 * cfgaux/mkinstalldirs: Remove.
5618 2003-03-14 Igor Pechtchanski <pechtcha@cs.nyu.edu>
5620 * install.cc (replace_one): Clear Text3.
5622 2003-03-14 Igor Pechtchanski <pechtcha@cs.nyu.edu>
5624 * install.cc (install_one_source): Add logging for successful
5625 replace-on-reboot scheduling. Factor out duplicate code.
5626 Set rebootneeded on Win9x.
5627 (log_ror_failure): New static function.
5628 (log_ror_success): New static function.
5630 2003-03-14 Robert Collins <rbtcollins@hotmail.com>
5632 * choose.cc (ChooserPage::OnNext): Fix iterator bug. Reported by
5633 Igor Pechtchanski <pechtcha@cs.nyu.edu>.
5635 2003-03-13 Max Bowsher <maxb@ukf.net>
5637 * Update included zlib to 1.1.4.
5639 2003-03-13 Robert Collins <rbtcollins@hotmail.com>
5641 * install.cc (do_install_thread): Use a query method rather than temp
5644 2003-03-09 Pavel Tsekov <ptsekov@gmx.net>
5646 * install.cc (do_install_thread): Use IDS_SKIP_PACKAGE
5647 instead of IDS_CORRUPT_PACKAGE when asking the user to take
5648 action if the hash verification check fails for a source package.
5649 Do not increase the value of 'total_bytes' variable if the
5650 user chooses to skip over a package, which failed the hash
5653 2003-03-10 Max Bowsher <maxb@ukf.net>
5655 * Makefile.am: Add foreign to AUTOMAKE_OPTIONS.
5657 2003-03-10 Robert Collins <rbtcollins@hotmail.com>
5659 * UserSettings.cc (UserSettings::init): Really initialize all members.
5661 2003-03-10 Robert Collins <rbtcollins@hotmail.com>
5663 * Exception.h: Add a logic error exception id.
5664 * Makefile.am: Add new sources.
5665 * UserSettings.cc: New file.
5666 * UserSettings.h: New file.
5667 * UserSetting.cc: New file.
5668 * UserSetting.h: New file.
5669 * site.h: Add a SiteSetting as example of a UserSetting.
5670 * site.cc (ChosenSites): Add a instance of SiteSetting to trigger
5673 2003-03-10 Robert Collins <rbtcollins@hotmail.com>
5675 * compress_bz.cc (compress_bz::read): Adjust incorrect assignment of
5677 (compress_bz::error): Return lasterr which will indicate any error.
5679 2003-03-10 Robert Collins <rbtcollins@hotmail.com>
5681 * choose.h (ChooserPage): Override OnActivate.
5682 * choose.cc (ChooserPage::OnActivate): Refresh the current view when
5683 activating the dialog.
5685 2003-03-09 Robert Collins <rbtcollins@hotmail.com>
5687 * package_version.cc (_defaultversion::pick(bool)): Override this and
5689 (packageversion::pick(bool): Use a mutator function rather than direct
5691 * package_version.h (_packageversion::pick(bool)): Move method from
5694 2003-02-16 Pavel Tsekov <ptsekov@gmx.net>
5696 * install.cc (install_one_source): Remove the MD5 verification
5698 Delay the creation of the package listing file.
5699 (do_install_thread): Check the hashes for packages which need
5700 to be installed before the uninstall step. Allow the user to
5701 skip over packages, which fail the hash verification.
5702 (md5_one): Define new function.
5703 * res.rc (IDS_SKIP_PACKAGE): New string resource.
5704 * resource.h (IDS_SKIP_PACKAGE): New macro definition.
5706 2003-02-16 Pavel Tsekov <ptsekov@gmx.net>
5708 * Exception.h: Declare new constructor.
5709 (Exception::_message): Change the type from 'const char *' to
5711 (Exception::~Exception): Implement destructor (make gcc shut up).
5712 * Exception.cc: Implement new constructor.
5713 (Exception::what): Use String::cstr_oneuse ().
5714 * download.cc (validateCachedPackage): Use the constructor, which
5715 takes String& as its second argument, when throwing objects
5717 (check_for_cached): Ditto.
5718 * install.cc (install_one_source): Ditto.
5720 2003-02-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
5722 * res.rc (IDS_INSTALL_INCOMPLETE): Change hard-coded
5724 (IDS_MISSING_LOG): New string resource.
5725 * resource.h (IDS_MISSING_LOG): New resource.
5726 * LogFile.cc (LogFile::exit): Pass log filename for
5727 LOG_BABBLE to note().
5728 (LogFile::getFileName): New function.
5729 * LogFile.h (LogFile::getFileName): New function.
5731 2003-02-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
5733 * String++.cc: Don't include concat.h.
5734 * Makefile.am: Remove concat.cc and concat.h references.
5736 * concat.cc: Remove.
5738 2003-03-09 Max Bowsher <maxb@ukf.net>
5740 * bootstrap.sh: Add sanity check of current directory.
5741 Recurse into libgetopt++ if needed.
5743 2003-03-09 Robert Collins <rbtcollins@hotmail.com>
5745 * Update readme of bugs and wishes.
5747 2003-03-05 Max Bowsher <maxb@ukf.net>
5749 * netio.cc (save_dialog): Allocate an empty string if the password is
5750 null, so that an empty password is accepted elsewhere in setup.
5751 (check_if_enable_ok): An empty password is OK.
5753 2003-03-05 Brian Keener <bkeener@thesoftwaresource.com>
5755 * PickView.cc (PickView::views): Add two new views for Skipped
5756 packages and Installed Packages not requiring update.
5757 (PickView::set_headers () ): Ditto.
5758 (PickView::clear_view (void) ): Ditto.
5759 (PickView::views::caption () ): Add two new captions for the new
5760 views added for Skipped and Installed Packages.
5761 (PickView::scroll () ): Modify Scroll Bar property to Disable
5762 instead of disappearing when there is nothing to Scroll.
5763 * PickView.h: Add two new views for Skipped packages and Installed
5764 packages to public class view.
5765 * choose.cc (list_click () ): Modify Scroll Bar property to Disable
5766 instead of disappearing when there is nothing to Scroll.
5767 (listview_proc () ): Ditto.
5768 (set_view_mode): Add two new views for Skipped Packages and Installed
5769 Packages not requiring update. Modify Scroll Bar property to Disable
5770 instead of disappearing when there is nothing to scroll.
5771 * res.rc (IDD_CHOOSE): Reposition Radio Buttons, View Selection
5772 Button and View Button Caption to make room for longer captions.
5774 2003-03-04 Max Bowsher <maxb@ukf.net>
5776 * compress_gz.cc (compress_gz::construct):
5777 Fix broken checkin dated 2002-07-03.
5779 2003-02-28 Max Bowsher <maxb@ukf.net>
5781 * main.cc (set_default_sec): Add logging.
5783 2003-02-28 Pierre Humblet <pierre.humblet@ieee.org>
5785 * main.cc (set_default_dacl): Replace with set_default_sec.
5786 (set_default_sec): Attempt to change the default group to
5787 Users or Administrators if it is None, in addition to setting
5788 Everyone in the default DACL.
5789 (main): Call set_default_sec instead of set_default_dacl.
5791 2003-01-31 Max Bowsher <maxb@ukf.net>
5793 * install.cc (install_one_source): Fix spacing in log message.
5795 2003-01-19 Max Bowsher <maxb@ukf.net>
5797 * resource.h (IDC_CHOOSE_KEEP): Define.
5798 * res.rc (IDD_CHOOSE): Add radio button IDC_CHOOSE_KEEP.
5799 * choose.cc (create_listview): Add IDC_CHOOSE_KEEP to ta[].
5800 (ChooserPage::OnMessageCmd): Handle new IDC_CHOOSE_KEEP button.
5802 2003-01-15 Max Bowsher <maxb@ukf.net>
5804 * mkdir.cc [_CYGWIN_]: Implement what was pseudocode.
5805 * io_stream.h [__CYGWIN__]: Don't typedef ssize_t.
5806 * proppage.h: Include "win32.h" instead of <windows.h>.
5808 2003-01-15 Max Bowsher <maxb@ukf.net>
5810 * mount.cc [MAINTAINER_FEATURES]: Add --override-registry-name option.
5812 2002-12-11 Abraham Backus <abraham@backus.com>
5814 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Leave port out of Host header,
5817 2002-12-11 Max Bowsher <maxb@ukf.net>
5819 * package_meta.cc: Change 'endl' to 'endLog' as appropriate.
5820 * package_version.cc: Ditto.
5822 2002-09-22 Max Bowsher <maxb@ukf.net>
5824 * PickView.cc (pkg_headers): Rename column 'Category' to 'Categories'.
5825 * package_meta.h (packagemeta::getReadableCategoryList): Declare.
5826 * package_meta.cc (packagemeta::getReadableCategoryList): Implement.
5827 * PickPackageLine.cc (PickPackageLine::paint): Change to use
5828 getReadableCategoryList.
5829 Fix x2 argument to IntersectClipRect.
5831 2002-11-25 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
5833 * window.h (Window::GetWindowRect): New method declaration.
5834 (Window::GetClientRect): Ditto.
5835 (Window::MoveWindow): Ditto.
5836 (Window::ScreenToClient): Ditto.
5837 * window.cc (REFLECTION_INFO): Remove.
5838 (ReflectionInfo): Remove.
5839 (Window::FirstWindowProcReflector): Use the WM_NCCREATE message instead
5840 of the horrid REFLECTION_INFO hack to hook the Window instance to the
5842 (Window::WindowProcReflector): Use GetWindowLongPtr() now that it's
5844 (Window::Create): Change to use new WM_NCCREATE reflection procedure
5846 (Window::GetWindowRect): New method.
5847 (Window::GetClientRect): New method.
5848 (Window::MoveWindow): New method.
5849 (Window::CenterWindow): Use new methods, also specify "::" for some non-
5850 member functions with the same names.
5851 (Window::ScreenToClient): New method.
5853 2002-11-26 Robert Collins <rbtcollins@hotmail.com>
5855 * AntiVirus.cc: Change the short option again! It's now 'A'.
5856 * desktop.cc (etc_profile): Remove.
5857 (make_etc_profile): Remove.
5859 (make_passwd_group): Remove.
5860 (do_desktop_setup): Don't call removed functions.
5862 2002-11-26 Robert Collins <rbtcollins@hotmail.com>
5864 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Fix my botched application of
5867 2002-07-08 Marcel Telka <marcel@telka.sk>
5869 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Fixed decoding of the FTP
5870 reply (code 227) to the PASV command.
5872 2002-11-26 Robert Collins <rbtcollins@hotmail.com>
5874 * IniDBBuilderPackage.cc (IniDBBuilderPackage::~IniDBBuilderPackage):
5875 Sort the packages db once all the new packages have been added.
5876 * IniDBBuilderPackage.h (IniDBBuilderPackage::~IniDBBuilderPackage):
5879 2002-11-26 Robert Collins <rbtcollins@hotmail.com>
5881 * choose.cc (ChooserPage::OnNext): Remove extracted comment.
5882 * package_version.cc (processOneDependency): Return once selecting
5883 a package (bugfix to prevous rework).
5884 Log if the default trust fails the package specification.
5886 2002-11-26 Robert Collins <rbtcollins@hotmail.com>
5888 * package_meta.h (packagemeta::logAllVersions): Declare.
5889 (packagemeta::trustLabel): Ditto.
5890 * choose.cc (ChooserPage::OnNext): Get each package to log all it's
5892 * package_meta.cc (packagemeta::logAllVersions): Implement.
5893 (packagemeta::trustLabel): Ditto.
5895 2002-11-25 Robert Collins <rbtcollins@hotmail.com>
5897 * AntiVirus.cc: Change 'd' to 'D' to fix command line conflict.
5899 2002-11-25 Robert Collins <rbtcollins@hotmail.com>
5901 * AntiVirus.cc: New file.
5902 * AntiVirus.h: Ditto.
5903 * LogFile.cc: Include AntiVirus.h for class definition.
5904 (LogFile::exit): Trigger AntiVirus::AtExit().
5905 * MakeFile.am(setup_SOURCES): Add AntiVirus files.
5906 * autoload.c: Declare Service Control Manager related API's.
5907 * main.cc: Include AntiVirus.h for class definition.
5908 (main): Add the AntiVirus page in.
5909 * res.rc: Define IDD_VIRUS.
5910 * resource.h: Define IDD_VIRUS related control ID's.
5911 * splash.h: Override OnNext.
5912 * splash.cc: Only show AntiVirus page when one has been detected.
5915 2002-11-25 Robert Collins <rbtcollins@hotmail.com>
5917 * package_version.cc (DependencyProcessor): Create convenience class.
5918 (select): Extract version selection method.
5919 (processOneDependency): Check for a satisfactory trusted version
5922 2002-11-10 Robert Collins <rbtcollins@hotmail.com>
5924 * main.cc (main): Use the factory for LogFile.
5925 * String++.cc: Update to use sstream.
5926 (String::String): Use a ostringstream for libC++ 3.2.
5927 * LogFile.h (LogFile): Make createLogFile static.
5929 2002-11-10 Robert Collins <rbtcollins@hotmail.com>
5931 * main.cc (main): Oops, pass LogSingleton a reference, not a pointer.
5933 2002-11-04 Max Bowsher <maxb@ukf.net>
5935 * Exception.h (Exception::what): Add throw() specification,
5936 to agree with libstdc++-v3.
5937 * Exception.cc (Exception::what): Ditto.
5938 * IniDBBuilderPackage.h: Add 'std::' where needed.
5939 * PickCategoryLine.h: Ditto.
5940 * category.h: Ditto.
5941 * package_db.h: Ditto.
5942 * package_meta.h: Ditto.
5943 * package_source.h: Ditto.
5944 * package_version.h: Ditto.
5946 * win32.h: Define NOMINMAX before including <windows.h>.
5947 * package_meta.cc: Add 'using namespace std;'.
5948 (packagemeta::set_requirements): Remove default parameter values
5949 from definition (gcc3 likes them only in declaration).
5950 * package_version.cc: Add 'using namespace std;'.
5951 (packageversion::set_requirements): Remove default parameter
5952 values from definition (gcc3 likes them only in declaration).
5954 2002-11-10 Robert Collins <rbtcollins@hotmail.com>
5956 * compress_bz.cc: Don't include bzlib.h directly, the compress_bz.h
5959 2002-11-04 Max Bowsher <maxb@ukf.net>
5961 * compress_bz.h: #undef small before including bzlib.h - if we are
5962 going to hide the fact that we are _WIN32 from bzlib, then we need
5963 to #undef small for it as well (bad windows.h clash).
5965 2002-11-10 Robert Collins <rbtcollins@hotmail.com>
5967 * localdir.cc: Update the extern LogFile to be a pointer.
5968 (save_local_dir): Change . to -> for the above.
5969 * main.cc (theFile): Change from an instance to a pointer.
5970 (main): Change . to -> for the above.
5972 2002-11-10 Robert Collins <rbtcollins@hotmail.com>
5974 * LogFile.cc: use 'std::' where needed throughout.
5975 (LogFile::createLogFile): Implement a factory for LogFile.
5976 (LogFile::LogFile): Update for use with the factory, and to
5977 handle the latest g++ library changes.
5978 (LogFile::operator()): Ditto.
5979 (LogFile::endEntry()): Ditto.
5981 * LogSingleton.cc: Ditto.
5982 * LogSingleton.h: Ditto.
5984 2002-11-04 Max Bowsher <maxb@ukf.net>
5986 * String++.h: Add 'std::' where needed.
5988 2002-11-04 Max Bowsher <maxb@ukf.net>
5990 * IniDBBuilderPackage.cc: Add 'using namespace std;'.
5991 * IniParseFindVisitor.cc: Ditto.
5992 * LogFile.cc: Ditto.
5993 * LogSingleton.cc: Ditto.
5994 * PickView.cc: Ditto.
5995 * String++.cc: Ditto.
5997 * download.cc: Ditto.
5999 * install.cc: Ditto.
6000 * io_stream.cc: Ditto.
6001 * io_stream_file.cc: Ditto.
6002 * package_db.cc: Ditto.
6006 2002-11-04 Max Bowsher <maxb@ukf.net>
6008 * LogSingleton.h: Add 'std::' where needed.
6010 2002-11-04 Max Bowsher <maxb@ukf.net>
6012 * archive_tar_file.cc: Include <algorithm>.
6013 Change min(a,b) to std::min(a,b)
6014 * compress_bz.cc: Ditto.
6015 * compress_gz.cc: Ditto.
6017 2002-11-04 Max Bowsher <maxb@ukf.net>
6019 * res.rc: Change a #-comment (invalid) to a //-comment.
6021 2002-11-04 Max Bowsher <maxb@ukf.net>
6023 * Makefile.am (%.o: %.rc): Make windres use $(CC) not hardcoded gcc.
6024 (inilint_LDADD): Remove -lstd++.
6025 (setup_LDADD): Ditto.
6027 2002-09-22 Max Bowsher <maxb@ukf.net>
6029 * IniDBBuilderPackage.cc: Update DEBUG code to current class
6032 2002-09-21 Robert Collins <rbtcollins@hotmail.com>
6034 * choose.h: Add OnUnattended method.
6035 * desktop.cc (DesktopSetupPage::OnInit): Allow fine grained
6036 control via command line options.
6037 (DesktopSetupPage::OnUnattended): Implement.
6038 (DesktopSetupPage::OnMessageApp): Implement.
6039 * desktop.h (DesktopSetupPage::OnUnattended): declare.
6040 (DesktopSetupPage::OnMessageApp): Ditto.
6041 * download.cc (do_download_thread): Support unattended mode.
6042 * install.cc (do_install_thread): Ditto.
6043 * localdir.h: Ditto.
6044 * main.cc (main): Ditto.
6045 * net.cc (NetPage::OnUnattended): Ditto.
6046 * net.h (NetPage::OnUnattended): Declare.
6047 * proppage.cc (PropertyPage::DialogProc): Support unattended mode.
6048 * proppage.h (PropertyPage::OnUnattended): Declare.
6049 * root.cc (RootPage::OnInit): Support unattended mode.
6050 (RootPage::OnUnattended): Implement.
6051 * root.h (RootPage::OnUnattended): Declare.
6052 * site.cc (register_saved_site): Extract Method from get_saved_sites.
6053 (get_saved_sites): Remove common code for adding a site.
6054 (SitePage::OnInit): Support unattended mode.
6055 (SitePage::OnUnattended): Implement.
6056 * site.h (SitePage::OnUnattended): Declare.
6057 * source.cc (SourcePage::OnActivate): Support unattended mode.
6058 (SourcePage::OnUnattended): Implement.
6059 * source.h (SourcePage::OnUnattended): Declare.
6060 * splash.h (SplashPage::OnUnattended): Declare.
6061 * state.cc (unattended_mode): Declare.
6062 * state.h (unattended_mode): Declare.
6063 * threebar.h (ThreeBarProgressPage::OnUnattended): New method.
6065 2002-09-21 Robert Collins <rbtcollins@hotmail.com>
6067 * res.rc: Commit Harry Johnston's dialog caption patch. From July.
6069 2002-07-15 Robert Collins <rbtcollins@hotmail.com>
6071 * package_version.cc (packageversion::sources): Implement this.
6072 * download.cc (do_download_thread): Support multiple files per package.
6074 2002-07-15 Robert Collins <rbtcollins@hotmail.com>
6076 * package_version.h (packageversion::sources): Support multiple files in
6077 a single package version.
6078 * package_version.cc (_packageversion::accessible): Ditto.
6079 (packageversion::source): Ditto.
6081 2002-07-15 Robert Collins <rbtcollins@hotmail.com>
6083 * iniparse.y: Implement support for multiple source files for a source
6085 * IniDBBuilder.h (IniDBBuilder::buildSourceFile): Ditto.
6086 * IniDBBuilderPackage.h (IniDBBuilder::buildSourceFile): Ditto.
6087 * IniDBBuilder.cc (IniDBBuilder::buildSourceFile): Ditto.
6088 * IniDBBuilderPackage.cc (IniDBBuilder::buildSourceFile): Implement a
6089 stub as preparation.
6091 2002-07-13 Robert Collins <rbtcollins@hotmail.com>
6093 * PickPackageLine.cc (PickPackageLine::click): Set requirements for
6094 packages under all circumstances - slightly higher overheader, simpler
6096 * download.cc (do_download_thread): Correctly download source
6098 * package_meta.cc (checkForInstalled): Remove.
6099 (checkForUpgradeable): Ditto.
6100 (checkForSatisfiable): Ditto.
6101 (processOneDependency): Ditto.
6102 (packagemeta::set_requirements): Move guts to packageversion.
6103 * package_version.cc (checkForInstalled): Copied from package_meta.cc.
6104 (checkForUpgradeable): Ditto.
6105 (checkForSatisfiable): Ditto.
6106 (processOneDependency): Ditto.
6107 (packageversion::set_requirements): Ditto.
6108 * package_version.h (packageversion::set_requirements): Declare.
6110 2002-07-13 Robert Collins <rbtcollins@hotmail.com>
6112 * IniDBBuilder.cc (IniDBBuilder::buildBeginBuildDepends): Implement.
6113 (IniDBBuilder::buildBeginBinary): Implement.
6114 * IniDBBuilder.h (IniDBBuilder::buildBeginBuildDepends): Declare.
6115 (IniDBBuilder::buildBeginBinary): Ditto.
6116 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildBeginBuildDepends):
6118 (IniDBBuilderPackage::buildBeginBinary): Ditto.
6119 * IniDBBuilderPackage.h (IniDBBuilderPackage::buildBeginBuildDepends):
6121 (IniDBBuilderPackage::buildBeginBinary): Ditto.
6122 * inilex.l: Recognise Build-Depends-Indep, [,], >, < and remove
6124 * iniparse.y: Full support for parsing a debian Sources file in-line in
6126 * package_version.cc (packageversion::binaries): Implement.
6127 * package_version.h (packageversion::binaries): Declare list of what
6128 packages are created from a given source package.
6129 (_packageversion::binaries): Ditto.
6131 2002-07-10 Robert Collins <rbtcollins@hotmail.com>
6133 * iniparse.y: Add basis for support for parsing a debian Sources file.
6136 2002-07-09 Robert Collins <rbtcollins@hotmail.com>
6138 Change custom container code for packagedb::packages to STL containers
6140 * IniDBBuilderPackage.cc: Ditto.
6141 * PickView.cc: Ditto.
6143 * desktop.cc: Ditto.
6144 * download.cc: Ditto.
6145 * install.cc: Ditto.
6146 * package_db.cc: Ditto.
6147 * package_db.h: Ditto.
6148 * Makefile.am: Remove list.h references.
6151 2002-07-08 Max Bowsher <maxb@ukf.net>
6153 * PickView.cc (PickView::PickView): Set font of package list header to
6154 the same as used in the rest of the package list.
6156 2002-07-08 Robert Collins <rbtcollins@hotmail.com>
6158 * install.cc (NoReplaceOnReboot): New command line option to prevent
6159 replacing in use files.
6160 (install_one_source): Check the option and use it.
6161 * README: Update TODO lists.
6163 2002-07-08 Robert Collins <rbtcollins@hotmail.com>
6165 * PickCategoryLine.cc: Change bucket to use STL container syntax
6167 (PickCategoryLine::paint): Use new Category type syntax.
6168 * PickCategoryLine.h: Use STL vectors rather than custom containers
6170 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageCategory):
6171 Use new add_category syntax.
6172 * PickView.cc (PickView::insert_pkg): Use new Category type syntax.
6173 (PickView::insert_category): Ditto.
6174 (PickView::init_headers): Ditto.
6175 * category.cc: Trim obsolete code.
6176 * category.h: Replace interconnecting class with a typedef to
6177 facilitate leveraging STL maps.
6178 * choose.cc (fill_missing_category): Use updated pkg.add_category
6180 (default_trust): Use new Category type syntax.
6181 (set_view_mode): Ditto.
6182 (create_listview): Ditto.
6183 * package_db.cc (categories): Ditto.
6184 * package_db.h: Update headers list to include needed headers.
6185 (packagedb::categories): Replace custom list with STL map.
6186 * package_meta.cc: Use new Category type syntax throughout.
6187 (packagemeta::add_category): Implement new syntax.
6188 * package_meta.h: Remove commented out source.
6189 (packagemeta::add_category): Update syntax to decouple interface from
6192 2002-07-06 Christopher Faylor <cgf@redhat.com>
6194 * site.cc (do_download_site_info_thread): Correct spelling error.
6196 2002-07-06 Robert Collins <rbtcollins@hotmail.com>
6198 * PickCategoryLine.h: Include required header list.h.
6199 * PickPackageLine.cc (PickPackageLine::paint): Adjust to use STL
6200 containers for listing of packages per category and vice verca.
6201 * PickView.cc (PickView::insert_pkg): Ditto.
6202 (PickView::insert_category): Ditto.
6203 * String++.h (String::caseless): STL helper to allow trivial containers
6204 of Strings with case insensitive comparisons.
6205 * category.h: Adjust to use STL containers for listing of packages per
6206 category and vice verca.
6207 * choose.cc (fill_missing_category): Ditto.
6208 (default_trust): Ditto.
6209 (ChooserPage::OnNext): Ditto.
6210 * package_meta.cc (CategoryPackage::~CategoryPackage): Remove.
6211 (packagemeta::packagemeta): Adjust for new category list name.
6212 (packagemeta::~packagemeta): Adjust to use STL containers for listing
6213 of packages per category and vice verca.
6214 (packagemeta::set_action): Ditto.
6215 * package_meta.h (CategoryPackage): Remove.
6216 (packagemeta): Adjust to use STL containers for listing of packages per
6217 category and vice verca.
6219 2002-07-05 Robert Collins <rbtcollins@hotmail.com>
6221 * io_stream.cc: Use STL containers rather than custom ones.
6222 (io_stream::registerProvider): Ditto.
6223 (findProvider): Ditto.
6225 2002-07-05 Robert Collins <rbtcollins@hotmail.com>
6227 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource):
6228 Use STL collections for download site collections.
6229 (IniDBBuilderPackage::add_correct_version): Ditto.
6230 (IniDBBuilderPackage::process_src): Ditto.
6231 * PickPackageLine.cc (PickPackageLine::click): Use the packageversion
6232 accessible() call to abstract package availability.
6233 * choose.cc (scanAVersion): Use STL collections for download site
6235 * download.cc (check_for_cached): Ditto.
6236 (download_one): Ditto.
6237 * package_meta.cc (packagemeta::set_action): Use the packageversion
6238 accessible() call to abstract package availability.
6239 * package_source.h: Use STL containers rather than custom containers.
6240 (site): Create a == operator to allow STL container use.
6241 (packagesource::sites): Use STL containers rather than custom
6243 * package_version.cc (_packageversion::accessible): Use STL containers
6244 for download site containers.
6246 2002-07-05 Robert Collins <rbtcollins@hotmail.com>
6248 * LogFile.cc: Use STL containers rather than custom containers.
6249 (filedef): Create == and < operators for STL use.
6250 (files): Convert to an STL set.
6251 (LogFile::setFile): Use STL operations on files.
6252 (LogFile::exit): Ditto.
6254 2002-07-05 Robert Collins <rbtcollins@hotmail.com>
6256 * ini.cc (do_remote_ini): Use STL collection for site collection.
6257 * site.cc: Include site.h first to ensure it's parsable standalone.
6259 (site_list): Convert to an STL container.
6260 (all_site_list): Ditto.
6261 (site_list_type::site_list_type): Implement copy constructor.
6262 (site_list_type::operator=): Implement assignment operator.
6263 (site_list_type::operator ==): Implement.
6264 (site_list_type::operator <): Ditto.
6265 (save_dialog): Use STL collection calls for site collection.
6266 (save_site_url): Ditto.
6267 (get_site_list): Ditto.
6268 (get_saved_sites): Ditto.
6269 (do_download_site_info_thread): Ditto.
6270 (SitePage::OnNext): Ditto.
6271 (SitePage::PopulateListBox): Ditto.
6272 (SitePage::OnMessageCmd): Ditto.
6273 * site.h: Use STL vectors instead of custom code.
6274 (site_list_type::site_list_type): Declare.
6275 (site_list_type::operator=): Ditto.
6276 (site_list_type::operator ==): Ditto.
6277 (site_list_type::operator !=): Ditto.
6278 (site_list_type::operator <): Ditto.
6279 (site_list_type::operator <=): Ditto.
6280 (site_list_type::operator >): Ditto.
6281 (site_list_type::operator >=): Ditto.
6282 (site_list): Convert to an STL container.
6283 (all_site_list): Ditto.
6285 2002-07-05 Robert Collins <rbtcollins@hotmail.com>
6287 * choose.cc (default_trust): Check package accessibility before
6288 triggering an install. (Suggested by Pavel).
6290 2002-07-03 Pavel Tsekov <ptsekov@gmx.net>
6292 * compress_gz.cc (compress_gz::construct): Always initialize key members
6293 to ensure the destructor does the right thing.
6295 2002-07-03 Pavel Tsekov <ptsekov@gmx.net>
6297 * filemanip.cc (parse_filename): Do not try to parse empty
6298 strings (filenames).
6299 * package_db.cc (packagedb::packagedb): For each line check if sscanf()
6300 extracted good package name and filename.
6302 2002-07-03 Robert Collins <rbtcollins@hotmail.com>
6304 * package_meta.cc (packagemeta::set_requirements): Automatically select
6305 version of dependent packages that satisfies the requirements.
6306 Use processOneDependency to trigger the install of those packages.
6307 (checkForInstalled): Check that the package remains installed.
6308 (processOneDependency): Helper function for dependent packages.
6309 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackage): Add more
6311 Clear out all current state on new packages.
6312 (IniDBBuilderPackage::add_correct_version): Copy the dependency list
6315 2002-07-02 Robert Collins <rbtcollins@hotmail.com>
6317 * Makefile.am (inilint_SOURCES): Add PackageSpecification sources.
6318 nb: inilint is still incomplete, as the packageversion code is not
6319 ready for database-less linking.
6320 * site.cc (get_site_list): When the same site is reentered by the user
6321 replace the old one. (Suggested by John Marshall).
6323 2002-07-02 Robert Collins <rbtcollins@hotmail.com>
6325 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource):
6326 Clear out package selections when generating implicit source packages.
6327 * PackageSpecification.cc (PackageSpecification::satisfies): Implement.
6328 (PackageSpecification::_operators::satisfies): Implement.
6329 * PackageSpecification.h (PackageSpecification::_operators::satisfies):
6330 Worker function for testing versions.
6332 2002-07-01 Robert Collins <rbtcollins@hotmail.com>
6334 * IniDBBuilder.cc (IniDBBuilder::buildPackageRequirement): Remove.
6335 * IniDBBuilder.h (IniDBBuilder::buildPackageRequirement): Ditto.
6336 * IniDBBuilderPackage.cc: Use the STL algorithms.
6337 Change cpv to cbpv throughout. Adjust -> to ., and use the new accessor
6338 functions for the same variable throughout.
6339 (IniDBBuilderPackage::IniDBBuilderPackage): Initialise new members.
6340 (IniDBBuilderPackage::buildPackage): Use new cygpackage syntax,
6341 and set an empty source package.
6342 (IniDBBuilderPackage::buildPackageInstall): Use the new source member
6343 to record an install package.
6344 (IniDBBuilderPackage::buildPackageSource): Move source package logic
6345 out from process_src, as it now occurs at separate times.
6346 (IniDBBuilderPackage::buildPackageRequirement): Remove.
6347 (IniDBBuilderPackage::buildSourceName): Use renamed package
6348 specifiation accessor for clarity.
6349 (IniDBBuilderPackage::buildSourceNameVersion): Ditto.
6350 (IniDBBuilderPackage::add_correct_version): Use STL iterators rather
6352 Remove source package references.
6353 (IniDBBuilderPackage::process_src): Remove source package code as it's
6354 now handled separately.
6355 Set Path information before merging versions, to prevent dangling
6357 * IniDBBuilderPackage.h (IniDBBuilderPackage::buildPackageRequirement):
6359 (IniDBBuilderPackage::cpv): Remove.
6360 (IniDBBuilderPackage::cbpv): New generic binary working variable.
6361 (IniDBBuilderPackage::cspv): Ditto, but for source packages.
6362 (IniDBBuilderPackage::csp): Source package variable for disjoint
6364 * Makefile.am (AM_CFLAGS): Remove -Winline to allow stl set code
6365 to compile. If it compiles cleanly in gcc 3.1, then reinstate.
6366 * PickPackageLine.cc: Adjust packageversion accessors to the new
6367 reference calls. (i.e. -> to .) throughout.
6368 (PickPackageLine::paint): Use accessible() for clarity.
6369 Use new split out source package logic.
6370 (PickPackageLine::click): Ditto.
6371 * PickView.cc (PickView::init_headers): Adjust packageversion accessors
6372 to the new reference calls. (i.e. -> to .) throughout.
6373 Use new split out source package logic.
6374 * choose.cc: Don't depend on a specific package type.
6375 Adjust packageversion accessors to the new reference calls. (i.e. -> to
6377 (set_existence): Use accessible () for clarity.
6378 (default_trust): Simplify a little.
6379 (scanAVersion): Factored out code from scan_downloaded_files for
6381 (scan_downloaded_files): Factor out inner loop for clarity.
6382 (ChooserPage::OnNext): Don't dump the dependency list,
6383 it's parsing is robust now!.
6384 * cygpackage.cc (createInstance): Use a factory method to create new
6386 (cygpackage::cygpackage): Make this private for use by the factory.
6387 (cygpackage::setCanonicalVersion): Renamed from set_canonical_version.
6388 Remove key usage as it's obsolete.
6389 * cygpackage.h (cygpackage): Inherit from _packageversion, not
6391 (cygpackage::createInstance): New factory.
6392 (cygpackage::cygpackage): Make private.
6393 * desktop.cc (make_passwd_group): Use new packageversion reference.
6394 * download.cc (do_download_thread): Use changeRequested() for clarity.
6395 Use new packageversion reference calls.
6396 * iniparse.y (REQUIRES): Reuse the packageList code and dump the one-off
6398 * install.cc: Adjust -> to ., and use the new accessor functions for
6399 packageversion throughout.
6400 * package_db.cc: Adjust -> to ., and use the new accessor functions for
6401 packageversion throughout.
6402 (packagedb::packagedb): Use the new cygpackage factory.
6403 (packagedb::flush): Leverage String to remove buffer overflow chance in
6405 (packagedb::findBinary): Find a binary meta package that has a version
6406 matching a given specification.
6407 (packagedb::findSource): Ditto, but for source.
6408 * package_db.h (packagedb::findBinary): Declare.
6409 (packagedb::findSource): Ditto.
6410 * package_meta.cc: Adjust packageversion accessors to the new
6411 reference calls. (i.e. -> to .) throughout.
6412 Include the package_meta header first to ensure it parses standalone.
6413 Use the STL algorithms.
6414 (packagemeta::packagemeta): Create a copy constructor to allowing
6415 cloning binary package metadata to source package metadata.
6416 (packagemeta::~packagemeta): Use the STL coleltion code rather than
6417 custom collection code.
6418 (packagemeta::add_version): Ditto.
6419 (packagemeta::set_installed): Ditto.
6420 (packagemeta::SDesc): Ditto.
6421 (hasSDesc): Helper function for find_if.
6422 (checkForInstalled): Ditto.
6423 (checkForUpgradeable): Ditto.
6424 (checkForSatisfiable): Ditto.
6425 (packagemeta::action_caption): Update for split out source packages.
6426 (packagemeta::set_action): Ditto.
6427 (packagemeta::set_requirements): Support multi-valued dependency
6428 lists - a|b & c|d - with versioned package specifications.
6429 (packagemeta::accessible): Helper member to improve abstraction.
6430 (packagemeta::sourceAccessible): Ditto.
6431 * package_meta.h: Adjust packageversion accessors to the new
6432 reference calls. (i.e. "->" to "." and"*" to "" ) throughout.
6433 (packagemeta::packagemeta): Declare copy constructor.
6434 Remove self initialising members.
6435 (packagemeta::set_action): Update parameters for new packageversion.
6436 (packagemeta::trustp): Ditto.
6437 (packagemeta::versions): Becomes an STL set.
6438 * package_source.h (packagesource::Cached): Const correctness change.
6439 * package_version.cc: Rewrite the packageversion interface to remove
6440 the cygpackage nonvirtual members, and provide a copy by value,
6441 pointer semantics reference counting wrapper class to ease use and
6442 comparison of packageversions.
6443 Change existing packageversion class to _packageversion throughout.
6444 (_defaultversion): A trivial concrete class to prevent specialcasing
6445 the default constructor for packageversion;
6446 (packageversion::packageversion): Implement.
6447 (packageversion::~packageversion): Ditto.
6448 (packageversion::operator=): Ditto.
6449 (packageversion::operator !): Ditto.
6450 (packageversion::operator bool): Ditto.
6451 (packageversion::operator ==): Ditto.
6452 (packageversion::operator !=): Ditto.
6453 (packageversion::operator <): Ditto.
6454 (packageversion::Name): Ditto.
6455 (packageversion::Canonical_version): Ditto.
6456 (packageversion::setCanonicalVersion): Ditto.
6457 (packageversion::getfirstfile): Ditto.
6458 (packageversion::getnextfile): Ditto.
6459 (packageversion::SDesc): Ditto.
6460 (packageversion::set_sdesc): Ditto.
6461 (packageversion::LDesc): Ditto.
6462 (packageversion::set_ldesc): Ditto.
6463 (packageversion::sourcePackage): Ditto.
6464 (packageversion::sourcePackageSpecification): Ditto.
6465 (packageversion::setSourcePackageSpecification): Ditto.
6466 (packageversion::depends): Ditto.
6467 (packageversion::predepends): Ditto.
6468 (packageversion::recommends): Ditto.
6469 (packageversion::suggests): Ditto.
6470 (packageversion::replaces): Ditto.
6471 (packageversion::conflicts): Ditto.
6472 (packageversion::provides): Ditto.
6473 (packageversion::picked): Ditto.
6474 (packageversion::pick): Ditto.
6475 (packageversion::changeRequested): Ditto.
6476 (packageversion::uninstall): Ditto.
6477 (packageversion::source): Ditto.
6478 (packageversion::accessible): Ditto.
6479 (_packageversion::sourcePackage): Ditto.
6480 (_packageversion::accessible): Ditto.
6481 (_packageversion::changeRequested): Ditto.
6482 * package_version.h: Rewrite the packageversion interface to remove
6483 the cygpackage nonvirtual members, and provide a copy by value,
6484 pointer semantics reference counting wrapper class to ease use and
6485 comparison of packageversions.
6486 Change existing packageversion class to _packageversion throughout.
6487 (Dependency): Remove.
6488 (packageversion): New wrapper class.
6489 (_packageversion): Renamed from packageversion.
6490 (_packageversion::setCanonicalVersion): New method.
6491 (_packageversion::sourcePackage): Ditto.
6492 (_packageversion::sourcePackageSpecification): Ditto.
6493 (_packageversion::setSourcePackageSpecification): Ditto.
6494 (_packageversion::changeRequested): Ditto.
6495 (_packageversion::bin): Rename to source.
6496 (_packageversion::src): Remove.
6497 (_packageversion::accessible): New method.
6498 (_packageversion::references): Allow reference counting.
6499 (_packageversion::sourceVersion): Cached the best-match source
6502 2002-06-27 Robert Collins <rbtcollins@hotmail.com>
6504 * compress_bz.h (compress_bz::position): Track how much has been read.
6505 * compress_bz.cc (compress_bz::compress_bz): And initialise it.
6506 (compress_bz::read): Track amount read by the client.
6507 (compress_bz::tell): And report it when asked.
6509 2002-06-27 Robert Collins <rbtcollins@hotmail.com>
6511 * Makefile.am (snapshot): Automate snapshot creation some more.
6513 2002-06-27 Robert Collins <rbtcollins@hotmail.com>
6515 * msg.cc (msg): Use vsnprintf to avoid buffer overflows.
6517 * ini.cc (fprintf): Ditto.
6518 * log.cc (log): Ditto.
6519 * package_db.cc (packagedb::sourcePackages): Split out source packages
6520 from binary packages.
6521 * package_db.h: Ditto.
6523 2002-06-27 Robert Collins <rbtcollins@hotmail.com>
6525 * PackageSpecification.h: New file. Abstracts the ability to refer
6526 to another package, by name, or name and version.
6527 * PackageSpecification.cc: Ditto.
6528 * IniDBBuilder.cc (IniDBBuilder::buildPackageInstall): Simplify.
6529 (IniDBBuilder::buildPackageSource): Ditto.
6530 (IniDBBuilder::buildBeginDepends): New method for versioned
6532 (IniDBBuilder::buildBeginPreDepends): Likewise, for dependencies to be
6533 satisfied before pre-install.
6534 (IniDBBuilder::buildPriority): New method, for getting the package
6536 (IniDBBuilder::buildInstalledSize): How much disk space does it need?
6537 (IniDBBuilder::buildMaintainer): Who maintains the package?
6538 (IniDBBuilder::buildArchitecture): What platform is it for?
6539 (IniDBBuilder::buildInstallSize): How big is the binary download?
6540 (IniDBBuilder::buildInstallMD5): Whats the MD5 on the binary?
6541 (IniDBBuilder::buildSourceMD5): Whats the MD5 on the source package?
6542 (IniDBBuilder::buildBeginRecommends): What other packages are
6543 recommended with this one?
6544 (IniDBBuilder::buildBeginSuggests): And suggested?
6545 (IniDBBuilder::buildBeginReplaces): What packages does this replace?
6546 (IniDBBuilder::buildBeginConflicts): And collide with?
6547 (IniDBBuilder::buildBeginProvides): What virtual packages (or obsolete
6548 package names) does this provide?
6549 (IniDBBuilder::buildDescription): Grab a multi line description one
6551 (IniDBBuilder::buildSourceName): What source package should be used to
6552 install the source for this binary package?
6553 (IniDBBuilder::buildSourceNameVersion): Is a specific version needed?
6554 (IniDBBuilder::buildPackageListAndNode): Add another AND clause to a
6555 list of package specifications.
6556 (IniDBBuilder::buildPackageListOrNode): Add another OR clause.
6557 (IniDBBuilder::buildPackageListOperator): Add a versioning operator
6558 to the current specification.
6559 (IniDBBuilder::buildPackageListOperatorVersion): What version does the
6561 * IniDBBuilder.h: Declare all the IniDBBuilder.cc changes.
6562 * IniDBBuilderPackage.cc: As for IniDBBuilder.cc.
6563 (IniDBBuilderPackage::IniDBBuilderPackage): Iniitialize new members.
6564 (IniDBBuilderPackage::process_src): Streamline and split out
6566 (IniDBBuilderPackage::setSourceSize): From process_src.
6567 * IniDBBuilderPackage.h: Declare the IniDBBuilderPackage.cc changes.
6568 (IniDBBuilderPackage::currentSpec): Track the in-progress specifiation.
6569 (IniDBBuilderPackage::currentOrList): Track the current Or list.
6570 (IniDBBuilderPackage::currentAndList): Track the current And list.
6571 * IniParseFeedback.cc (IniParseFeedback::progress): Provide completion
6572 progress on parsing.
6573 (IniParseFeedback::iniName): Tell what ini filename we are currently
6575 * IniParseFeedback.h: Declare IniParseFeedback.cc changes.
6576 * IniParseFindVisitor.cc (IniParseFindVisitor::IniParseFindVisitor):
6577 Make the feedback object non-const to allow mutating methods which are
6578 needed when the object has state.
6579 (IniParseFindVisitor::visitFile): Tell the caller the name of each
6581 Initialise the parser with the feedback object to allow it to tell of
6583 * IniParseFindVisitor.h: Declare IniParseFindVisitor.cc changes.
6584 * Makefile.am (inilinst_SOURCES): Add more requisite classes.
6585 (setup_SOURCES): Add the new PackageSpecification sources.
6586 * ScanFindVisitor.cc (ScanFindVisitor::visitFile): Use the new
6587 builder syntax to setup binary package details.
6588 * choose.cc: Use the LogSingleton calls throughout.
6589 * configure.in: Create the INILINT substitution correctly for recent
6590 autotool configurations.
6591 * cygpackage.cc (cygpackage::getfirstfile): Return an empty String
6592 rather than a string built from an int. Thanks to Pavel Tsekov for
6593 identifying the bug.
6594 (cygpackage::getnextfile): Ditto.
6595 * download.cc: Use LogSIngletion calls throughout.
6596 (validateCachedPackage): A refactoring of the
6597 check_for_cached code to eliminate duplciation.
6598 (check_for_cached): Use validateCachedPackage to check packages.
6599 * ini.cc (GuiParseFeedback): Provide gui feedback on ini name and
6601 (do_remote_ini): Ditto.
6602 * ini.h (ini_init): Pass a IniParseFeedback to the parser, to allow
6604 * inilex.l: Identify new symbols - operators, and multi line plain text.
6606 * inilintmain.cc (show_help): Provide basic infomation on inilint.
6607 * iniparse.y: Adjust for the new builder syntax, and process debian
6609 * io_stream_file.cc: Always include mkdir.h.
6610 * list.h: Factor index location into a private routine.
6611 (list::findindex): Implement this.
6612 * mkdir.cc (mkdir_p): Make the use of WIN32 code conditional on mingw
6613 builds. NB: This breaks cygwin build functionality still.
6614 * package_meta.cc: Use the LogSingleton calls throughout.
6615 (packagemeta::set_requirements): Adjust for object changes in
6617 * package_meta.h (packagemeta::packagemeta): Initialise new members.
6618 (packagemeta::architecture): What platform does this package run on?
6619 This may need to move in the future to a per packagefile object.
6620 (packagemeta::priority): What priority does this package have?
6621 * package_source.h (packagesource::packagesource): Initialise new
6623 (packagesource::installedSize): How much space does the package need?
6624 (packagesource::setInstalledSize): Tell the amount.
6625 (packagesource::_installedSize): And store it.
6626 * package_version.cc (packageversion::sourcePackage): return the
6628 (packageversion::setSourcePackage): And set it.
6629 * package_version.h: Declare the package_version.cc changes.
6630 (packageversion::depends): New package specification AND list.
6631 (packageversion::predepends): Ditto.
6632 (packageversion::recommends): Ditto.
6633 (packageversion::suggests): Ditto.
6634 (packageversion::replaces): Ditto.
6635 (packageversion::conflicts): Ditto.
6636 (packageversion::provides): Ditto.
6637 (packageversion::sourcePackage): What source package is needed?
6638 * threebar.cc (ThreeBarProgressPage::SetText4): Set the label beside
6640 * threebar.h: Declare the threebar.cc change.
6642 2002-06-27 John Marshall <johnm@falch.net>
6644 * res.rc (SETUPINI_MISSING): Make trailing spaces visible.
6645 * site.cc (SitePage::OnMessageCmd): Ditto
6647 2002-06-15 Robert Collins <rbtcollins@hotmail.com>
6649 * nio-ie5.cc (NetIO_IE5::NetIO_IE): Allow cached data.
6651 2002-06-15 Robert Collins <rbtcollins@hotmail.com>
6653 * package_meta.cc (packagemeta::set_action): When installing packages
6654 with no binaries, choose the source package.
6656 2002-06-10 Robert Collins <rbtcollins@hotmail.com>
6658 * IniParseFindVisitor (IniParseFindVisitor::visitFile): Apply Max
6659 Bowshers fix for the crash with a root level setup.ini.
6660 * README: Update todos.
6662 2002-05-26 Ralf Habacker <ralf.habacker@freenet.de>
6664 * archive_tar.cc (archive_tar::next_file_name()): fixed broken
6665 GNU long name extension support.
6667 2002-05-27 Robert Collins <rbtcollins@hotmail.com>
6669 * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Don't
6670 unescape 0 length strings.
6672 2002-05-20 Robert Collins <rbtcollins@hotmail.com>
6674 * package_meta.cc (packagemeta::set_action): Don't allow reinstall
6675 when local with no cached file, and install the default source if the
6676 default version has no binary.
6678 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
6680 * IniDBBuilderPackage.cc (IniDBBuilderPackage::IniDBBuilderPackage): New
6682 (IniDBBuilderPackage::buildVersion): Provide a warning when a newer
6683 setup version created the ini file.
6684 * IniDBBuilderPackage.h (IniDBBuilderPackage::IniDBBuilderPackage): New
6686 * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Use the new
6688 * IniParseFindVisitor.h (IniParseFindVisitor::IniParseFindVisitor):
6689 Require a feedback strategy.
6690 * Makefile.am (setup_SOURCES): Add IniParseFeedback sources.
6691 * Makefile.in: Regenerate.
6693 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
6695 * io_stream_file.cc (io_stream_file::remove): Use the SetFileAttributes
6696 trick to delete read only files.
6697 * io_stream_cygfile.cc (io_stream_cygfile::remove): Use file:// to
6699 * Makefile.am (release): Tweak to be more helpful.
6700 * Makefile.in: Regenerate.
6702 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
6704 * Makefile.am (release): Tweak to be more helpful.
6705 * Makefile.in: Regenerate.
6707 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
6709 * Makefile.am (release): Tweak to be more helpful.
6710 * Makefile.in: Regenerate.
6712 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
6714 * choose.cc (scan_downloaded_files): When a non-installed version
6715 has neither bin nor src cached files for local installs,
6716 remove the version from availability.
6718 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
6720 * ini.cc (do_remote_ini): Save uncompressed ini's correctly.
6722 2002-05-19 Robert Collins <rbtcollins@hotmail.com>
6724 * rsync: New support library, contains librsync. This is not (yet)
6725 rsync interoperable.
6726 * configure.in: --with-rsync to enable rsync support. (Not complete).
6727 * Makefile.am: Enable building with rsync.
6728 * Makefile.in: Regenerate.
6730 * IniDBBuilder.cc (IniDBBuilder::buildPackageInstall): Pass the md5 as
6732 (IniDBBuilder::buildPackageSource): Ditto.
6733 * IniDBBuilder.h: Ditto.
6734 * IniDBBuilderPackage.cc: Ditto.
6735 * IniDBBuilderPackage.h: Ditto.
6736 * FindVisitor.cc: New file.
6737 * FindVisitor.h: New file, interface for visiting a file system
6739 * IniParseFindVisitor.cc: New file.
6740 * IniParseFindVisitor.h: New file, concrete FindVisitor that parses
6742 * README: Update TODO's.
6743 * String++.cc (String::String): New constructor for <string> inter-
6745 (String::substr): New method.
6746 * String++.h: Ditto.
6747 * choose.cc (scan2): Remove.
6748 (scan_downloaded_files): Simplify.
6749 * dialog.h: Include parsing pre-requirements.
6750 * download.cc (check_for_cached): Fullname was used incorrectly - fix.
6751 * filemanip.cc (parse_filename): -src packages where incorrectly parsed.
6752 * find.cc: Rewrite. Now uses a Visitor pattern and is re-entrant.
6754 * fromcwd.cc: Remove unneeded includes.
6755 (is_test_version): Remove.
6756 (found_file): Remove.
6757 (SetupFindVisitor): Trivial visitor to detect setup.ini's.
6758 (found_ini): Remove.
6759 (do_fromcwd): Remove commented code that has be replaced elsewhere.
6760 * ini.cc (local_ini): Remove.
6761 (findBuilder): Remove.
6762 (find_routine): Remove.
6763 (do_local_ini): Use new IniParseFindVisitor.
6764 * iniparse.y: Typecase MD5 arrays, as we know they are allocated as
6766 * postinstall.cc: Remove non-core includes.
6767 (run_script_in_postinstall): Remove.
6768 (RunFindVisitor): Trivial Visitor, runs each found script.
6769 (do_postinstall): Use new find syntax.
6771 2002-05-14 Christopher Faylor <cgf@redhat.com>
6773 * ini.cc (find_routine): Don't clear buffer it it's NULL.
6775 2002-05-14 Christopher Faylor <cgf@redhat.com>
6777 * filemanip.h (trail): Declare.
6778 * filemanip.cc (trail): New function.
6779 (find_tar_ext): Use trail() instead of strstr().
6780 * fromcwd.cc (check_ini): Ditto.
6781 * ini.cc (find_routine): Ditto. Don't tack local_dir to path since it
6782 should now be fully qualified. Set ini_filename. Reset error_buf and
6783 error_count for any subsequent ini file parsing.
6784 (ini_filename): New static variable for parse error reporting.
6785 (yyerror): Use full path of setup.ini in error message. Subtract one
6786 from line number if at bol.
6787 * find.cc (found_part): Eliminate.
6788 (find_sub): Call for_each with full path found rather than just file
6790 (find): Don't calculate found_part.
6791 * inilex.l (ini_init): Flush input buffer and reset line number.
6792 (yybol): New function. Exports YY_AT_BOL.
6793 * iniparse.y: Increase stack depth to allow more tokens to be processed.
6794 (yyparse): Remove newline from error condition to allow subsequent
6795 per-line error processing to proceed normally.
6797 2002-05-14 Christopher Faylor <cgf@redhat.com>
6799 * find.cc (find_sub): Be more defensive in preserving trailing parts of
6800 components when doing recursive directory searches or calling user
6801 supplied for_each().
6802 * ini.cc (find_routine): Don't assume that any path name with
6803 "setup.ini" in it is actually a setup.ini file. Only honor trailing
6804 components. Copy path argument to temporary storage when unescaping
6805 to prevent nuking of argument.
6807 2002-05-12 Robert Collins <rbtcollins@hotmail.com>
6809 * CONTRIBUTORS: New file.
6811 2002-04-02 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
6813 * choose.cc: Run indent.
6814 (nextbutton): Remove static variable.
6815 (default_trust): Remove use of nextbutton.
6816 (set_view_mode): Ditto.
6817 (create_listview): Add IDC_CHOOSE_PREV and IDC_CHOOSE_NEXT to ta[] so
6818 rbset() sets the prev/next/curr radio buttons properly.
6819 (dialog_cmd): Delete function.
6820 (dialog_proc): Delete function. Move WM_INITDIALOG functionality to
6821 ChooserPage::OnInit.
6822 (do_choose): Delete function. Move pre-DialogBox() code to
6823 ChooserPage::OnInit(), post-DialogBox() code to ChooserPage::OnNext.
6824 (WM_APP_START_CHOOSE): Remove define.
6825 (WM_APP_CHOOSE_IS_FINISHED): Remove define.
6826 (do_choose_thread): Delete function.
6827 (ChooserPage::OnActivate): Delete method.
6828 (ChooserPage::OnMessageApp): Delete method.
6829 (ChooserPage::OnInit): New method.
6830 (ChooserPage::OnNext): New method.
6831 (ChooserPage::OnBack): New method.
6832 (ChooserPage::OnMessageCmd): New method.
6833 * choose.h: Run indent.
6834 (ChooserPage::OnMessageApp): Delete declaration.
6835 (ChooserPage::OnActivate): Ditto.
6836 (ChooserPage::OnMessageCmd): New declaration.
6837 (ChooserPage::OnInit): Ditto.
6838 (ChooserPage::OnNext): Ditto.
6839 (ChooserPage::OnBack): Ditto.
6840 * desktop.cc (DesktopSetupPage::OnBack): Replace use of IDD_CHOOSER
6842 * fromcwd.cc (do_fromcwd): Replace use of IDD_CHOOSER with IDD_CHOOSE.
6843 * ini.cc (do_ini_thread): Replace use of IDD_CHOOSER with IDD_CHOOSE.
6844 * res.rc (IDD_CHOOSE): Remove dialog template.
6845 (IDD_CHOOSER): Alter dialog template to fit wizard size and format.
6847 2002-05-12 Robert Collins <rbtcollins@hotmail.com>
6849 * LogFile.cc (endLog): Work around an apparent libg++-3 bug causing
6850 corrupt log file entries.
6851 * geturl.cc: Convert to the new LogSingleton logging.
6853 2002-05-12 Robert Collins <rbtcollins@hotmail.com>
6855 * ini.cc (do_remote_ini): Use setup.bz2 if it exists in preference to
6858 2002-05-12 Robert Collins <rbtcollins@hotmail.com>
6860 * geturl.h: Declare getUrlToStream.
6861 * geturl.cc (getUrlToStream): New function.
6862 (get_url_to_membuf): Refactor to use getUrlToStream.
6864 2002-05-11 Robert Collins <rbtcollins@hotmail.com>
6866 * Makefile.am: Add a release target to automate some of the routine
6868 * Makefile.in: Regenerate.
6870 2002-05-11 Robert Collins <rbtcollins@hotmail.com>
6872 * choose.cc (scan_downloaded_files): On local installs remove all
6873 mirror sites if no cached copy of a package is found.
6875 2002-05-10 Robert Collins <rbtcollins@hotmail.com>
6877 * Makefile.in: Regenerate.
6878 * iniparse.y: Use left recursion, not right in the lines rule to
6879 avoid stack overflows.
6880 * README: Update TODO's.
6881 * io_stream_file.cc: Native builds need to include sys/stat.h
6883 2002-05-06 John Marshall <jmarshall@acm.org>
6885 * site.cc (SitePage::OnMessageCmd): recalculate navigation
6886 button activation when "Add" is pressed.
6887 (SitePage::CheckControlsAndDisableAccordingly): tweak comment.
6889 2002-05-07 Robert Collins <rbtcollins@hotmail.com>
6891 * Makefile.am (inlint_SOURCES): Add conditional objects to inilint
6892 depending on platform.
6893 Add file:// support.
6894 * configure.in: Set conditional MINGWTARGET if compiling against mingw
6896 * Makefile.in: Regenerate.
6898 * io_stream_file.cc: Only use win32 calls when building for mingw.
6900 2002-05-05 Robert Collins <rbtcollins@hotmail.com>
6902 * Makefile.am (noinst_PROGRAMS): Make inilint configurable.
6903 * configure.in: Ditto.
6904 Fix incorrect header checking syntax.
6905 * aclocal.m4: Regenerate.
6906 * configure: Regenerate.
6907 * Makefile.in: Regenerate.
6908 * io_stream.cc: Remove platform specific and provider specific code.
6909 (io_stream::registerProvider): New method, registers a Url provider with
6911 Make all methods consistently throw invalid_argument exceptions when
6912 a provider that is requested is not present.
6913 (findProvider): New private function, finds a provider.
6914 * io_stream.h: Declare io_stream::registerProvider.
6915 * io_stream_cygfile.cc: Create a Provider class to register with
6917 * io_stream_file.cc: Ditto.
6918 * archive.cc: Remove unneeded includes.
6919 * archive_tar.cc: Remove unneeded includes.
6920 * archive_tar.h: Add required include.
6921 * archive_tar_file.cc: Remove unneded includes.
6922 * choose.cc: Remove unneeded includes:
6924 2002-05-04 Robert Collins <rbtcollins@hotmail.com>
6926 * io_stream.cc: Use the new log interface thruout.
6928 2002-05-04 Robert Collins <rbtcollins@hotmail.com>
6930 * log.cc (log): Reimplement via LogSingleton.
6932 (exit_setup): Remove.
6933 * log.h (log_save): Remove.
6934 (exit_setup): Remove.
6935 * LogSingleton.cc: New file.
6936 * LogSingleton.h: New file.
6937 * LogFile.cc: New file.
6938 * LogFile.h: New file.
6939 * Makefile.am (inilint_SOURCES): Add the new log interface.
6940 (setup_SOURCES): Add the new log interface and the concrete File
6942 * Makefile.in: Regenerate.
6943 * archive.cc: Use the new log interface thruout.
6944 * archive_tar.cc: Ditto.
6946 * dialog.cc (fatal): Use the new log interface.
6947 * ini.cc (do_ini_thread): Use the log interface to exit.
6948 * isntall.cc (do_install_thread): Ditto.
6949 * netio.cc (auth_cmd): Ditto.
6950 * msg.cc (fatal): Ditto.
6951 * localdir.cc (save_local_dir): Save to different files depending on
6952 the mode, and if a root dir exists.
6954 2002-05-04 Robert Collins <rbtcollins@hotmail.com>
6956 * IniDBBuilder.cc: New file.
6957 * IniDBBuilder.h: New file.
6958 * IniDBBuilderPackage.cc: New file.
6959 * IniDBBuilderPackage.h: New file.
6960 * PackageTrust.h: New file.
6961 * IniState.h: Remove, wasn't thought out well enough.
6962 * Makefile.am (inilint_SOURCES): Add more requirements.
6963 (setup_SOURCES): Add new Builder base and concrete classes.
6964 * Makefile.in: Regenerate.
6965 * String++.cc (String::String): Implement int contructor.
6966 * String++.h (String): Declare int constructor.
6967 * archive_tar.cc (archive_tar::next_file_name): Return String() when
6969 * archive_tar.h (archive_tar_file): Remove get_next_filename method,
6971 * ini.cc: Replace IniState wuth IniDBBuilderPacakge.
6972 (find_routine): Use new IniDBBuilder to configure the parser.
6973 (do_local_ini): Ditto.
6974 (do_remote_ini): Ditto.
6975 * ini.h: Use IniDBBuilder to initialise parsing.
6976 * inilex.l (MD5): Parse the MD5 string correctly, we had the nibbles
6978 (ini_init): Use an IniDBBuilder rather than static variables.
6979 * iniparse.y: Hand off all the object creation to a builder, rather
6980 than hardcoding the behaviour. This allows run-time configured
6982 * io_stream_cygfile.h (io_stream_cygfile): Remove get_next_filename
6983 method, it's not needed.
6984 * io_stream_file.h (io_stream_file): Ditto.
6985 * mount.cc (cygpath): Return String() for missing mounts.
6986 * package_meta.cc (packagemeta::SDesc): Return String() for blank
6988 * package_meta.h (trusts): Remove - replaced by PackageTrust.h.
6989 (packagemeta::packagemeta): Fix incorrect syntax in String constructor
6991 * cygpackage.cc (cygpackage::cygpackage): Fix incorrect syntax in
6992 String constructor usage.
6993 * site.h (site_list_type): Ditto.
6995 2002-05-03 Robert Collins <rbtcollins@hotmail.com>
6997 * String++.h: Declare a << operator that accepts String objects.
6998 * String++.cc: We need iostream for..
6999 (operator <<): this. Provide a << operator that accepts String objects.
7000 * ini.cc (yyerror): Remove the "C" classifier - it's not needed.
7001 Change from vargs to a String parameter.
7002 * inilintmail.cc: Remove the gui related headers.
7003 (yyerror): Implement this for parsing.
7004 * iniparse.y: Use the new yyerror syntax.
7006 2002-05-03 Robert Collins <rbtcollins@hotmail.com>
7008 * Makefile.am: Add IniState.h.
7009 * Makefile.in: Regenerate.
7010 * IniState.h: New file.
7011 * choose.cc: Don't include ini.h - it's not needed.
7012 * configure: Regenerate.
7013 * desktop.cc: Don't include ini.h - it's not needed.
7014 * download.cc: Ditto.
7015 * fromcwd.cc: Ditto.
7016 * ini.cc: Use IniState.h to track each parsing calling.
7017 (find_routine): Ditto.
7018 (do_remote_ini): Ditto.
7019 (do_ini_thread): Ditto.
7020 * ini.h (ini_init): Adjust parameters to include state object.
7021 * inilex.l: Declare parser state variable.
7022 (ini_init): Adjust parameters to include state object.
7023 * iniparse.y: Remove obsolete setup_timestamp and setup_version
7025 (setup_header): Use new state variable to track time and version.
7026 (add_correct_version): Ditto.
7027 * install.cc: Don't include ini.h - it's not needed.
7029 2002-05-03 Robert Collins <rbtcollins@hotmail.com>
7031 * nio-files.cc (NetIO): Use io_stream syntax for get_file_size.
7032 * io_stream_file.cc: Don't include filemanip.h.
7033 (io_stream_file::get_size): Implement here to remove filemanip
7035 * io_stream_cygfile.cc: Don't include filemanip.h.
7036 (io_stream_cygfile::get_size): Implement here to remove filemanip
7038 Implement a stat based version for when win32 is not available.
7039 * filemanip.h (get_file_size): Return size_t - it's more appropriate.
7040 * filemanip.cc: Don't include win32.h - be platform independent.
7041 Include strings.h and io_stream.h as part of that.
7042 (get_file_size): Leverage io_streams and remove win32 implementation.
7043 * download.cc (check_for_cached): Use io_stream syntax for
7045 (download_one): Ditto.
7047 2002-05-02 Robert Collins <rbtcollins@hotmail.com>
7049 * configure.in: Correct a typo in last change.
7050 * configure: Regenerate.
7051 * Makefile.in: Regenerate.
7053 2002-05-02 Robert Collins <rbtcollins@hotmail.com>
7055 * configure.in: Check for string.h and string.
7056 * configure: Regenerate.
7057 * Makefile.in: Regenerate.
7059 2002-05-01 Robert Collins <rbtcollins@hotmail.com>
7061 * res.rc (IDD_SPLASH): Remove white box.
7063 2002-05-01 Robert Collins <rbtcollins@hotmail.com>
7065 Oops! forgot to list these in the last checkin.
7066 * inilintmain.cc: New file.
7067 * md5.h: New file - imported md5 source, BSD style licence.
7068 * md5.cc: New file - imported md5 source, BSD style licence.
7069 * Exception.cc: New file.
7070 * Exception.h: New file.
7071 * MD5++.cc: New file.
7072 * MD5++.h: New file.
7074 2002-05-01 Robert Collins <rbtcollins@hotmail.com>
7076 * Makefile.am (AM_CFLAGS): Remove -mwindows, it's a linker flag.
7077 Remove -fno-rtti, we need it for exceptions.
7078 (AM_CXXFLAGS): Ditto.
7079 (WARNONLY_CFLAGS): Ditto.
7080 (EXTRA_PROGRAMS): Add with initial linter sources - not functional yet.
7081 (setup_LDFLAGS): Add and set to -mwindows.
7082 (setup_SOURCES): Add new sources.
7083 * Makefile.in: Regenerate.
7084 * README: Update TODO.
7085 * choose.cc (scan_downloaded_files): Use ini information if it's
7087 * configure: Regenerate.
7088 * download.cc (check_for_cached): Make reusable from elsewhere.
7089 Throw exceptions on errors (as opposed to failures).
7090 Check MD5 sum when it's known.
7091 (download_one): Never force a download.
7092 Handle corrupt package exceptions.
7093 * ini.cc (find_routine): Reverse escape the URL to correctly identify
7095 * inilex.l (MD5): Provide a parsing rule (note: lowercase is required).
7096 * iniparse.y: Allow calculation of MD5 sums, and allow src only
7098 (process_src): New helper function.
7099 * isntall.cc (install_one_source): Check MD5 sums when possible.
7100 Throw exceptions on errors.
7101 (do_install_thread): Handle exceptions for installation calls.
7102 * package_source.h: Store MD5 information.
7103 * propsheet.cc (PropSheet::Create): Add a useful comment.
7104 * res.rc (IDS_INSTALL_ERROR): Define.
7105 (IDS_CORRUPT_PACKAGE): Define.
7106 * resource.h (IDS_INSTALL_ERROR): Define.
7107 (IDS_CORRUPT_PACKAGE): Define.
7108 * rfc1738.cc (rfc1738_unescape_part): Implement.
7109 * rfc1738.h (rfc1738_unescape_part): Declare.
7111 2002-04-29 Robert Collins <rbtcollins@hotmail.com>
7113 * Makefile.am: Remove dependecy rules that automake emits.
7114 Correct badly copied dependency info for manually compiled files.
7115 (setup_SOURCES): Add all used headers.
7116 (EXTRA_DIST): Include non compilate but required sources.
7117 (setup_LDADD): Remove mingw32, it is autodetected.
7118 * Makefile.in: Regenerate.
7119 * String++.h: sys/types is a system header.
7120 * choose.cc (do_choose_thread): Make into a Win32 thread routine.
7122 (ChooserPage::OnMessageApp): Use Win32 threads. (_beginthread is not
7124 * configure: Regenerate.
7125 * configure.in: Check for mingw32/cygwin specific headers and libraries.
7126 * cygpackage.h: Include the win32.h header to get correct macro
7127 definitions in all situations.
7128 * download.cc (do_download_reflector): Make into a Win32 thread routine.
7130 (do_download): Use Win32 threads.
7132 * install.cc: Ditto.
7133 * (WinMain): Adjust to build valid command line using application
7134 under both mingw32 and cygwin.
7135 * mount.cc (set)cygdrive_flags): Create new system flags if the
7136 user requests system and the value does not exist.
7137 * nio-http.cc: Define a _strnicmp for cygwin.
7138 * package_db.cc: Include <errno.h> if it exists.
7139 * site.cc (do_download_site_info_thread): Make into a Win32 thread
7142 (do_download_site-Info): Use Win32 threads.
7143 * state.cc: Explicity declare variables to avoid header conflicts
7144 caused by '#define extern" on cygwin.
7145 * win32.h: Include <alloca.h> if it exists.
7146 (_MAX_PATH): Define as MAX_PATH when not defined by windows.h.
7147 (_access): Define as access if not defined by windows.h.
7149 2002-04-27 Robert Collins <rbtcollins@hotmail.com>
7151 * compress_gz.cc (compress_gz::error): EOF is not an error condition.
7153 2002-04-27 Robert Collins <rbtcollins@hotmail.com>
7155 * Makefile.am: Add libgetopt++ to the subdirs list.
7156 Search the libgetopt++ header directory.
7157 Link against libgetopt++.la.
7158 (setup_SOURCES): Remove GetOption.cc and getopt.c and Option.cc.
7159 (setup_LDADD): Explicitly include res.o.
7160 * Makefile.in: Regenerate.
7161 * aclocal.m4: Regenerate.
7162 * bootstrap.sh: Call libtoolize.
7163 * configure: Regenerate.
7164 * configure.in: Add libtool support and configure libgetopt++.
7165 * desktop.cc (NoShortcutsOption): Turn into a BoolOption.
7166 (DesktopSetupPage::OnInit): Use the simpler syntax.
7167 * desktop.h: Remove dependency on Option.h, and remove NoShortcustOption
7169 * main.cc: Include getopt++/GetOption.h.
7170 (main): Use simpler syntax.
7174 * GetOption.h: Remove.
7175 * GetOption.cc: Remove.
7177 * Option.cc: Remove.
7179 2002-04-26 Robert Collins <rbtcollins@hotmail.com>
7181 * Makefile.am: Add zlib and bz2lib to SUBDIRS.
7183 2002-04-26 Robert Collins <rbtcollins@hotmail.com>
7185 * aclocal.m4: New file, cached macros.
7186 * bootstrap.sh: New file, calls required autotools in appropriate
7188 * Makefile.am: New file, input Makefile for automake.
7189 * Makefile,in: Now a generated file - regenerate.
7190 * configure: Regenerate.
7191 * configure.in: Add automake support.
7192 * inilex.l: Change VERSION to PACKAGEVERSION to avoid a collision with
7193 automake's VERSION define.
7194 * iniparse.y: Ditto.
7196 2002-04-26 Robert Collins <rbtcollins@hotmail.com>
7198 * cdefs.h: New file, imported to allow getopt.c to build without
7200 * getopt.h: New file, imported to allow building without cygwin headers.
7202 * bz2lib: New directory, contains copy of bz2lib.
7203 * cfgaux: New directory, contains autotool helper scripts.
7204 * Makefile,in: Adjust library and target definitions for building
7205 outside the sourceware tree.
7206 * compress_bz.h: Use new bz2lib header location.
7207 * mount.cc: Import key defines and enums to be independent of cygwin
7209 * configure.in: Update to autoconf 2.53, and to be sourceware
7211 * configure: Regenerate.
7213 2002-04-12 Robert Collins <rbtcollins@hotmail.com>
7215 * mklink2.cc (make_link_2): Tweak to work with current w32api
7218 2002-04-10 Pavel Tsekov <ptsekov@gmx.net>
7220 * version.cc (canonicalize_version): Fix a call delete[]
7221 to delete the allocated address.
7223 2002-03-29 Robert Collins <rbtcollins@hotmail.com>
7225 * PickView.cc (PickView::set_headers): Set last_col correctly. Thanks
7226 to Ton van Overbeek for locating the bug area.
7228 2003-03-27 Robert Collins <rbtcollins@hotmail.com>
7230 * PickView.cc (PickView::insert_pkg): Be more generic with
7232 (PickView::insert_category): Ditto.
7233 (PickView::~PickView): Create.
7234 * PickView.h (PickView::~PickView): Declare.
7236 2003-03-27 Robert Collins <rbtcollins@hotmail.com>
7238 * Makefile.in (OBJS): Add new commandline objects.
7239 * desktop.cc (NoShortCutsOption): New option code.
7240 (DesktopSetupPage::OnInit): Check whether to skip shortcuts.
7241 * desktop.h (NoShortCutsOption): New concrete command line option class.
7242 * main.cc (WinMain): Process command line options.
7243 * GetOption.h: New file, singleton command line class.
7244 * GetOption.cc: New file, implementation of the above.
7245 * Option.h : New file, abstract option for GetOption.
7246 * Option.cc: New file, implement constructor and destructor.
7248 2002-03-26 Pavel Tsekov <ptsekov@gmx.net>
7250 * mkdir.cc (mkdir_p): Stop processing if the path is exhausted.
7252 2002-03-26 Ton van Overbeek <tvoverbe@cistron.nl>
7254 * PickPackageLine.cc (PickPackageline::paint): Adjust clipping rectangle
7255 to textheight, so large fonts work.
7257 2003-03-26 Robert Collins <rbtcollins@hotmail.com>
7259 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Don't translate
7262 2003-03-26 Robert Collins <rbtcollins@hotmail.com>
7264 * io_stream_cygfile.cc (cwd): New static for cwd storage.
7265 (io_stream_cygfile::normalise): New method.
7266 (io_stream_cygfile::io_stream_cygfile): Use it.
7267 (io_stream_cygfile::exists): Ditto.
7268 (io_stream_cygfile::remove): Ditto.
7269 (io_stream_cygfile::mklink): And again.
7270 (cygmkdir_p): Yes, again.
7271 (io_stream_cygfile::move): And once more.
7272 * io_stream_cygfile.h (io_stream_cygfile::normalise): Declare.
7273 (io_stream_cygfile::cwd): Ditto.
7275 2003-03-26 Robert Collins <rbtcollins@hotmail.com>
7277 * package_meta.cc (package_meta::~package_meta): Remove duplicate.
7278 (CategoryPackage::~CategoryPackage): Ditto. (Thanks to Ton van
7279 Overbeek for the report).
7280 * mklink2.cc: Moved from mklink2.c to avoid 'not a prototype error'.
7281 Make g++ compatible.
7282 * mklink2.c: Remove.
7283 * site.cc (site_list_type::init): Delete the correct memory addres.
7284 Thanks to Pavel Tsekov for tracking this down.
7286 2002-03-20 Robert Collins <rbtcollins@hotmail.com>
7288 * win32.h: Only define alloca if it's not already.
7290 2002-03-20 Robert Collins <rbtcollins@hotmail.com>
7292 * package_meta.h (packamgemeta::trustp): Make 'test' choice leave
7293 installed packages alone.
7294 * README: Update with latest requests.
7295 * Various: MTC fixes from setup200202 branch.
7297 2002-03-19 Christopher Faylor <cgf@redhat.com>
7299 * Makefile.in (setup_version.c): Add back magic which allows detection
7300 of setup.exe version number.
7302 2002-03-17 Robert Collins <rbtcollins@hotmail.com>
7304 * PickPackageLine.cc (PickPackageLine::paint): Fix incorrect clip region
7305 calculation on win9x systems.
7307 2002-03-16 Robert Collins <rbtcollins@hotmail.com>
7309 * install.cc (install_one_source): Write the correct length of a string
7310 to the lst file (Thanks to Pavel Tsekov for reporting the bug).
7312 2002-03-15 Robert Collins <rbtcollins@hotmail.com>
7314 * choose.cc (list_click): Always refresh the entire chooser, as our
7315 package state change mechanism is broken with the new improved list
7318 2002-03-15 Robert Collins <rbtcollins@hotmail.com>
7320 * desktop.cc (make_passwd_group): Check for .lnk suffix on /etc/passwd
7323 2002-03-15 Robert Collins <rbtcollins@hotmail.com>
7325 * PickPackageLine.cc (PickPackageLine::DrawCheck): New method factored
7327 (PickPackageLine::paint): Use DrawCheck to draw the src tick box, and
7328 the new bin tickbox.
7329 (PickPackageLine::click): Handle the new bin tickbox.
7330 * PickPackageLine.h (PickPackageLine::DrawCheck): Declare this.
7331 * PickView.cc (pkg_headers): Add a Bin? column.
7332 (cat_headers): Ditto.
7333 (PickView::set_headers): Ditto.
7334 (PickView::init_headers): Ditto.
7335 * PickView.h (PickView): Ditto.
7336 * choose.cc (list_click): Use the new name for src_col to set the clip
7339 2002-02-24 Michael A Chase <mchase@ix.netcom.com>
7341 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Fix up Robert's
7344 2002-02-24 Michael A Chase <mchase@ix.netcom.com>
7346 * desktop.cc (make_link): Add "file://" prefix to io_stream::mkpath_p()
7348 (make_passwd_group): Ditto.
7349 * localdir.cc (save_local_dir): Ditto.
7350 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Wrap long lines.
7351 Add "cygfile://" prefix to io_stream::open() calls.
7353 2002-02-24 Robert Collins <rbtcollins@hotmail.com>
7355 * log.cc (log_save): Fix creating /var/log.
7356 * packate_meta.cc (standard_dirs): Remove duplicate '/''s.
7358 2002-02-24 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
7360 * res.rc (STRINGTABLE): Add IDS_CYGWIN_SETUP and
7361 IDS_CYGWIN_SETUP_WITH_PROGRESS strings.
7362 * resource.h: Add IDS_CYGWIN_SETUP and
7363 IDS_CYGWIN_SETUP_WITH_PROGRESS IDs.
7365 * splash.cc (OnInit): Qualify SetWindowText() call with global scope
7366 operator (::SetWindowText()).
7368 * threebar.cc: Run indent.
7369 (cistring.h): Add include.
7370 (SetText1, SetText2, SetText3): Qualify SetWindowText() call with
7371 global scope operator.
7372 (SetBar2): Add logic for writing percent complete into window title.
7374 * window.h: Run indent.
7375 (SetWindowText): New function.
7376 (String): Add forward declaration.
7377 * window.cc: Run indent.
7378 (String++.h): Add include.
7379 (SetWindowText): New function.
7381 2002-02-24 Robert Collins <rbtcollins@hotmail.com>
7383 * README: Update TODO list.
7384 * install.cc (install_one): Fix src package location.
7385 (do_install_thread): Fix creating directories.
7387 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
7389 * choose.cc: Include cygpackage.h for scan2 use.
7390 (set_existence): Ignore setup.ini mirrors when installing from cwd.
7391 (scan2): Process any valid file.
7392 Add cache entries when a file matching a setup.ini listed version is
7394 * filemanip.cc (parse_filename): Remove pkgtar - not used anywhere else.
7395 * filemanip.h (filemanip::pkgtar): Remove.
7396 * package_meta.cc (CategoryPackage::~CategoryPackage): New method.
7397 (packagemeta::~packagemeta): Move from package_meta.h
7398 Remove and delete all version and category information.
7399 * package_meta.h (CategoryPackage): Create a destructor.
7400 (packagemeta::~packagemeta): Move to .cc file.
7402 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
7404 * install.cc (install_one_source): Make NULL cached package names cause
7407 2002-02-18 Michael A Chase <mchase@ix.netcom.com>
7409 * desktop.cc (make_passwd_group): Don't create passwd-grp.bat
7412 2002-02-18 Michael A Chase <mchase@ix.netcom.com>
7414 * log.cc (log_save): Put "\n" at end of log lines instead of "'".
7416 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
7418 * mount.cc (create_mount): Avoid a const char*->char* warning.
7419 (read_mounts): Ditto.
7421 2002-02-05 Jason Tishler <jason@tishler.net>
7423 * download.cc (do_download_thread): Fix off-by-one error.
7425 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
7427 * configure.in (CXXFLAGS): Substitute at configure time, not runtime.
7428 * configure (CXXFLAGS): Regenerate.
7429 * Makefile.in (iniparse.o): Build via default rules - no errors now.
7430 * README: TODO list updates.
7432 2002-02-19 Michael A Chase <mchase@ix.netcom.com>
7434 * String++.cc (String::concat):: Remove.
7435 (String::vconcat):: Ditto.
7436 * String++.h (String::concat):: Remove.
7437 (String::vconcat):: Ditto.
7438 * archive_tar.cc: Don't include concat.h.
7439 * archive_tar_file.cc: Don't include concat.h.
7440 * compress_bz.cc (compress_bz::peek): Don't log unneeded messages.
7441 (compress_bz::seek): Ditto.
7442 (compress_bz::~compress_bz): Ditto.
7443 * compress_gz.cc (compress_gz::peek): Ditto.
7444 (compress_gz::error): Ditto.
7445 (compress_gz::~compress_gz): Ditto.
7446 * concat.cc (vconcat): Remove.
7448 * concat.h (vconcat): Remove.
7450 * desktop.cc (desktop_icon): Use new cygpath.
7451 (make_etc_profile): Ditto.
7453 (make_passwd_group): Ditto.
7455 (check_desktop): Remove concat use.
7456 (check_start_menu): Ditto.
7457 * download.cc (download_one): Use new mkpath_p correctly.
7459 * fromcwd.cc: Don't include concat.h.
7460 * geturl.cc (get_url_to_membuf): Use String log() call.
7461 (get_url_to_file): Ditto.
7462 * install.cc: Don't include concat.h.
7463 (uninstall_one): Use LOG_PLAIN.
7464 (replace_one): Ditto.
7465 (install_one_source): Ditto.
7466 (install_one): More char to String conversion.
7467 (do_install_thread): Use new cygpath.
7468 Use new create_mount.
7469 * io_stream.cc (io_stream::move): Use new log().
7470 * io_stream_cygfile (io_stream_cygfile::io_stream_cygfile): Use new
7472 (io_stream_cygfile::exists): Ditto.
7473 (io_stream_cygfile::remove): Ditto.
7474 (io_stream_cygfile::mklink): Ditto.
7475 (io_stream_cygfile::write): Ditto.
7476 (cygmkdir_p): Ditto.
7477 (io_stream_cygfile::move): Ditto.
7478 * io_stream_file.cc: Don't include log.h.
7479 (io_stream_file::write): Don't log unneeded messages.
7480 * localdir.cc: Don't include concat.h.
7481 (LocalDirPage::OnNext): Use LOG_PLAIN.
7482 * log.cc: Don't include log.h.
7483 (exit_setup): Use new cygpath.
7484 * log.h (log_level): Add new level LOG_PLAIN.
7485 * main.cc (WinMain): Use new log().
7486 * mount.cc (SLASH_P): New macro from concat.h.
7487 (cygpath): Make String version globally visible.
7488 Remove varargs version.
7490 * msg.cc (mbox): Use LOG_PLAIN.
7491 * net.cc (NetPage::OnNext): Ditto.
7492 * nio-ftp.cc (ftp_line): Use new log().
7493 * nio-http.cc: Don't include log.h.
7494 (retry_get): Use alternative url variable.
7495 * package_db.cc: Don't include concat.h.
7496 (packagedb::flush): Don't use concat.
7497 * package_meta.cc: Don't include concat.h.
7498 (packagemeta::uninstall): Use new cygpath.
7499 * postinstall.cc (do_postinstall): Ditto.
7500 * root.cc (RootPage::OnNext): Use LOG_PLAIN.
7501 * script.cc: Don't include concat.h.
7502 (init_run_script): Use new cygpath.
7503 (run_script): More char * to String conversion.
7504 (try_run_script): Ditto.
7505 * site.cc: Don't include concat.h.
7506 (SitePage::OnNext): Use LOG_PLAIN.
7507 (SitePage::OnMessageCmd): Use new log().
7508 * source.cc (SourcePage::OnDeactivate): Use LOG_PLAIN.
7510 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
7512 * Makefile.in (OBJS): Add new object.
7513 * PickCategoryLine.cc (PickCategoryLine::paint): Print a "+" before the
7515 * PickCategoryLine.h (PickCategoryLine::bucket): Use the String class.
7516 * PickLine.h (Pickline::key): Change to a String to help plug leaks.
7517 (PickLine::Pickline): Accept a String for the key.
7518 * PickPackageLine.cc (PickPackageLine::paint): Convert all char use to
7520 * PickPackageLine.h (PickPackageLine::PickPackageLine): The key is
7521 automatically initialised now.
7522 * PickView.cc (PickView::note_width): Convert all char * use to Strings.
7523 (PickView::init_header): Move category length checking out of the inner
7524 loop for efficiency.
7525 Convert all char use to Strings.
7526 * PickView.h: Include the String++ header.
7527 (PickView::note_width): Update the prototype.
7528 * String++.cc: New file, implements a reference counting string class.
7529 * String++.h: New file, declares a reference counting string class.
7530 * archive.cc: Include String++ instead of concat.
7531 (archive::extract_file): Convert char * usage to Strings.
7532 * archive.h: Inlude the String++ header.
7533 (archive::extract_file): Update prototype.
7534 (archive::next_file_name): Convert to a String.
7535 (archive::linktarget): Ditto.
7536 * archive_tar.cc (archive_tar::next_file_name): Convert to String usage.
7537 (archive_tar::linktarget): Ditto.
7538 * arhive_tar.h: Update the copyright.
7539 Explicitly include the relevant headers.
7540 (tar_map_result_type): Convert to String usage.
7541 (archive_tar::next_file_name): Update prototype.
7542 (archive_tar::linktarget): Ditto.
7543 * category.cc (Category::Category): Update initialisers.
7544 Convert to String usage.
7545 (Categorycmp): Update to String usage.
7546 * category.h: Include the String++ header.
7547 (Category::Category): Update to String usage.
7548 (Category::name): Ditto.
7549 (Category::key): Ditto.
7550 * choose.cc: Remove concat.h, it's not needed.
7551 (scan2): Update to String usage.
7553 * cygpackage.cc: Update includes for use of String class.
7554 (cygpackage::cygpackage): Update for String usage.
7555 (cygpackage::set_canonical_version): Ditto.
7556 (cygpackage::destroy): Ditto.
7557 (cygpackage::getfirstfile): Ditto.
7558 (cygpackage::getnextfile): Ditto.
7559 (cygpackage::Name): Ditto.
7560 (cygpackage::Vendor_version): Ditto.
7561 (cygpackage::Package_version): Ditto.
7562 (cygpackage::Canonical_version): Ditto.
7563 (cygpackage::set_sdesc): Ditto.
7564 (cygpackage::set_ldesc): Ditto.
7565 * cygpackage.h: Include String++.h for parsing this file.
7566 (cygpackage::cygpackage): Update for String usage.
7567 (cygpackage::set_canonical_version): Ditto.
7568 (cygpackage::destroy): Ditto.
7569 (cygpackage::getfirstfile): Ditto.
7570 (cygpackage::getnextfile): Ditto.
7571 (cygpackage::Name): Ditto.
7572 (cygpackage::Vendor_version): Ditto.
7573 (cygpackage::Package_version): Ditto.
7574 (cygpackage::Canonical_version): Ditto.
7575 (cygpackage::set_sdesc): Ditto.
7576 (cygpackage::set_ldesc): Ditto.
7577 (cygpackage::name): Ditto.
7578 (cygpackage::vendor): Ditto.
7579 (cygpackage::packagev): Ditto.
7580 (cygpackage::canonical): Ditto.
7581 (cygpackage::fn): Ditto.
7582 (cygpackage::sdesc): Ditto.
7583 (cygpackage::ldesc): Ditto.
7584 * desktop.cc: Update includes for use of String class.
7585 (batname): Update for String usage.
7588 (start)menu): Ditto.
7589 (desktop_icon): Ditto.
7590 (make_cygwin_bat): Ditto.
7591 (make_etc_profile): Ditto.
7593 (make_passwd_group): Ditto.
7595 (check_desktop): Ditto.
7596 (check_startmenu): Ditto.
7597 * dialog.cc (eget): Update for String usage.
7598 (egetString): New function.
7599 (eset): New variant for Strings.
7600 * dialog.h: Include String++.h for parsing this file.
7601 (egetString): New function.
7602 (eset): New variant for Strings.
7603 * diskfull.cc (diskfull): Update for String usage.
7604 * diskfull.h: Include String++.h for parsing this file.
7605 (diskfull): Update for String usage.
7606 * download.cc: Update includes for use of String class.
7607 (check_for_cached): Update for String usage.
7608 (download_one): Ditto.
7609 * filemanip.cc (get_file_size): Ditto.
7611 (parse_filename): Ditto.
7613 * filemanip.h: Include String++.h for parsing this file.
7614 (fileparse): Update for String usage.
7616 (parse_filename): Ditto.
7617 Don't consider '_' to be a separator.
7619 * find.cc: Update includes for use of String class.
7620 (find_sub): Make more flexible.
7621 (find): Update for String usage.
7622 * find.h (find): Use Strings.
7623 * fromcwd.cc (found_file): Update for String usage.
7625 (init_dialog): Ditto.
7626 (get_url_to_membuf): Ditto.
7627 (get_url_to_string): Ditto.
7628 (get_url_to_file): Ditto.
7630 (get_url_to_membuf): Ditto.
7631 (get_url_to_string): Ditto.
7632 (get_url_to_file): Ditto.
7634 (add_subdirs): Ditto.
7635 * ini.cc: Update includes for String usage.
7636 (find_routine): Update for String usage.
7637 (do_remote_ini): Ditto.
7638 (do_ini_thread): Ditto.
7639 * ini.h (ini_init): Ditto.
7640 * inilex.l: Update includes for String usage.
7641 (ini_init): Update for String usage.
7642 * iniparse.y: Ditto.
7643 (add_correct_version): Ditto.
7644 * install.cc: Update includes for String usage.
7645 (install_one_source): Update for String usage.
7646 (uninstall_one): Ditto.
7647 (replace_one): Ditto.
7648 (install_one_source): Ditto.
7649 (do_install_thread): Ditto.
7650 * io_stream.cc: Update includes for String usage.
7651 (io_stream::open): Update for String usage.
7652 (io_stream::mkpath_p): Ditto.
7653 (io_stream::remove): Ditto.
7654 (io_stream::mklink): Ditto.
7655 (io_stream::move_copy): Ditto.
7656 (io_stream::move): Ditto.
7657 (io_stream::exists): Ditto.
7658 * io_stream.h: Update includes to allow correct parsing.
7659 (io_stream::open): Update for String usage.
7660 (io_stream::mkpath_p): Ditto.
7661 (io_stream::remove): Ditto.
7662 (io_stream::mklink): Ditto.
7663 (io_stream::move_copy): Ditto.
7664 (io_stream::move): Ditto.
7665 (io_stream::exists): Ditto.
7666 * io_stream_cygfile.cc: Update includes for String usage.
7667 (get_root_dir_now): Update for String usage.
7668 (io_stream_cygfile::io_stream_cygfile): Ditto.
7669 (io_stream_cygfile::~io_stream_cygfile): Ditto.
7670 (io_stream_cygfile::exists): Ditto.
7671 (io_stream_cygfile::remove): Ditto.
7672 (io_stream_cygfile::mklink): Ditto.
7673 (cygmkdir_p): Ditto.
7674 (io_stream_cygfile::set_mtime): Ditto.
7675 (io_stream_cygfile::move): Ditto.
7676 (io_stream_cygfile::get_size): Ditto.
7677 * io_stream_cygfile.h: Update includes for String usage.
7678 (io_stream_cygfile::io_stream_cygfile): Update for String usage.
7679 (io_stream_cygfile::~io_stream_cygfile): Ditto.
7680 (io_stream_cygfile::exists): Ditto.
7681 (io_stream_cygfile::remove): Ditto.
7682 (io_stream_cygfile::mklink): Ditto.
7683 (cygmkdir_p): Ditto.
7684 (io_stream_cygfile::set_mtime): Ditto.
7685 (io_stream_cygfile::move): Ditto.
7686 (io_stream_cygfile::get_size): Ditto.
7687 (io_stream_cygfile::fname): Ditto.
7688 (io_stream_cygfile::lmode): Ditto.
7689 * io_stream_file.cc: Update includes for String usage.
7690 (io_stream_file::io_stream_file): Update for String usage.
7691 (io_stream_file::~io_stream_file): Ditto.
7692 (io_stream_file::exists): Ditto.
7693 (io_stream_file::remove): Ditto.
7694 (io_stream_file::mklink): Ditto.
7695 (io_stream_file::set_mtime): Ditto.
7696 (io_stream_file::move): Ditto.
7697 (io_stream_file::get_size): Ditto.
7698 * io_stream_file.h: Update includes for String usage.
7699 * io_stream_file.cc: Update includes for String usage.
7700 (io_stream_file::io_stream_file): Update for String usage.
7701 (io_stream_file::~io_stream_file): Ditto.
7702 (io_stream_file::exists): Ditto.
7703 (io_stream_file::remove): Ditto.
7704 (io_stream_file::mklink): Ditto.
7705 (io_stream_file::set_mtime): Ditto.
7706 (io_stream_file::move): Ditto.
7707 (io_stream_file::get_size): Ditto.
7708 (io_stream_file::fname): Ditto.
7709 (io_stream_file::lmode): Ditto.
7710 * localdir.cc: Update includes for String usage.
7711 (save_local_dir): Update for String usage.
7712 (check_if_enable_next): Ditto.
7713 (load_dialog): Ditto.
7715 (LocalDirPage::OnInit): Ditto.
7716 (LocalDirPage::OnNext): Ditto.
7717 * log.cc: Update includes for String usage.
7718 (struct LogEnt): Update for String usage.
7721 (exit_setup): Ditto.
7722 * log.h: Update includes for String usage.
7723 (log_level): Update for String usage.
7726 * main.cc (WinMain): Update for String usage.
7727 * mklink2.c (make_link_2): Update for String usage.
7728 * mklink2.h (make_link_2): Update for String usage.
7729 * mount.cc: Update includes for String usage.
7730 (mount_table): Update for String usage.
7732 (create_mount): Ditto.
7734 (remove_mount): Ditto.
7735 (read_mounts): Ditto.
7736 (set_root_dir): Ditto.
7737 (get_root_dir): Ditto.
7738 (path_prefix_p): Ditto.
7740 * mount.h: Update includes for String usage.
7741 (create_mount): Update for String usage.
7742 (remove_mount): Ditto.
7744 (set_root_dir): Ditto.
7745 (get_root_dir): Ditto.
7746 * msg.cc (mbox): Ditto.
7747 * net.cc (NetPage::OnNext): Ditto.
7748 * package_db.cc (packagedb::flush): Ditto.
7749 (packagedb::packages): Ditto.
7750 (packagedb::categories): Ditto.
7751 * package_db.h: Update includes for String usage.
7752 (packagedb::packages): Update for String usage.
7753 (packagedb::categories): Ditto.
7754 * package_meta.cc: Update includes for String usage.
7755 (hash::add_subdirs): Update for String usage.
7756 (packagemeta::uninstall): Ditto.
7757 (packagemeta::SDesc): Ditto.
7758 (packagemeta::action_caption): Ditto.
7759 * package_meta.h: Update includes for String usage.
7760 (packagemeta::packagemeta): Update for String usage.
7761 (packagemeta::~packagemeta): Ditto.
7762 (packagemeta::uninstall): Ditto.
7763 (packagemeta::SDesc): Ditto.
7764 (packagemeta::action_caption): Ditto.
7765 (package_source.cc site::site): Ditto.
7766 (packagesource::set_canonical): Ditto.
7767 (packagesource::set_cached): Ditto.
7768 * package_source.h: Update includes for String usage.
7769 (site::site): Update for String usage.
7770 (packagesource::set_canonical): Ditto.
7771 (packagesource::set_cached): Ditto.
7772 (packagesource::packagesource): Ditto.
7773 (packagesource::sites): Ditto.
7774 (packagesource::cached): Ditto.
7775 * package_version.h: Update includes for String usage.
7776 (Dependency): Update for String usage.
7777 (packageversion): Ditto.
7778 * postinstall.cc: Update includes for String usage.
7779 (do_postinstall): Update for String usage.
7780 * res.rc (IDD_LOCAL_DIR): Fix typo again!
7781 * rfc1738.cc (rfc1738_escape_part): Update for String usage.
7782 * rfc1738.h: Update includes for String usage.
7783 (rfc1738_escape_part): Update for String usage.
7784 * root.cc: Update includes for String usage.
7785 (check_if_enable_next): Update for String usage.
7786 (save_dialog): Ditto.
7788 (directory_is_absolute): Ditto.
7789 (directory_is_rootdir): Ditto.
7790 (directory_has_spaces): Ditto.
7791 (RootPage::OnInit): Ditto.
7792 (RootPage::OnNext): Ditto.
7793 * script.cc: Update includes for String usage.
7794 (init_run_script): Update for String usage.
7796 (run_script): Ditto.
7797 (try_run_script): Ditto.
7798 * script.h: Update includes for String usage.
7799 (run_script): Update for String usage.
7800 (try_run_script): Ditto.
7801 * site.cc site_list): Ditto.
7802 (all_site_list): Ditto.
7803 (other_url): Eliminate.
7804 (site_list_type::init): Update for String usage.
7805 (site_list_type::site_list_type): Ditto.
7806 (get_site_list): Ditto.
7807 (get_saved_sites): Ditto.
7808 (do_download_site_info_thread): Ditto.
7809 (SitePage::OnNext): Ditto.
7810 (SitePage::OnActivate): Ditto.
7811 (SitePage::PopulateListBox): Ditto.
7812 (SitePage::OnMessageCmd): Handle empty url's.
7813 * site.h: Update includes for String usage.
7814 (site_list_type::site_list_type): Update for String usage.
7815 (site_list_type::init): Ditto.
7816 (site_list_type::~site_list_type): Ditto.
7817 (site_list_type::url): Ditto.
7818 (site_list_type::displayed_url): Ditto.
7819 (site_list_type::key): Ditto.
7820 * source.cc (SourcePage::OnDeactivate): Ditto.
7821 * state.h: Update includes for String usage.
7822 (local_dir): Update for String usage.
7823 (trust_level): Remove.
7824 * version.cc: Update includes for String usage.
7825 (canonicalize_version): Update for String usage.
7826 * version.h: Update includes for String usage.
7827 (canonicalize_version): Update for String usage.
7829 2002-02-15 Christopher Faylor <cgf@redhat.com>
7831 * filemanip.c (parse_filename): Revert previous change.
7833 2002-02-14 Christopher Faylor <cgf@redhat.com>
7835 * filemanip.c (parse_filename): Don't treat '_' as a version number
7838 2002-01-29 Christopher Faylor <cgf@redhat.com>
7840 * configure: Regenerate.
7842 2002-01-27 Robert Collins <rbtcollins@hotmail.com>
7844 * res.rc (IDD_LOCAL_DIR): Fix typo reported by Rene
7845 <Hoeck@extern.lrz-muenchen.de>
7847 2002-01-27 Robert Collins <rbtcollins@hotmail.com>
7849 * README: Update Todo's.
7850 * list.h: Run indent.
7851 (list): New methods checksize and insert to reduce code duplication.
7852 (list::registerbykey): Use them.
7853 (list::registerbyobject): Ditto.
7854 (list::removebyindex): Copy each object individually - safe for non
7856 (list::checksize): Implement.
7857 (list::insert): Implement.
7859 2002-01-27 Robert Collins <rbtcollins@hotmail.com>
7861 * Makefile.in: Remove the dlmalloc object by default.
7862 * install.cc (do_install_thread): Remove the mallinfo call for 'working
7863 around' the crashing issue.
7864 * package_db.h: Include <string.h> - it's needed to parse this.
7865 * package_source.cc (site::site): Move here from the header file.
7866 * package_source.h (site): Stop the constructor being inlinable.
7868 2002-01-26 Robert Collins <rbtcollins@hotmail.com>
7870 * filemanip.cc (find_tar_ext): Add a descriptive comment.
7872 2002-01-25 Michael A Chase <mchase@ix.netcom.com>
7874 * filemanip.cc (find_tar_ext): Clean up tests for .tar.gz and .tar.
7875 * fromcwd.cc (do_fromcwd): Expand FIXME comment in source file check.
7876 * install.cc (install_one_source): Add space between words in log()
7879 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
7881 * log.cc (exit_setup): When saving to the download dir, explicity
7884 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
7886 * archive.cc (extract_file): Separate out the prefix and the URL
7888 * archive.h (archive::extract_file): Ditto.
7889 * install.cc (install_one_source): Ditto. Use the new
7890 archive::extract_file syntax.
7891 (replace_one): Use the new syntax.
7892 (io_stream.cc): Add some log info for links.
7894 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
7896 * PickCategoryLine.cc (PickCategoryLine::actiontext): Remove.
7897 (PickCategoryLine::paint): Use the new action method.
7898 (PickCategoryLine::click): Set the action for all children.
7899 (PickCategoryLine::set_action): New method.
7900 * PickCategoryLine.h (PickCategoryLine::-actions): Remove.
7901 (PickCategoryLine::current_default): Use packagemeta _actions class.
7902 * PickLine.h (PickLine::set_action): New abstract method that requires
7903 including package_meta.h.
7904 * PickPackageLine.cc (PickPackageLine::set_action): New method.
7905 * PickPackageLine.h (PickPackageLine::set_action): Declare this.
7906 * list.h (getbykey): A const correctness fix.
7907 * package_meta.cc: Run indent.
7908 (packagemeta::Default_action): New const.
7909 (packagemeta::Install_action): Ditto.
7910 (packagemeta::Reinstall_action): Ditto.
7911 (packagemeta::Uninstall_action): Ditto.
7912 (packagemeta::_actions::caption): New method.
7913 (packagemeta::_actions::operator++): Ditto.
7914 (packagemeta::set_action): New overload.
7915 * package_meta.h (packagemeta::_actions): New class.
7916 (packagemeta::set_action): Declare this.
7918 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
7920 * Makefile.in (OBJS): Remove supp.o - it appears accidental.
7921 * choose.cc: Don't define alloca anymore, it's done in win32.h
7923 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
7925 * PickPackageLine.cc: New file.
7926 * PickPackageLine.h: New file.
7927 * PickLine.cc: New file.
7928 * PickLine.h: New file.
7929 * PickCategoryLine.cc: New file.
7930 * PickCategoryLine.h: New file.
7931 * PickView.cc: New file.
7932 * PickView.h: New file.
7933 * Makefile.in: Add new objects to setup.exe.
7934 Backout -fno-exceptions option.
7935 * choose.cc: Include PickView.h.
7936 Remove view related defines and static variables.
7937 (_pkg_headers): Moved to PickView.cc.
7938 (_cat_headers): Ditto.
7939 (view::views::Unknown): Ditto.
7940 (view::views::PackageFull):
7941 (view::views::Package):
7942 (view::views::Category):
7943 (pkgtrustp): Moved to package_meta.cc.
7944 (add_required): Moved to package_meta.cc.
7945 (pick_category_line::empty): Moved to PickCategoryLine.cc
7946 (paint): Adjust for moved static variables.
7947 (view::scroll): Moved to PickView.cc.
7948 (list_vscroll): Adjust for moved static variables.
7949 (list_hscroll): Ditto.
7950 (list_click): Ditto.
7951 (note_width): Moved to PickView.cc.
7952 (view::view): Ditto.
7953 (view::set_view_mode): Ditto.
7954 (view::mode_caption): Ditto.
7955 (view::views::caption): Ditto.
7956 (view::set_headers): Ditto.
7957 (DoInsertItem): Ditto.
7958 (view::init_headers): Ditto.
7959 (view::insert_pkg): Ditto.
7960 (view::insert_category): Ditto.
7961 (view::clear_view): Ditto.
7962 (view::views::operator++): Ditto.
7963 (view::click): Ditto.
7964 (default_trust): Adjust for moved statics.
7965 (pick_pkg_line::paint): Moved to PickPackageLine.cc.
7966 (pick_pkg_line::click): Ditto.
7967 (pick_category_line::actiontext): Moved to PickCategoryLine.cc
7968 (pick_category_line::paint): Ditto.
7969 (pick_category_line::click): Ditto.
7970 (set_view_mode): Adjust for moved statics.
7971 (create_listview): Ditto.
7972 * choose.h: Remove Category and packagemeta forward defines -
7974 Don't include unneeded headers list and package_meta.
7975 (_header): Move to PickView.h.
7976 (pick_line): Move to PickLine.h.
7977 (pick_pkg_line): Move to PickPackageLine.h.
7978 (pick_category_line): Move to PickCategoryLine.h.
7979 (view): Move to PickView.h.
7980 * ini.h (trusts): Move to package_meta.h.
7981 * package_meta.h (trusts): New enum.
7982 (packagemeta::set_requirements): New helper method.
7983 (packagemeta::trustp): Ditto.
7985 2002-01-21 Christopher Faylor <cgf@redhat.com>
7987 * choose.h (view): Move forward declaration of views into public area
7988 or g++ v3 will complain.
7990 2002-01-21 Christopher Faylor <cgf@redhat.com>
7992 * Makefile.in (CXXFLAGS): Add -fno-exceptions.
7993 * win32.h (alloca): Define as __builtin_alloca.
7994 * io_stream_memory.cc: Add include file.
7996 2002-01-21 Robert Collins <rbtcollins@hotmail.com>
7998 * archive_tar.cc (archive_tar::~archive_tar): Mark the stream as
8000 * archive_tar_file.cc (archive_tar_file::~archive_tar_file): Ditto.
8001 * compress.cc (compress::~compress): Be less verbose.
8002 * compress_bz.cc (compress_bz::~compress_bz): Ditto.
8003 Mark the stream as destroyed.
8004 * compress_gz.cc (compress_gz::~compress_gz): Mark the stream as
8006 * io_stream.cc (io_stream::~io_stream): Only warn when the stream is not
8007 marked as destroyed.
8008 * io_stream_cygfile.cc (io_stream_cygfile::~io_stream_cygfile): Mark the
8009 stream as destroyed.
8010 * io_stream_file.cc (io_stream_file::~io_stream_file): Ditto.
8011 * io_stream_memory.cc (io_stream_memory::~io_stream_memory): Ditto.
8013 2002-01-21 Robert Collins <rbtcollins@hotmail.com>
8015 * Makefile.in (CFLAGS): Allow customisable malloc debug flags.
8016 (OBJS): Link in malloc objects.
8017 * category.cc (category): Use new char, not strdup.
8018 * choose.cc (pick_pkg_line::paint): Allow for the regionsize to shrink.
8019 (do_choose): Use new char, not malloc.
8020 * concat.cc (vconcat): Ditto.
8021 * cygpackage.cc (cygpackage): Use new char, not strdup.
8022 (set_canonical_version): Ditto.
8023 (cygpackage::destroy): Use delete[], not free.
8024 * desktop.cc (uexists): Ditto.
8025 * dialog.cc (egest): Use new char, not strdup.
8026 * dlmalloc.c: New file - Doug Lea's malloc 2.7.0
8027 * hash.cc (hash::hash): Use delete instead of free.
8028 (hash::add): Use new char, not strdup.
8029 * ini.cc (do_remote_ini): Use delete[] not free.
8030 * inilex.l: Use new char, not strdup.
8032 * iniparse.y: Ditto.
8033 Use a local package_db rather than a static one.
8034 * install.cc (struct mallinfo): Workaround an apparent dlmalloc bug.
8035 (do_install_thread): Call mallinfo to force a consistency check. Appears
8036 to fix a 'inuse' error in -DDEBUG builds.
8037 Use delete[] for strings.
8038 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): Use new
8040 (io_stream_cygfile::~io_stream_cygfile): Use delete[], not free.
8041 (io_stream_cygfile::remove): Use new char, not strdup.
8042 * io_stream_file.cc (io_stream_file::io_stream_file): Use new char, not
8044 (io_stream_file::io_stream_file): Use delete[], not free.
8045 (io_stream_file::remove): Use new char, not strdup.
8046 * io_stream_memory.cc (memblock::~memblock): Use delete[], not free.
8047 * io_stream_memory.h (memblock): Use new char, not malloc.
8048 * localdir.cc (LocalDirPage::OnInit): Use new char, not strdup.
8049 * main.cc (WinMain): Use new char, not strdup.
8050 * mount.cc (find2): Use new char, not malloc.
8051 (read_mounts): Ditto.
8052 (cygpath): Use new char, not strdup.
8053 * netio.cc (NetIO::~NetIO): Use delete[], not free.
8054 (NetIO::set_url): Use new char, not strdup.
8055 (NetIO::get_ftp_auth): Use delete[], not free.
8056 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Ditto.
8057 Use new char instead of strdup.
8058 * nio-http.cc (base64_encode): Use new char, not malloc.
8059 * package_meta.cc (hash::add_subdirs): Use new char instead of strdup.
8060 * package_source.h (~ packagesource): Use delete[] instead of delete.
8061 * port.h (strdup): Deprecate the use of strdup.
8062 * rfc1738.cc (rfc1738_do_escape): Use new char, not calloc.
8063 * script.cc (init_run_script): Us delete[], not free.
8064 (run_script): Ditto.
8065 * simpsock.cc (SimpleSocket::fill): Use new char, not malloc.
8066 (SimpleSocket::invalidate): Use delete[], not free.
8067 * site.cc (site_list_type::init): Use new char instead of strdup.
8068 * site.h (~site_list_type): Use delete[], not free.
8070 2002-01-20 Robert Collins <rbtcollins@hotmail.com>
8072 * Makefile.in (OBJS): Add win32.o - win32 support functions.
8073 * README: Update todos.
8074 * archive.cc (extract_file): Support a suffix for appending to extracted
8077 * choose.cc (set_view_mode): Use the new view::views class.
8078 (view::views::Unknown): New static for defaulting view::views variables.
8079 (view::views::PackageFull): New static for the current view.
8080 (view::views::Package): Ditto.
8081 (view::views::Category): Ditto.
8082 (topbucket::paint): Remove.
8083 (topbucket::empty): Rename to pick_category_line::empty.
8084 (topbucket::~topbucket): Remove.
8085 (paint): Use the new view::views class.
8086 Don't paint 'all' as a category when showing package categoies.
8087 (pick_category_line::actiontext): New method.
8088 (pick_category_line::paint): Make showing the category optional, and
8089 show the 'category action'.
8090 (pick_category_line::click): Make showing the category optional, and
8091 differentiate between the name being clicked, and the action
8093 (view::view): Use the new view::views class.
8094 (view::set_view_mode): Ditto.
8095 (view::mode_caption): Ditto.
8096 (view::views::caption): New method.
8097 (view::set_headers): Use the new view::views class.
8098 (view::clear_view): Ditto.
8099 (viewsplusplus): Replaced by
8100 (view::views::operator++): New operator.
8101 (set_view_mode): Use the new view::views class.
8102 (create_listview): Ditto.
8103 (dialog_cmd): Ditto.
8104 * choose.h (actions): Remove.
8106 (pick_line): Add a new convenience constructor.
8107 (top_bucket): Remove.
8108 (pick_category_line): Reparent under pick_line, and adsorb top_bucket.
8109 (view::views): New class.
8110 * ini.h: Don't include choose.h
8111 (is_download_action): Remove.
8112 (is_upgrade_action): Remove.
8113 (is_uninstall_action): Remove.
8114 (is_full_action): Remove.
8115 * install.cc (num_replacements): New static.
8116 (rebootneeded): Ditto.
8117 (replace_one): Handle upgrades separate from removal or new installs.
8118 (install_one_source): Handle in use files.
8119 (install_one): Don't repeat upgrades.
8120 (do_install_thread): Initialize new statics.
8121 Order actions as uninstall, replace, install.
8122 Warn about rebooting if needed.
8123 * res.rc (IDS_REBOOT_REQUIRED): New string.
8124 * resource.h (IDS_REBOOT_REQUIRED): Give value.
8125 * win32.h: Declare class Win32, and update copyright and intent message.
8126 * win32.cc: New file.
8128 2002-01-15 Corinna Vinschen <corinna@vinschen.de>
8130 * io_stream.cc (io_stream::gets): Eliminate trailing new line chars.
8131 * package_meta.cc (packagemeta::uninstall): Check for additional
8132 Windows shortcut. Unset R/O file attribute before trying to delete
8135 2002-01-09 Robert Collins <rbtcollins@hotmail.com>
8137 * choose.cc (pkgtrustp): Fall back to installed if a package is not
8138 present in the current trust level. For prev, fall back via curr.
8139 (set_existence): Allow sources with no sites, but cached files to be
8141 (pick_category_line::paint): Start drawing clickable categories.
8142 * fromcwd.cc (found_file): Reinstate local file scanning.
8144 2002-01-07 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
8146 * fromcwd.cc: Run indent.
8147 (do_fromcwd): Reverse sense of comment. Set next_dialog
8148 to IDD_CHOOSER instead of IDD_CHOOSE.
8149 * ini.cc (find_routine): Remove "/" from "/setup.ini".
8151 2001-01-07 Robert Collins <rbtcollins@hotmail.com>
8153 * category.cc (Categorycmp): Add a const safe version.
8154 * category.h (Categorycmp): Add a const safe version.
8155 (Category): Add operator ==.
8156 * choose.cc (fill_missing_category): Add every package to "All".
8157 (pick_category_line::paint): Add support for hidden labels, and a tree
8159 (pick_category_line::click): Ditto.
8160 (view::view): Pass in a top level category to use.
8161 (view::insert_pkg): Special case - skip category "All".
8162 (view::insert_category): Ditto.
8163 (view::clear_view): Set the contents label state.
8164 (create_listview): Pass in a top level category to view().
8165 * choose.h (topbucket): Make bucket available to derived classes.
8166 (pick_category_line): Add support for hidden labels, and a tree depth.
8167 Remove our second copy of bucket.
8168 (view): Pass in a top level category to the constructor.
8169 Use pick_category_line to allow three level display.
8171 2001-01-06 Robert Collins <rbtcollins@hotmail.com>
8173 * cygpackage.h (cygpackage): Make set_[s|l]desc virtual.
8174 * iniparse.y (add_correct_version): Copy descriptions across.
8175 * package_meta.cc (SDesc): Iterate through versions, return the first
8177 * package_version.h (packageversion): Add new virtuals set_[l|s]desc.
8179 2001-01-04 Robert Collins <rbtcollins@hotmail.com>
8181 * script.cc (run_script): Change cygpath:// to cygfile://.
8182 * install.cc (do_install_thread): Fix off-by-one errors.
8184 2001-01-04 Robert Collins <rbtcollins@hotmail.com>
8186 * package_db.cc (packagedb::flush): Fix an off-by-one error.
8188 2002-01-04 Jan Nieuwenhuizen <janneke@gnu.org>
8190 * Makefile.in (realclean): more clean.
8191 (OBJS): Add script.o.
8192 * postinstall.cc (run_script_in_etc_postinstall): New function.
8193 (do_postinstall): Split off new funtion init_run_script ().
8196 (run_script): Move to script.cc. Replace some deprecated remove
8199 * script.cc: New file.
8200 * Forward port cygwin-20010707.jcn3.patch.
8201 * package_meta.cc (uninstall): Run pre- and postremove scripts.
8202 * install.cc: Typo fix.
8203 (do_install): Run script initialisation.
8205 2001-01-04 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
8207 * cistring.cc: Run d2u.
8208 * cistring.h: Run d2u.
8210 * desktop.cc (etc_profile): Remove "test -f ./.bashrc && . ./.bashrc"
8211 from the generated /etc/profile. Bash will source this file
8212 automatically, and having this here merely results in .bashrc being
8213 executed twice. Run d2u.
8214 * desktop.h: Run d2u.
8216 * propsheet.cc: Run d2u.
8217 (PropSheetProc): New function. Add minimize box here instead of in
8218 PropertyPage::DialogProc.
8219 (PropSheet::Create): Change to use creation callback PropSheetProc.
8220 (DLGTEMPLATEEX): Add 'hidden' Windows struct definition.
8222 * propsheet.h: Run indent, d2u.
8223 * proppage.h: Run indent, d2u.
8225 * proppage.cc: Run d2u.
8226 (PropertyPage::DialogProc): Remove minimize-box-adding
8227 functionality. Remove commented-out "PropSheet_SetWizButtons" calls.
8228 Add support for calling virtual OnMessageCmd. Add setting of fonts in
8229 WM_INITDIALOG handler.
8230 (resource.h): New include for resource IDs.
8232 * res.rc: Resize and rearrange property page dialog templates
8233 to bring them in line with "Microsoft's Backward Compatible Wizard 97"
8234 specification. Run d2u.
8235 (IDD_SITE): Add an edit control and an "Add" button in order to
8236 combine the IDD_SITE and IDD_OTHER_URL functionality onto one page.
8237 (IDD_OTHER_URL): Remove dialog template.
8238 (IDD_DLSTATUS): Remove dialog template.
8241 (SitePage::OnBack): Remove NEXT() macro invocation.
8242 (SitePage::OnActivate): New member function.
8243 (load_dialog): Remove. Functionality subsumed into
8244 SitePage::OnActivate.
8245 (save_dialog): Change to support both list and user URLs. Remove
8246 OTHER_IDX and mirror_idx logic.
8247 (SitePage::PopulateListBox): New member function.
8248 (SitePage::CheckControlsAndDisableAccordingly): New member function.
8249 (SitePage::OnMessageCmd): New override.
8250 (check_if_enable_next): Remove.
8251 (dialog_cmd): Remove.
8252 (do_download_site_info_thread): Remove calls to NEXT() macro.
8253 (SitePage::Create): Call the single-param PropertyPage::Create
8255 (other_url): New static taken from other.cc.
8256 (SitePage::OnNext): Remove mirror_idx logic.
8257 (SitePage::OnInit): Remove "Other URL" entry from list box. Remove
8258 list box populating code, now handled in SitePage::PopulateListBox.
8259 (mirror_idx, NO_IDX, OTHER_IDX): Remove.
8260 (save_site_url): Fix potential buffer overflow problem. Switched to
8261 TCHAR in grossly premature preparation for multilingual support.
8263 (SitePage::OnActivate): New member function.
8264 (SitePage::CheckControlsAndDisableAccordingly) New member.
8265 (SitePage::OnMessageCmd): New override.
8266 (do_download_site_info_thread): Add MessageBox call on failure to
8269 * splash.cc: Run d2u.
8270 (SplashPage::OnInit): Set the font for the title.
8271 * splash.h: Run d2u.
8273 * threebar.cc: Run d2u.
8274 * threebar.h: Run d2u.
8276 * window.h: Run d2u.
8277 (Window::IsButtonChecked): New member function declaration.
8278 (Window::OnMessageCmd): New member function.
8279 (Window::SetDlgItemFont): New member function declaration.
8280 (Window::MAXFONTS, Window::Fonts, Window::FontCounter): New data
8282 * window.cc: Run d2u.
8283 (Window::IsButtonChecked): New member function definition.
8284 (Window::SetDlgItemFont): New member function definition.
8285 (Window::Window): Add initialization for FontCounter.
8286 (Window::~Window): Delete any fonts we created.
8288 * geturl.cc: Run d2u.
8289 (progress): Remove the "3" field width from the "%3d"
8290 percent-complete format indicator. Causes line to not start at
8291 beginning of text box, and does little to help with "jumping", since
8292 the "bytes downloaded so far" field is variable-width anyway. Change
8293 kb/s format field to "%03.1" to 0-pad the kb/s number in the event of
8294 painfully slow connections, or temporary slowdowns in faster
8295 connections should such more-instantaneous functionality become
8299 (NetPage::OnMessageCmd): New member function declaration.
8300 (NetPage::CheckIfEnableNext): New member function declaration.
8302 (NetPage::OnMessageCmd): New member function definition.
8303 (dialog_cmd): Remove, subsumed into NetPage::OnMessageCmd.
8304 (check_if_enable_next): Remove.
8305 (NetPage::CheckIfEnableNext): New member function, subsumes
8306 check_if_enable_next.
8307 (propsheet.h): Add include.
8308 (NetPage::Init): Add call to CheckIfEnableNext.
8309 (load_dialog): Remove call to check_if_enable_next.
8310 (NetPage::Create): Call single-template-ID-parameter overload of
8311 PropertyPage::Create instead of three-parameter one.
8313 * Makefile.in (OBJS): Remove other.o.
8314 * other.cc: Remove file.
8316 2002-01-01 Robert Collins <rbtcollins@hotmail.com>
8318 * README: Update TODO's.
8319 * choose.cc (set_existence): Delete non installed packages with no
8321 (fill_missing_category): Fix an off-by-one error.
8322 (default_trust): Ditto. Also delete any unused categories.
8323 (view::init_headers): Fix an off-by-one error.
8324 (set_view_mode): Ditto.
8325 (set_view_mode): Ditto.
8326 (create_listview): Ditto.
8327 (dialog_cmd): Ditto.
8329 * io_stream.cc: Indent.
8330 * io_stream.h: Ditto.
8331 * package_db.cc: Ditto.
8332 * package_meta.h: Const correctness for SDesc ();
8333 * proppage.cc: Run d2u and indent.
8334 * propsheet.cc: Run d2u and indent.
8335 * window.cc: Run d2u and indent.
8336 * window.h: Run d2u and indent.
8338 2001-12-28 Christopher Faylor <cgf@redhat.com>
8340 * Makefile.in (iniparse.o): Accommodate newer bisons.
8342 2001-12-23 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
8344 * window.h (Window): New file, new class.
8345 * window.cc (Window): New file, new class.
8347 * threebar.h (ThreeBarProgressPage): New file, new class.
8348 * threebar.cc (ThreeBarProgressPage): New file, new class.
8350 * splash.h (SplashPage): New file, new class.
8351 * splash.cc (SplashPage): Replace file with implementation of new
8354 * source.h (SourcePage): New file, new class.
8355 * source.cc: Run indent.
8356 (SourcePage): Add class implementation to this file.
8357 (do_source): Remove, functionality subsumed by SourcePage::Create()
8358 and SourcePage::OnDeactivate().
8359 (dialog_proc): Remove, functionality subsumed by
8360 SourcePage::OnActivate().
8362 * site.h: Run indent.
8363 (SitePage): Add class declaration.
8364 * site.cc: Run indent.
8365 (SitePage): Add class implementation.
8366 (do_download_site_info_thread): New function.
8367 (context): New var. Context info for do_download_site_info_thread().
8368 (do_download_site_info): New function.
8369 (SitePage::Create, SitePage::OnInit SitePage::OnNext)
8370 (SitePage::OnBack): SitePage class implementation..
8371 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL handlers, now handled
8372 by SitePage members.
8373 (dialog_proc): Remove, now handled by SitePage::OnInit and base class
8375 (do_site): Remove, now handled by do_download_site_info_thread() and
8376 SitePage::OnNext functionality.
8377 (get_site_list): Remove dismiss_url_status_dialog() call.
8379 * root.h (RootPage): New file, new class.
8380 * root.cc: Run indent.
8381 (dialog_cmd): Pass parent HWND parameter to note(), yesno().
8382 (dialog_proc): Remove.
8384 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL clauses from switch.
8385 (RootPage::OnInit): New member function. Move get_root_dir() logic to
8386 here from do_root().
8387 (RootPage::Create): New member function.
8388 (RootPage::OnNext): New member function. Move IDOK logic from
8389 dialog_cmd() to here.
8390 (RootPage::OnBack): New member function.
8392 * propsheet.h (PropSheet): New file, new class.
8393 * propsheet.cc (PropSheet): New file, new class.
8395 * proppage.h (PropertyPage): New file, new class.
8396 * proppage.cc (PropertyPage): New file, new class.
8398 * postinstall.cc (do_postinstall): Add owner parameter.
8400 * other.cc (do_other): Add owner parameter.
8402 * nio-file.cc (NetIO::Purl): Pass NULL parent param to note().
8403 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Pass NULL parent param to
8405 * nio-http.cc (retry_get): Pass NULL parent param to get_auth(),
8408 * nio-ie5.cc (NetIO::_url): Pass NULL parent param to note(),
8409 get_auth(), get_proxy_auth().
8411 * netio.h (get_auth, get_proxy_auth, get_ftp_auth): Add owner param.
8412 * netio.cc (auth_common, NetIO::get_auth, NetIO::get_proxy_auth,
8413 NetIO::get_ftp_auth)
8414 (auth_common): Add owner param. Pass owner param to DialogBox.
8415 (NetIO::get_auth, NetIO::get_proxy_auth, NetIO::get_ftp_auth): Pass
8416 owner param to auth_common().
8418 * net.h (NetPage): New file, new class.
8419 * net.cc: Run indent.
8420 (net.h, threebar.h): Add includes.
8421 (Progress): Add extern.
8422 (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, now handled by
8423 property sheet logic. Saved temporarily for reference.
8424 (NetPage::Create, NetPage::OnInit, NetPage::OnDeactivate,
8425 NetPage::OnNext, NetPage::OnBack):
8426 New implementation of NetPage class members.
8428 (dialog_proc): Remove.
8430 * msg.h (fatal, note, yesno): Add owner param.
8431 * msg.c (fatal, note, yesno, mbox): Add owner param.
8432 (mbox): Remove MB_TOPMOST from MessageBox call. Unnecessary and wrong
8433 now that we have a parent.
8435 * main.cc: Run indent.
8436 (commctrl.h, proppage.h, propsheet.h, splash.h, source.h)
8437 (localdir.h, net.h, site.h, choose.h, threebar.h, desktop.h): Include
8439 (root_dialog_proc): extern into this file.
8440 (Progress): Progress dialog defined here, used in several other files.
8441 (WinMain): Instantiate and create Splash, Source, Root, LocalDir, Net,
8442 Site, Chooser, Desktop pages and MainWindow sheet. Call
8443 InitCommonControls() to make sure Windows is set up for our use of
8444 property sheets. Add pages to sheet.
8445 Call MainWindow.Create() to "DoModal". Remove main loop, that logic is
8446 now handled by the PropSheet class.
8447 (root.h): Add include.
8449 * log.cc (log_save): Pass NULL parent to fatal().
8450 (exit_setup): Pass NULL parent to note().
8452 * localdir.h (LocalDirPage): New file, new class.
8453 * localdir.cc: Run indent.
8454 (localdir.h): New include.
8455 (threebar.h): New include.
8456 (Progress): extern into this file.
8457 (LocalDirPage::Create, LocalDirPage::OnInit, LocalDirPage::OnActivate)
8458 (LocalDirPage::OnNext, LocalDirPage::OnBack): Implementation of
8460 (LocalDirPage::OnNext): Move log() call from do_local_dir() to here.
8461 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL handlers.
8462 (do_local_dir): Remove.
8463 (dialog_proc): Remove.
8464 (cwd): Remove, not used by anything.
8466 * install.cc: Run indent.
8467 (process.h, threebar.h): New includes.
8468 (Progress): extern into this file.
8469 (ins_dialog, ins_action, ins_pkgname, ins_filename, ins_pprogress)
8470 (ins_iprogress, ins_diskfull, init_event): Remove, now handled by
8471 ThreeBarProgressPage.
8472 (dialog_cmd, dialog_proc, dialog): Removed, handled in
8473 ThreeBarProgressPage.
8474 (init_dialog): Remove all mention of the above ins_* handles. Now
8475 handled in ThreeBarProgressPage. Altered SetWindowText()s to call
8476 ThreeBarProgressPage instance Progress directly.
8477 (progress): Alter bar update logic to call ThreeBarProgressPage
8478 instance Progress directly.
8479 (uninstall_one): Alter SetWindowText()s to call ThreeBarProgressPage
8480 instance Progress directly.
8481 (install_one_source): Alter SetWindowText()s to call
8482 ThreeBarProgressPage
8483 instance Progress directly. Pass NULL parent to note().
8484 (do_install_thread): Rename from do_install(), added owner param.
8485 Alter SetWindowText()s to call ThreeBarProgressPage instance Progress
8487 Remove dismiss_url_status_dialog() call, no longer necessary. Remove
8488 ShowWindow(<hide>) call, also unnecessary now. Pass owner handle to
8490 (do_install_reflector): New function.
8491 (do_install): New function.
8493 * ini.cc (process.h, threebar.h): New includes.
8494 (Progress): externed into this file.
8495 (find_routine): Pass NULL parent to note().
8496 (do_local_ini): Add owner param.
8497 (do_remote_ini): Add owner param. Pass owner to get_url_to_membuf()
8498 and note(). Remove call to dismiss_url_status_dialog().
8499 (do_ini_thread): Rename from do_ini(). Add owner param. Pass owner to
8500 do_local_ini(), do_remote_ini(), yesno(), and note(). Set next_dialog
8501 to IDD_CHOOSER on exit.
8502 (do_ini_thread_reflector): New function.
8503 (context): New var. Context for do_ini_thread.
8504 (do_ini): New function.
8506 * geturl.h (get_url_to_membuf, get_url_to_string, get_url_to_file): Add
8508 * geturl.cc (gw_dialog, gw_url, gw_rate, gw_progress, gw_pprogress,
8510 (gw_progress_text, gw_pprogress_text, gw_iprogress_text, init_event):
8512 (threebar.h): New include.
8513 (Progress): externed into this file.
8514 (dialog_cmd, dialog_proc, dialog): Removed, handled by
8515 ThreeBarProgressPage now.
8516 (init_dialog): Remove "if (gw_dialog == 0)" clause. Alter
8518 and bar setting SendMessage()s to call ThreeBarProgressPage instance
8519 Progress directly. Remove "one bar only" logic, this is now handled
8520 explicitly in the ThreeBarProgressPage class.
8521 (progress): Altered bar and text update logic to call
8522 ThreeBarProgressPage instance Progress directly. Changed kbps
8523 calculation to floating point and now print out a single decimal
8525 (get_url_to_membuf): Add owner param. Pass it to init_dialog.
8526 (get_url_to_string): Add owner param. Pass it to get_url_to_membuf.
8527 (get_url_to_file): Add owner param. Pass it to init_dialog. Alter bar
8528 update logic to call ThreeBarProgressPage instance Progress directly.
8529 (dismiss_url_status_dialog): Remove.
8531 * fromcwd.cc (do_fromcwd): Add owner param. Initialize found_ini to
8534 * download.cc: Run indent.
8535 (process.h, threebar.h): New includes.
8536 (Progress): externed into this file.
8537 (download_one): Add owner param. Pass it to get_url_to_file().
8538 (do_download_thread): Renamed from do_download. Add owner param. When
8539 calculating total_download_bytes, take binpicked and srcpicked into
8540 account. Remove call to dismiss_url_status_dialog(), no longer needed.
8541 Pass owner handle to download_one() and yesno().
8542 (do_download_reflector, do_download): New functions.
8543 (context): New var. Context for do_download_thread().
8545 * dialog.h (D(x)): Add owner param.
8547 * desktop.h (DesktopSetupPage): New file, new class.
8548 * desktop.cc: Run indent.
8549 (desktop.h): Add include.
8550 (dialog_proc, do_desktop): Remove, now handled in
8551 DesktopSetupPage::OnInit().
8552 (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, handled in
8553 DesktopSetupPage::OnFinish(), DesktopSetupPage::OnBack(), and PropSheet
8555 (DesktopSetupPage::Create, DesktopSetupPage::OnInit)
8556 (DesktopSetupPage::OnBack, DesktopSetupPage::OnFinish): Implementation
8557 of DesktopSetupPage.
8559 * cistring.h: New file, new class.
8560 * cistring.cc: New file, new class.
8562 * choose.h: Run indent.
8563 (Chooser): New class declaration.
8564 * choose.cc: Run indent.
8565 (do_choose): Add owner param. Pass it to DialogBox() and
8567 (Chooser): New class implementation.
8569 * res.rc (IDS_VERSION_INFO): New string.
8570 (IDD_SOURCE, IDD_LOCAL_DIR, IDD_ROOT, IDD_SITE, IDD_OTHER_URL)
8571 (IDD_DLSTATUS, IDD_INSTATUS, IDD_SPLASH, IDD_CHOOSE, IDD_DESKTOP):
8572 Change WS_POPUP to WS_CHILD. Numerous positioning/size changes
8574 (IDD_CHOOSE): Give template the WS_EX_CONTROLPARENT style to enable
8575 TAB control navigation etc. Give the controls a reasonable tab order.
8576 Grouped radio buttons. Something's still not right, can't tab away
8577 from back/next/cancel group reliably.
8578 * resource.h (IDD_CHOOSER): New dialog ID.
8580 * Makefile.in (OBJS): Add cistring.o, proppage.o, propsheet.o,
8581 threebar.o, and window.o.
8583 2001-12-21 Robert Collins <rbtcollins@hotmail.com>
8585 * choose.cc (listview_proc): Update the scrollbar when the headers are
8587 (pick_pkg_line::paint): Clip columns to prevent overlap.
8589 2001-12-20 Robert Collins <rbtcollins@hotmail.com>
8591 * Makefile.in: Add libcomctl32.a for setup.exe.
8592 * archive.h (archive): Prevent non-child direct creation of the class.
8593 * archive_tar.h (archive_tar): Prevent inaccurate synthetic copy and
8595 * choose.cc: Include commctrl for the choose header.
8596 (NEW_COL_SIZE_SLOP): Define without magic numbers.
8597 (pkgtrustp): Convert to function.
8598 (set_action): Remove.
8599 (add_required, fill_missing_category,default_trust): Use list syntax for
8602 (choose_caption): Remove.
8603 (topbucket::paint): New method.
8604 (topbucket::empty): Ditto.
8605 (topbucket::click): Ditto.
8606 (topbucket::~topbucket): Ditto.
8607 (paint): Remove i,ii and p as they are obsolete.
8608 Remove header drawing code.
8609 Use new chooser method to paint the chooser.
8610 Use new chooser itemcount method.
8611 (scroll_common): Rename to view::scroll.
8612 Scroll the header window separately.
8613 (list_vscroll, list_hscroll, list_click): Update for new chooser
8615 (listview_proc): Look for header messages.
8616 (note_width): Accept stringless calls.
8617 (pick_line::set_line): Remove.
8618 (pick_line::paint): Remove.
8619 (pick_pkg_line::paint): Paint this one line, using the header column
8621 (pick_category_line::paint): Paint this category, and anything in the
8623 (pick_line::click): Remove.
8624 (pick_pkg_line::click): Handle a click.
8625 (pick_category_line::click): Handle a click.
8626 (_view): Rename all to view.
8627 (view::view): Initialise the control contents.
8628 (view::set_headers): Work with the header control.
8629 (view::init_headers): Use list syntax for package list.
8630 Rearrange the width logic a little.
8631 (view::insert_pkg): Update to use the hierarchy.
8632 (view::insert_category): Ditto.
8633 (view::insert_at, view::insert_under): Remove.
8634 (view::clear_view): Update to use the hierarchy.
8635 (view::click): Update to use the hierarchy.
8636 (set_view_mode): Use list syntax for package list.
8637 Update for new chooser methods.
8638 (DoInsertItem): New helper function. (Needs a home somewhere).
8639 (create_listview): Remove choose control code and use the constructor
8641 (dialog_cmd,scan2,do_choose): Use list syntax for package list.
8642 * choose.h: Include newly required headers list and package_meta.
8643 (_voew): Rename to view.
8644 (pick_line): Convert to an ABC.
8645 (pick_pkg_line): New class.
8646 (pick_catgory_line): New class.
8647 (topbucket): New class.
8648 (view::scroll): New method created from listview_scroll function.
8649 * desktop.cc (make_passwd_group): Use list syntax for package list.
8650 * download.cc (do_download): Use list syntax for package list.
8651 * fromcwd.cc (found_file): Use list syntax for package list.
8652 * iniparse.y (pacakges): Use list syntax for package list.
8653 * install.cc (uninstall_one): Use list syntax for package list.
8654 (do_install): Use list syntax for package list.
8655 * io_stream.h (io_stream): Prevent non-child direct creation of the
8657 Prevent inaccurate synthetic copy and assignment.
8658 * list.h: Include required header stdlib.
8659 Work on const correctness.
8660 * package_db.cc (packagedb::getpackagebyname): Remove.
8661 (packagedb::packagedb): Remove custom list code, and make db a local.
8662 (packagedb::getfirstpackage): Remove.
8663 (packagedb::getnextpackage): Remove.
8664 (packagedb::addpackage): Remove.
8665 (flush): Remove custom list code.
8666 (packagedb::registerpackage): Remove.
8667 (packagedb::packages): New static member.
8668 (packagedb::task): New static member.
8669 * package_db.h (PackageDBActions): New enum.
8670 (packagedb): Remove getfirstpackage, getnextpackage, getpackagebyname,
8671 addpackage, registerpackage, packages, packagecount, curr_package, db.
8673 * pacakge_meta.cc: Include package_db.h.
8674 (packagemeta::action_caption): New method.
8675 (packagemeta::set_action): New method.
8676 * package_meta.h (CategoryPackage): Initialise key.
8677 (packagemeta): Initialise key.
8678 Add set_action and action_caption methods.
8679 Prevent inaccurate synthetic copy and assignment.
8680 * resource.h (IDC_CHOOSE_LISTHEADER): New ID.
8681 * source.cc: Include package_db for db manipulation.
8682 (save_dialog): Set the db task.
8683 * win32.h: Tell the w32 include headers what IE version to
8686 2001-12-06 Robert Collins <rbtcollins@hotmail.com>
8688 * README: Wishlist updates.
8690 2001-12-04 Robert Collins <rbtcollins@hotmail.com>
8692 * package_db.cc (getnextpackage): Don't overrun the array.
8694 2001-12-04 Robert Collins <rbtcollins@hotmail.com>
8696 * Makefile.in (OBJS): Add setup_version.o.
8697 (version.c): Rename to setup_version.
8698 * choose.cc (set_action): Prevent NULL pointer dereference.
8699 (package_sort): Remove.
8700 * fromcwd.cc (canonicalize_version): Moved to version.cc.
8701 (check_ini): New function for use with find to see if there is a cached
8703 (do_fromcwd): Check for a cached setup.ini from any mirror site.
8704 * ini.cc (find_routine): New function, for finding cached setup.ini's.
8705 (do_local_ini): New function, drives parsing of local ini's.
8706 (do_remote_ini): New function, drives parsing and caching of remote
8708 (do_ini): Move guts to do_remote_ini and do_local_ini.
8709 * list.h (removebyindex): New method.
8710 * other.cc (save_dialog): Use new site_list and all_site_list to add the
8711 new site to the site picklist.
8712 (dialog_cmd): Only save the dialog when exiting the dialog.
8713 * res.rc (IDD_SITE): Make IDC_URL_LIST a multiple-selection control.
8714 * site.cc (site_list_type): Move to site.h
8715 (site_list): New global, sites chosen by the user.
8716 (all_site_list): New global, all potential sites.
8717 (site_list_type::init): New method, parses a mirror.lst URL string into
8718 a site_list_type object.
8719 (site_list_type::site_list_type): New method.
8720 (check_if_enable_next): Examine the control, not a local variable.
8721 (load_dialog): Select all the user chosen sites by default.
8722 (save_dialog): Adjust for multiple selection semantics.
8723 (save_site_url): Save all user chosen sites.
8724 (dialog_cmd): Don't save the dialog when the listbox recieves a message
8726 Remove obsolete other_url reference.
8727 (dialog_proc): Use all_site_list instead of site_list.
8728 (site_sort): Remove.
8729 (get_site_list): Remove malloc use - use list template instead.
8730 Move site_list_type initialisation to site_list_type::init().
8731 (get_initial_list_idx): Renamed to ...
8732 (get_saved_sites): this. Also read in multiple sites to the site_list.
8733 (do_site): Use all_site_list not site_list.
8734 Log all chosen sites.
8735 * site.h: New file, defines site related class, functions and variables.
8736 * state.h: Add comment about use of state.h
8737 (mirror_site): Remove.
8738 (other_url): Remove.
8739 (MIRROR_SITE): Remove.
8740 * version.cc: New file, for version-handling and related functions.
8742 2001-12-02 Robert Collins <rbtcollins@hotmail.com>
8744 * Makefile.in: Add filemanip.o to setup.
8745 * archive.cc (archive::extract_file): Use new io_stream method 'copy'.
8746 * archive_tar.h (archive_tar_file): Implement get_size virtual.
8747 (archive_tar): Ditto.
8748 * choose.cc (set_action): Use [] operator instead of getnth - its more
8751 (_view::init_headers): Ditto.
8752 (_view::insert_pkg): Ditto.
8753 (set_view_mode): Ditto.
8756 (base): Moved to filemanip.cc.
8757 (find_tar_ext): Ditto.
8758 (parse_filename): Ditto.
8759 (_Info::_Info): Remove.
8760 * compress_bz.h (compress_bz): Implement get_size virtual.
8761 * compress_gz.h (compress_gz): Implement get_size virtual.
8762 * cygpackage.cc (cygpackage::destroy): Use array delete for char *
8764 * download.cc (get_file_size): Move to filemanip.cc.
8765 (check_for_cached): Use [] operator instead of getnth - its more
8767 (download_one): Ditto.
8768 * filemanip.cc: New file.
8769 * geturl.cc (init_dialog): Make url a pointer to const as it is not
8771 (get_url_to_membuf): New function - contains get_url_to_string worker
8773 (get_url_to_string): Becomes a trivial wrapper to get_url_to_membuf.
8774 * geturl.h: Declare new prototype.
8775 * ini.cc (do_ini): Use get_url_to_membuf and pass ini_init an io_stream.
8776 Tidy up the error code a little.
8777 * ini.h: Remove __cplusplus protection for ini_init.
8779 * inilex.l: Remove old globals.
8780 (ini_init): Use an io_stream for getting the characters.
8781 (ini_getchar): Ditto.
8782 * iniparse.y: Declare yylex as a C++ function.
8783 (add_correct_version): Use [] operator instead of getnth - its more
8785 * io_stream.cc (io_stream::move_copy): Use the copy method.
8786 (io_stream::copy): New method to simply copy from one stream to another.
8787 * io_stream.h (io_stream): New static method copy, and virtual method
8789 * io_stream_cygfile.cc (io_stream_cygfile::get_size): Implement this.
8790 * io_stream_cygfile.h (io_stream_cygfile::get_size): Declare this.
8791 * io_stream_file.cc (io_stream_file::get_size): Implement this.
8792 * io_stream_file.h (io_stream_file::get_size): Declare this.
8793 * io_stream_memory.h: Include errno as it's neded to parse the header.
8794 (io_stream_memory::get_size): Implement this.
8795 (io_stream_memory::st_size): Delete this.
8796 * list.h: Change getnth into the [] operator.
8797 * netio.cc (NetIO::NetIO): Change prototype to reflect Purl not being
8799 (NetIO::set_url): Ditto.
8800 (NetIO::open): Ditto.
8801 * netio.h: As for netio.cc.
8802 * nio-file.cc (NetIO_File::NetIO_File): Change prototype to reflect
8803 Purl not being modified.
8804 * nio-file.h: Ditto.
8805 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Ditto.
8806 * nio-ftp.h (NetIO_FTP::NetIO_FTP): Ditto.
8807 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Ditto.
8808 * nio-http.h (NetIO_HTTP::NetIO_HTTP): Ditto.
8809 * nio-i5.cc (NetIO_IE5::NetIO_IE5): Ditto.
8810 * nio-i5.h (NetIO_IE5::NetIO_IE5): Ditto.
8811 * package_meta.cc (packagemeta::~packagemeta): Bugfix: use array delete.
8812 * package_source.cc (packagesource::set_canonical): Ditto.
8813 (packagesource::set_cached): Ditto.
8814 * package_source.h (site::~site): Ditto.
8815 * site.cc: Change site_list_type to a class, and search and replace
8816 sort_key to key globally.
8818 2001-12-01 Robert Collins <rbtcollins@hotmail.com>
8820 * package_source.cc (packagesource::set_canonical): Filename was out by
8823 2001-11-30 Robert Collins <rbtcollins@hotmail.com>
8825 * Makefile.in (OBJS): Remove category_list - it's not needed.
8826 * README: More wishlist updates.
8827 * category.cc (Category::Category): Initialise new members.
8828 (Categorycmp): New function.
8829 * category.h (Category): New member key for template use.
8830 * category_list.cc: Remove.
8831 * category_list.h: Remove.
8832 (Categorycmp): New function prototype.
8833 * choose.cc: Remove category_list - not needed.
8834 (set_action): Only show the 'source' option when the source is actually
8836 (add_required): Fix recursion limiter to 5.
8837 (fill_missing_category): Use list access.
8838 (default_trust): Ditto.
8839 (pick_line::paint): Ditto.
8840 (_view::init_headers): Ditto.
8841 (_view::insert_pkg): Ditto.
8842 (_view::insert_category): Ditto.
8843 (_view::click): Ditto.
8844 (set_view_mode): Ditto.
8846 * cygpackage.h: Remove category_list - not needed.
8847 * geturl.cc (get_url_to_string): Fix null byte insertion.
8848 * inipatse.y: Remove category_list - not needed.
8849 (categories): Use list access.
8850 * package_db.cc: Ditto.
8851 * package_db.h: Remove category_list - not needed.
8852 (packagedb): Use the list template for categories.
8853 * package_meta.cc (add_category): Ditto.
8854 * package_meta.h (CategoryPackage): Link to the category as well.
8855 (packagemeta): Use a list of CategoryPackages instead of Categories
8856 for more memory efficient cross-referencing.
8858 2001-11-30 Robert Collins <rbtcollins@hotmail.com>
8860 * package_db.cc (packagedb::flush): Write a canonical version for all
8861 packages irrespective of the media they were installed from.
8863 2001-11-29 Robert Collins <rbtcollins@hotmail.com>
8865 * Makefile.in (OBJS): Add package_source and rfc1738.
8866 * README: Wishlist update.
8867 * category_list.cc (register_category): Use references.
8868 * category_list.h (CategoryList): Ditto.
8869 * choose.cc (isinstalled): Remove.
8870 (pkgtrustp): New macro.
8871 (set_action): Use packagemeta.
8872 (add_required): Ditto.
8873 (choose_caption): Example package to choose caption, rather than state
8875 (check_existence): Remove.
8876 (set_existence): Remove old code.
8877 (fill_missing_category): Use packagemeta.
8878 (keep_or_skip): Remove.
8879 (default_trust): Use packagemeta and set trust values directly.
8880 (pick_line::set_line): Use packagemeta.
8881 (_view::insert_pkg): Ditto.
8882 (_view::insert_category): Ditto.
8883 (_view::click): Ditto.
8884 (set_view_mode): Ditto. Also remove "exclude" code.
8885 (create_listview): Use packagemeta.
8886 (dialog_cmd): Ditto.
8887 (getpkgbyname): Remove
8888 (scan2): Use packagemeta. Temporarily comment out the holefinding code.
8889 (read_installed_db): Remove.
8890 (package_sort): Use packagemeta.
8891 (do_choose): Use packagemeta. Don't sort the packages - the db does
8893 * choose.h: Use packagemeta.
8894 * cygpackage.cc (cygpackage::cygpackage): Initialise all variables.
8895 (cygpackage::cygpackage): Ditto.
8896 (cygpackage::set_canonical_version): Copy the passed string.
8897 (cygpackage::~cygpackage): Move cleanup code to destroy().
8898 (cygpackage::destroy): New function.
8899 (cygpackage::getfirstfile): Use a separate buffer.
8900 (cygpackage::getnextfile): Ditto.
8901 (cygpackage::Canonical_version): New function.
8902 (cygpackage::set_sdesc): Ditto.
8903 (cygpackage::set_ldesc): Ditto.
8904 * cygpackage.h (cygpackage::Canonical_version): New method.
8905 (cygpackage::set_sdesc): New method.
8906 (cygpackage::set_ldesc): New method.
8907 (cygpackage::SDesc): New method.
8908 (cygpackage::LDesc): New method.
8909 (cygpackage::set_canonical_version): New method.
8910 * desktop.cc: Include packagedb headers.
8911 (make_password_group): Use packagemeta.
8912 * download.cc: Include packagedb headers.
8913 (check_for_cached): New method to find any cached file and fill out the
8915 (download_one): Take a packagesource, support multiple mirrors.
8916 (do_download): Use packagemeta.
8917 * from cwd.cc: Include packagedb headers.
8918 (found_file): Use packagemeta.
8919 * ini.cc (do_ini): Beginning of multiple-mirror support.
8920 * ini.h (CategoryPackage): Remove.
8921 (Dependency): Remove.
8923 (new_package,getpkgbyname,getpackagecategorybyname,add_category):
8925 * inilex.l: Support multiple mirrors.
8926 * iniparse.y: Include packagedb headers.
8927 (parser): Use packagemeta.
8928 (new_package): Remove.
8929 (add_correct_version): New function.
8930 (new_requirement): Remove.
8931 (add_category): Remove.
8932 * install.cc (uninstall_one): Use packagemeta.
8933 (install_one_source): New function.
8934 (install_one): Use packagemeta.
8935 (do_install): Use packagemeta.
8936 * io_stream.cc (io_stream::move): Bugfix on move/copy case.
8937 * io_stream_cygfile.cc (io-stream_cygfile::set_mtime): Do not reopen the
8938 file after setting the mtime, it makes no sense, and results in 0 length
8940 * io_stream_file.cc (io-stream_file::set_mtime): Ditto.
8941 * list.h: New file, template class for a form of list.
8942 * package_db.cc (packagedb::registerpackage): New function.
8943 * package_db.h (packagedb::npackages ()): New method.
8944 * package_meta.cc (packagemeta::add_version): Use list template.
8945 (packagemeta::set_installed): Ditto.
8946 (packagemeta::add_category): New method.
8947 * package_meta.h: Include necessary headers to parse the class.
8948 (CategoryPackage): New class.
8949 (packagemeta): Initialise all members.
8950 (packagemeta::SDesc): New method.
8951 (packagemeta::Categories): New method.
8952 (packagemeta::add_category): Ditto.
8953 (packagemeta::versions): Change to be a list instance.
8954 * package_source.cc (packagesource::set_canonical): New method.
8955 (packagesource::set_cached): New method.
8956 * package_source.h: Include necessary headers to parse the class.
8958 (packagesource::packagesource): Initialize all members.
8959 (packagesource): Make this class non-abstract.
8960 * package_version.cc (packageversion::packageversion): New method.
8961 * package_version.h (Dependency): New class.
8962 (packageversion::Canonical_vesion): New method.
8963 (packageversion::SDesc): New method.
8964 (packageversion::LDesc): New method.
8965 (packageversion::new_requirement): Ditto.
8966 (packageversion::srcpicked, binpicked): What to install.
8967 (packageversion::src, bin): Installation source data.
8968 * rfc1738.cc: New file. Escapes special characters in URL's.
8971 2001-11-26 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
8973 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Stop header parsing when
8974 SimpleSocket::gets() returns a zero-length string, so that we
8975 don't end up eating the entire stream thinking it's all header info.
8977 2001-11-23 Robert Collins <rbtcollins@hotmail.com>
8979 * install.cc (badrename): Remove.
8980 (do_install): Use packagedb flush method to write
8981 /etc/setup/installed.db.
8982 * io_stream.cc (io_stream::move_copy): New method.
8983 (io_stream::move): New method.
8984 * io_stream.h (io_stream): New methods move and move_copy.
8985 * io_stream_cygfile.cc (io_stream_cygfile::move): New method.
8986 * io_stream_cygfile.h (io_stream_cygfile): New method move.
8987 * io_stream_file.cc (io_stream_file::move): New method.
8988 * io_stream_file.h (io_stream_file): New method move.
8989 * package_db.cc (packagedb::flush): New method.
8990 * package_db.h (packagedb): New method flush.
8992 2001-11-23 Robert Collins <rbtcollins@hotmail.com>
8994 * Makefile.in (OBJS): Add package_version.
8995 * ategory.cc (Category::Category): Update constructors.
8996 * category_list.cc (CategoryList::register_category): Insert correctly.
8997 * choose.cc: Include package_version.h, not package.h.
8998 * cygpackage.cc: Ditto.
8999 (cygpackage::uninstall): New method.
9000 * cygpackage.h (cygpackage): Rename genericpackage to packageversion.
9001 New method uninstall.
9002 * hash.cc (add, has, enumerate): Change prototype to be accurate.
9003 * hash.h (hash): Change prototypes to be accurate.
9004 * ini.h (_Info): New parameterless constructor.
9005 (CategoryPackage): New constructor.
9007 * install.cc: Don't include unneeded headers.
9008 Include package database headers.
9009 (hash::add_subdirs): Remove.
9010 (uninstall_one): Use packagemeta->uninstall to perform the
9011 uninstallation. Don't uninstall source packages.
9012 (do_install): Just can uninstall_one once as we ignore source packages
9013 now. Don't copy the installed.old database accross, instead iterate
9014 through the packagedb packages list and write the installed packages
9016 * package_db.cc: Include package_version.h, not package.h.
9017 (packagedb::packagedb): Never let db be undefined.
9018 Record the installation filename, so we can reconstruct installed.db.
9019 (packagedb::addpackage): Insert packages in alpha sorted order.
9020 (packagedb::categories): Initialise correctly.
9021 * package_meta.cc: Include win32 and mount headers as a workaround to
9022 current io_stream limitations. Include a TODO about that.
9023 (standard_dirs): New, from install.cc.
9024 (hash::add_subdirs): New, from install.cc.
9025 (packagemeta::set_installed): Rename genericpackage to packageversion.
9026 (packagemeta::uninstall): New method.
9027 * package_meta.h: Rename genericpackage to packageversion.
9028 (packagemeta): Update constructor.
9029 (add_version, set_installed): Rename genericpackage to packageversion.
9030 (uninstall): New method.
9031 (installed_from): New member.
9032 * package_source.cc: New file.
9033 * package_source.h: New file.
9034 * package_version.cc: New file.
9035 * package_version.h: New file.
9036 * package.cc: Removed.
9037 * package.h: Removed.
9039 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
9041 * Makefile.in (OBJS): Add category.o and category_list.o.
9042 * category.h: New file.
9043 * category.cc: New file.
9044 * category_list.h: New file.
9045 * category_list.cc: New file.
9046 * choose.cc: Include category headers.
9047 (fill_missing_category): Use package_db to access global categories.
9048 (_view::insert_pkg): Ditto.
9049 (_view::insert_category): Ditto.
9050 (set_view_mode): Ditto.
9051 (getcategorybyname): Remove.
9052 * cygpackage.h: Include category_list.h to parse this correctly.
9053 (cygpackage): New virtual &Categories.
9054 * ini.h (_CategoryPackage): More C to C++ conversion.
9056 (getcategorybyname): Remove.
9057 (register_category): Remove.
9058 * iniparse.y: Include package db and category headers.
9059 (categories): Use package_db to access global categories.
9061 (ncategories): Remove.
9062 (register_category): Remove.
9063 * package.h: New virtual &Categories.
9064 * package_db.cc (packagedb::packagedb): Don't read the installed db
9066 (packagedb::categories): Declare.
9067 * package_db.h (packagedb): New member categories for global categories
9070 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
9072 * choose.h: Don't include ini.h
9073 * ini.h: Allow pure c++ in the header file.
9075 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
9077 * install.cc (do_install): Write a version 2 installed.db file.
9078 * package_db.cc (packagedb::packagedb): Read version 1 and 2
9081 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
9083 * Makefile.in (OBJS): Add package abstraction objects.
9084 * choose.cc: Include package abstraction headers.
9085 (read_installed_db): Use packagedb class and ignore installed sources.
9086 * cygpackage.cc: New file.
9087 * cygpackage.h: New file.
9088 * filemanip.h (get_file_size): Use unixy types.
9089 * package.h: New file.
9090 * package.cc: New file.
9091 * package_db.cc: New file.
9092 * package_db.h: New file.
9093 * package_meta.cc: New file.
9094 * package_meta.h: New file.
9096 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
9098 * REAME: Updates to wishlist.
9100 2001-11-16 Robert Collins <rbtcollins@hotmail.com>
9102 * README: Updated and added my list of wishlist and todo items.
9104 2001-11-14 Robert Collins <rbtcollins@hotmail.com>
9106 * Makefile.in (OBJS): Include io_stream_memory in setup.exe.
9107 * archive_tar.cc (archive_tar::write): New prototype.
9108 (archive_tar::seek): New method.
9109 * archive.h (archive_tar_file): Update write() and add seek().
9110 (archive_tar): Ditto.
9111 * archive_tar_file.cc (archive_tar_file::write): New prototype.
9112 (archive_tar_file::seek): New method.
9113 * compress_bz.cc (compress_bz::write): New prototype.
9114 (compress_bz::seek): New function.
9115 * compress_bz.h (compress_bz): Update write() and add seek().
9116 * compress_gz.cc (compress_gz::write): New prototype.
9117 (compress_gz::seek): New function.
9118 * compress_gz.h (compress_gz): Update write() and add seek().
9119 * geturl.cc: Include io_stream headers.
9121 (get_url_to_string): Use a io_stream_memory buffer instead of GUBuf.
9122 * io_stream.h (io_stream_seek_t): New enum.
9123 (io_stream): Update write() and add seek().
9124 * io_stream_cygfile.cc (io_stream_cygfile::write): New prototype.
9125 (io_stream_cygfile::seek): New function.
9126 * io_stream_cygfile.h (io_stream_cygfile): Update write() and add
9128 * io_stream_file.cc (io_stream_file::write): New prototype.
9129 (io_stream_file::seek): New function.
9130 * io_stream_file.h (io_stream_file): Update write() and add seek().
9132 2001-11-13 Brian Keener <bkeener@thesoftwaresource.com>
9134 * localdir.cc: Add headers unistd.h and port.h.
9135 (save_local_dir): Expand search logic to include local directory for
9136 location of file last-cache.
9137 (dialog_cmd): Skip IDD_ROOT when downloading and use Back button.
9138 (do_local_dir): Expand search logic to include local directory for file
9140 * res.rc (IDD_CHOOSE_DIALOG): Add hotkey to View button.
9141 * Source.cc (dialog_cmd): Skip IDD_ROOT if select Download from
9143 (do_source): Default to Install from Internet on first entry or
9144 previous selection if backing up from IDD_ROOT or IDD_LOCAL_DIR.
9146 2001-11-13 Robert Collins <rbtcollins@hotmail.com>
9148 * choose.cc (find_tar_ext): Only match at the end of the string.
9149 (getpkgbyname): Prevent NULL pointer dereference.
9151 2001-11-13 Robert Collins <rbtcollins@hotmail.com>
9153 * Makefile.in (CFLAGS): Add warnings and -Werr.
9154 (WARNONLY_FLAGS): For sources that produce (harmless) errors no matter
9156 (OBJS): Add io_stream class' objects.
9157 (autoload.o): Use WARNONLY_FLAGS.
9159 (iniparse.o): Ditto.
9160 * archive.cc: New file.
9161 * archive.h: New file.
9162 * archive_tar.cc: New file.
9163 * archive_tar.h: New file.
9164 * archive_tar_file.cc: New file.
9165 * autoload.c: Fix compiler warnings (unused, deprecated conversion).
9166 * choose.cc: Use io_stream.h, not mount.h.
9168 (find_tar_ext): Rewritten to use strstr, and to accept .tar as an
9170 (read_installed_db): Use io_streams.
9171 * choose.h: Run indent.
9172 * compress.cc: New file.
9173 * compress.h: New file.
9174 * compress_bz.cc: New file.
9175 * compress_bz.h: New file.
9176 * compress_gz.cc: New file.
9177 * compress_gz.h: New file.
9178 * concat.cc: Run indent.
9179 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9180 * concat.h: Run indent.
9181 * desktop.cc: Run indent.
9182 Include mklink2.h rather than redefining by hand.
9183 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9184 (etc_profile): Fix compiler warning (deprecated conversion).
9185 (make_link): Fix compiler warning (deprecated conversion).
9186 Tidy up use of args variable - consolidate into argbuf.
9187 (start_menu): Fix compiler warning (deprecated conversion).
9188 (desktop_icon): Fix compiler warning (deprecated conversion).
9189 (make_etc_profile): Fix compiler warning (deprecated conversion).
9190 (uexists): Fix compiler warning (deprecated conversion).
9191 (check_desktop): Fix compiler warning (deprecated conversion).
9192 (check_startmenu): Fix compiler warning (deprecated conversion).
9193 * dialog.cc: Run indent.
9194 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9195 (fatal): Fix compiler warning (deprecated conversion).
9196 * dialog.h: Run indent.
9197 * diskfull.cc: Run indent.
9198 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9199 * download.cc: Run indent.
9200 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9201 (download_one): Fix compiler warning (signed vs unsigned comparison).
9202 * filemanip.h: Run indent.
9203 * find.cc: Run indent.
9204 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9205 (find): Fix compiler warning (deprecated conversion).
9206 * find.h: Run indent.
9207 * fromcwd.cc: Run indent.
9208 * geturl.cc: Run indent.
9209 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9210 (dialog_cmd): Return a value.
9211 (dialog_proc): Remove unused variables.
9213 (get_url_to_file): Fix compiler warning (deprecated conversion).
9214 * geturl.h: Run indent.
9215 * hash.cc: Run indent.
9216 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9217 * hash.h: Run indent.
9218 * ini.cc: Run indent.
9220 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9221 (do_ini): Use io_streams for local io.
9222 * ini.h: Run indent.
9223 * inilex.l (ignore_line): Fix compiler warning (is not a prototype).
9224 Fix compiler warning (brackets for truth assignment).
9225 * install.cc: Run indent.
9226 Fix compiler warning (/* in comment).
9228 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9229 (dialog_cmd): Return a value.
9230 (dialog_proc): Return a value.
9231 (start_tics): Deleted - was unused.
9232 (badrename): Fix compiler warnings (unused, deprecated conversion).
9233 (standard_dirs): Fix compiler warning (deprecated conversion).
9235 (uninstall_one): Convert to io_streams.
9236 (install_one): Convert to io_streams.
9237 (do_install): Convert to io_streans.
9238 Fix compiler warning (deprecated conversion).
9239 * io_stream.cc: New file.
9240 * io_stream.h: New file.
9241 * io_stream_cygfile.cc: New file.
9242 * io_stream_cygfile.h: New file.
9243 * io_stream_file.cc: New file.
9244 * io_stream_file.h: New file.
9245 * localdir.cc: Run indent.
9247 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9248 (get_root_dir_now): Remove.
9249 (save_local_dir): Convert to io_streams.
9250 (dialog_cmd): Return a value.
9251 (do_local_dir): Convert to io_streams.
9252 (log.cc): Run indent.
9253 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9254 (log): Fix compiler warning (deprecated conversion).
9255 (log_save): Fix compiler warning (deprecated conversion).
9256 * log.h: Run indent.
9257 (log): Fix compiler warning (deprecated conversion).
9258 (log_save): Fix compiler warning (deprecated conversion).
9259 * main.cc: Run indent.
9260 Don't include "netio.h".
9261 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9262 (netio_test): Remove.
9263 (sid_auth): Fix compiler warning (partially bracketed initialiser).
9264 (WinMain): Return a value.
9265 * mkdir.cc: Run indent.
9266 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9267 * mklink2.c: Run indent.
9268 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9269 (mkcygsymlink): New function.
9270 * mklink2.h: New file.
9271 * mount.cc: Run indent.
9272 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9273 (create_mount): Remove unused variables.
9274 (cygpath): Fix compiler warning (signed vs unsigned comparison).
9275 * mount.h: Run indent.
9276 * msg.cc: Run indent.
9277 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9278 (msg): Fix compiler warning (deprecated conversion).
9279 (mbox): Fix compiler warning (deprecated conversion).
9280 * msg.h: Run indent.
9281 (msg): Fix compiler warning (deprecated conversion).
9282 * net.cc: Run indent.
9283 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9284 (dialog_cmd): Return a value.
9285 * netio.cc: Run indent.
9286 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9287 (auth_cmd): Return a value.
9288 * netio.h: Run indent.
9289 * nio-file.cc: Run indent.
9290 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9291 (NetIO_File::NetIO_File): Fix compiler warning (deprecated conversion).
9292 * nio-file.h: Run indent.
9293 * nio-ftp.cc: Run indent.
9294 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9295 * nio-ftp.h: Run indent.
9296 * nio-http.cc: Run indent.
9297 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9298 * nio-http.h: Run indent.
9299 * nio-ie5.cc: Run indent.
9300 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9301 * nio-ie5.h: Run indent.
9302 * other.cc: Run indent.
9303 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9304 (dialog_cmd): Return a value.
9305 * port.h: Run indent.
9306 * postinstall.cc: Run indent.
9307 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9308 (cmd): Fix compiler warning (deprecated conversion).
9309 (eun): Fix compiler warning (deprecated conversion).
9310 * root.cc: Run indent.
9311 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9312 * simpsock.cc: Run indent.
9313 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9314 * simpsock.h: Run indent.
9315 * site.cc: Run indent.
9317 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9318 (get_root_dir_now): Remove.
9319 (save_site_url): Convert to io_streams.
9320 (dialog_cmd): Return 0.
9321 (get_initial_list_idx): Convert to io_streans.
9322 * source.cc: Run indent.
9323 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9324 (check_if_enable_next): Remove.
9325 (load_dialog): Remove unused variables.
9326 (save_dialog): Ditto.
9327 (dialog_cmd): Return a value.
9328 * splash.cc: Return a value.
9329 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9330 (dialog_cmd): Return a value.
9331 * state.cc: Run indent.
9332 (cvsid): Fix compiler warnings (unused, deprecated conversion).
9333 * state.h: Run indent.
9337 2001-11-12 Christopher Faylor <cgf@redhat.com>
9339 * desktop.cc (start_menu): Change start menu name to "Cygwin".
9340 (check_startmenu): Ditto.
9342 2001-11-11 Christopher Faylor <cgf@redhat.com>
9344 * choose.cc (parse_filename): Finish reorganization by correctly
9345 decrementing p in memmove.
9347 2001-11-11 Christopher Faylor <cgf@redhat.com>
9349 * choose.cc (parse_filename): Reorganize code to work around gcc
9350 optimization problem.
9352 2001-11-09 Gareth Pearce <tilps@hotmail.com>
9354 * choose.cc (set_action): Allow skip as an option for installed
9355 packages that have version number not listed in setup.ini.
9357 2001-11-10 Robert Collins <rbtcollins@hotmail.com>
9359 * choose.cc (set_cation): Backout last change.
9360 (choose_caption): Ditto.
9362 2001-11-10 Robert Collins <rbtcollins@hotmail.com>
9364 * ini.h (actions): Remove - transferred to choose.h.
9366 * choose.h: Protect class's from "C" compilers.
9367 (actions): New enum, from ini.h. This may not be the 'right' place
9368 but that place doesn't exist yet.
9369 (_views): New enum, from ini.h.
9370 * choose.cc (set_action): Handle installed packages with a version not
9372 (choose_caption): Ditto.
9373 * iniparse.y: Rearrange header order to handle new ini.h.
9375 2001-11-10 Robert Collins <rbtcollins@hotmail.com>
9377 * ini.h (_Info): Fix compiler warnings (signed vs unsigned comparison).
9378 (registry_category): Fix compiler warning (deprecated conversion).
9379 * iniparse.y (registry_category): Ditto.
9380 * choose.cc (cvsid): Fix compiler warnings (unused, deprecated
9382 (add_requried): Remove unused variable.
9383 (choose_caption): Handle all enumeration values via a default.
9384 (paint): Fix compiler warnings (unused, deprecated conversion).
9385 (scroll_common): Fix compiler warnings (unused, signed vs unsigned
9387 (list_clicK): Fix compiler warnings (signed vs unsigned comparison).
9388 (note_width): Fix compiler warnings (deprecated conversion).
9389 (keep_or_skip): Fix compiler warnings (unused).
9390 (_view::mode_caption): Fix compiler warnings (deprecated conversion).
9391 (set_view_mode): Fix compiler warnings (unused).
9392 (create_listview): Fix compiler warnings (unused, incorrect format,
9393 reaches end of function).
9394 (dialog_proc): Fix compiler warnings (unused).
9395 (read_installed_db): Fix compiler warnings (unused, deprecated
9397 * choose.h (_header): Fix compiler warnings (deprecated conversion).
9400 2001-11-08 Pavel Tsekov <ptsekov@syntrex.com>
9402 * simpsock.h (SimpleSocket::invalidate): Declare new method.
9403 * simpsock.cc (SimpleSocket::invalidate): Implement new method.
9404 (SimpleSocket::SimpleSocket): Initialize buf to zero. Do not allocate
9405 memory for buf in the constructor.
9406 (SimpleSocket::~SimpleSocket): Use SimpleSocket::invalidate().
9407 (SimpleSocket::printf): Use SimpleSocket::write() instead of send().
9408 (SimpleSocket::write): Check object consistency - return -1 on error.
9409 invalidate() the object on socket write error.
9410 (SimpleSocket::fill): Check object consistency - return -1 on error.
9411 invalidate() the object if socket read error is encountered and there
9412 is no more data available in the internal read buffer.
9413 Allocate memory for the internal read buffer.
9414 (SimpleSocket::gets): Return zero (NULL pointer) if error is encountered
9415 during fill() and no more data is available in the internal read buffer.
9416 (SimpleSocket::read): Check object consistency - return -1 on error.
9417 invalidate() the object if socket read error is encountered.
9418 * nio-ftp.cc (NetIO_FTP:NetIO_FTP): Allow 125 as valid response code to
9419 the RETR command (fix for MS IIS ftp server 5 - possibly others too).
9420 (NetIO_FTP::ok): Check if the SimpleSocket object is ok().
9421 (NetIO_FTP::read): Use NetIO_FTP::ok().
9422 * nio-http.cc: Check for valid return value of SimpleSocket::gets().
9423 (NetIO_HTTP::ok): Check if the SimpleSocket object is ok().
9425 2001-11-09 Robert Collins <rbtcollins@hotmail.com>
9427 * simpsock.cc (cvsid): Avoid compiler warnings (not used, deprecated
9429 (SimpleSocket::SimpleSocket): Avoid compiler warnings (deprecated
9431 (SimpleSocket::printf): Ditto.
9432 (SimpleSocket::write): Ditto.
9433 * simpsock.h (SimpleSocket): Avoid compiler warnings for constructor,
9435 * nio-ftp.cc (cvsid): Avoid compiler warnings (not used, deprecated
9437 (NetIO_FTP::NetIO_FTP): Remove unused variable done.
9438 * nio-http.cc (cvsid): Avoid compiler warnings (not used, deprecated
9441 2001-11-07 Charles Wilson <cwilson@ece.gatech.edu>
9443 * geturl.cc (get_url_to_string): clean up memory leak
9444 (get_url_to_file): ditto
9446 2001-11-06 Robert Collins <rbtcollins@hotmail.com>
9448 * localdir.cc (dialog_cmd): Go back to IDD_ROOT in every case.
9449 * source.cc (dialog_cmd): Go forward to IDD_ROOT in every case.
9451 2001-11-06 Pavel Tsekov <ptsekov@syntrex.com>
9453 * fromcwd.cc (found_file): Free() memory containing the version and
9454 filepath information for a given package, before replacing the pointers
9455 which reference this memory.
9457 2001-11-06 Robert Collins <rbtcollins@hotmail.com>
9459 * fromcwd: Fix compiler warnings for cvsid.
9460 (canonicalize_version): Fix compilter warnings.
9461 (do_fromcwd): Ditto.
9462 * version.h: Fix compiler warnings for canonicalize_version.
9464 2001-11-03 Robert Collins <rbtcollins@hotmail.com>
9466 * res.rc (IDD_CHOOSE): Move the view caption to the right hand side.
9468 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
9470 * res.rc (IDD_CHOOSE): Tweak for use on a 640x480 screen.
9472 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
9474 * choose.cc (set_action): Correctly allow skip for any uninstalled
9477 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
9479 * choose.cc (default_trust): Change the "Required" forced install
9482 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
9484 * choose.cc: Ran indent.
9485 (set_action): When the requested trust level is missing and the level
9486 was not user requested, set the action to ACTION_SAME_CURR.
9488 2001-11-01 Christopher Faylor <cgf@redhat.com>
9490 * Makefile.in (mingw_getopt.o): Fix typo in non-verbose compilation.
9492 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
9494 * choose.cc (_view::init_headers): Resync with the paint logic.
9496 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
9498 * choose.cc (add_required): Allow SKIP and SRC_ONLY for currently
9501 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
9503 * choose.cc (default_trust): Autoset currently installed packages per
9504 the user's selection of prev/curr/exp.
9506 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
9508 * splash.cc (dialog_proc): Return TRUE as specified in the WIN32 API.
9510 2001-11-02 Pavel Tsekov <ptsekov@syntrex.com>
9512 * geturl.cc (is_showing): Remove.
9513 (is_local_install): New static variable. Controls whether the
9514 progress dialog and the supporting thread will be created.
9515 (dialog_proc): Return TRUE to WM_INITDIALOG as specified by the WIN32
9517 (init_dialog): Remove usage of SetForegroundWindow and is_showing.
9518 This prevents the progress dialog to gain control over the
9519 application and fixes the "setup.exe going to background" problem.
9520 (progress): Use is_local_install.
9521 (get_url_to_string): Set is_local_install.
9522 (dismiss_url_status_dialog): Use is_local_install.
9523 * install.cc (dialog_proc): Return TRUE as specified in WIN32 API.
9524 (init_dialog): Remove usage of SetForegroundWindow.
9525 This prevents the progress dialog to gain control over the
9526 application and fixes the "setup.exe going to background" problem.
9528 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
9530 * choose.cc (list_click): Change r to row for clarity.
9531 When we shrink the list below 1 page, scroll to the top of the list.
9532 (_view::click): Return the actual change for contractions.
9533 (dialog_proc): Return TRUE to WM_INITDIALOG as specified by the Win32
9536 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
9538 * choose.cc (dialog_cmd): Swap cygwin root selection and local dir
9540 * localdir.cc: Ran indent.
9541 (get_root_dir_now): New function.
9542 (save_local_dir): New function.
9543 (dialog_cmd): Use it and swap cygwin root selection and local dir
9545 (do_local_dir): If there is a saved local dir, read it in.
9546 * net.cc (dialog_cmd): Swap cygwin root selection and local dir
9548 * root.cc (dialog_cmd): Ditto.
9549 * source.cc (dialog_cmd): Ditto.
9551 2001-11-01 Robert Collins <rbtcollins@hotmail.com>
9553 * choose.cc(list_vscroll): Return 0 as required by win32.
9554 (list_hscroll): Ditto.
9555 (list_click): Ditto.
9557 2001-11-01 Robert Collins <rbtcollins@hotmail.com>
9561 * main.cc(WinMain): Use __argv to retrieve command line parameters.
9562 * Makefile,in: Remove argv.o.
9564 2001-11-01 Matt Hargett <matt@use.net>
9566 * geturl.cc (progress): Change int to unsigned int to eliminate
9568 * (get_url_to_string): Check for NULL pointer.
9569 * mount.cc (find2): Use free instead of delete for malloc'd
9571 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Fix memory leak.
9573 2001-10-31 Robert Collins <rbtcollins@hotmail.com>
9575 * choose.cc(_view::insert_under): Handle linen > nlines and lines[linen]
9576 with neither a package nor a category. The lines[linen] bug was reported
9577 by Matt (matt@usa.net).
9578 (read_installed_db): Bugfix for testing whether a package has a source
9579 tarball. Reported by Matt (matt@usa.net).
9580 * geturl.cc(dialog): Rename gw_dialog to local_gw_dialog to avoid
9581 programmer confusion and lint errors. Reported by Matt (matt@usa.net).
9583 2001-10-31 Robert Collins <rbtcollins@hotmail.com>
9585 * argv.cc: New file, converts arguments for -mwindows
9586 programs. (Simplified derivation from dcrt0.cc.)
9588 * Makefile,in: Add argv.o and mingw_getopt.o to setup.exe object list.
9589 Add mingw_getopt.o build rule.
9590 * main.cc(WinMain): Initialise argv and argc for use by getopt.
9592 2001-10-27 Christopher Faylor <cgf@redhat.com>
9594 * res.rc: Rearrange info on top line slightly.
9596 2001-10-27 Christopher Faylor <cgf@redhat.com>
9598 * desktop.cc (make_passwd_group): Move file creation earlier in the
9599 process to ensure that passwd-grp.bat reflects desired operation.
9601 2001-27-10 Trevor Forbes <t4bs@hotmail.com>
9603 * postinstall.cc (each): Remove "*.done" file else rename will fail.
9605 2001-10-16 Christopher Faylor <cgf@redhat.com>
9607 * res.rc: Oops. Take 640x480 screen size into account.
9609 2001-10-16 Christopher Faylor <cgf@redhat.com>
9611 * res.rc: Enlarge chooser screen.
9613 2001-10-12 Christopher Faylor <cgf@redhat.com>
9615 * Makefile.in: Accomodate changes to w32api_include macro.
9617 2001-10-12 Christopher Faylor <cgf@redhat.com>
9619 * Makefile.in: Use correct flags for windres.
9621 2001-10-12 Christopher Faylor <cgf@redhat.com>
9623 * Makefile.in (CFLAGS): Remove -nostdinc from CFLAGS.
9625 2001-10-12 Christopher Faylor <cgf@redhat.com>
9627 * choose.cc (pick_line::paint): Reorganize after botched patch.
9629 2001-10-12 Christopher Faylor <cgf@redhat.com>
9631 * choose.cc (pick_line::paint): Add missing declaration.
9633 2001-10-10 Ralf Habacker <Ralf.Habacker@freenet.de>
9635 * choose.cc (pick_line::paint): Add package name to sdesc for display.
9637 Wed Sep 26 21:39:00 Robert Collins rbtcollins@hotmail.com
9639 * choose.cc (_view::insert_pkg): Correctly exit loop.
9640 * iniparse.y (register_category): Always insert new categories.
9642 Fri Sep 21 13:56:32 2001 Christopher Faylor <cgf@cygnus.com>
9644 * inilex.l (yylex): For comments, eat all characters up to, but not
9647 Sun Aug 26 12:50:01 2001 John Marshall <jmarshall@acm.org>
9649 * fromcwd.cc (found_file): Use correct package name when adding an
9650 unknown package rather than random stack garbage.
9652 Sun Aug 12 14:25:21 2001 Christopher Faylor <cgf@cygnus.com>
9654 * desktop.cc (make_passwd_group): .bat files need \r\n endings.
9656 Wed Aug 8 13:53:47 2001 Christopher Faylor <cgf@cygnus.com>
9658 * desktop.cc (etc_profile): Leave environment variables untouched.
9660 2001-08-07 Corinna Vinschen <corinna@vinschen.de>
9662 * autoload.c: Add dynamic load statements for NT/W2K
9663 advapi32 functions not available in 9x/ME.
9664 * main.cc (set_default_dacl): New function.
9665 (WinMain): Call `set_default_dacl' if running on NT/W2K.
9667 Sat Aug 4 21:35:53 2001 Christopher Faylor <cgf@cygnus.com>
9669 * ini.h (_CategoryPackage): Change pkg field to pkgname for
9671 * choose.cc: Use pkgname field when referencing _CategoryPackage
9673 (fill_missing_category): Don't add excluded packages.
9674 (default_trust): Ditto.
9675 (_view::insert_pkg): Ditto.
9676 * iniparse.y (register_category): Use consistent variable name.
9678 2001-07-09 Egor Duda <deo@logos-m.ru>
9680 * choose.cc: Use system foreground color for text output.
9682 Sat Jul 7 00:40:28 2001 Christopher Faylor <cgf@cygnus.com>
9684 * choose.cc (set_action): Use default trust for determining reinstall
9686 (default_trust): Set default trust.
9687 (pick_line::paint): Allow source selection when reinstalling or
9690 Fri Jul 6 18:08:49 2001 Christopher Faylor <cgf@cygnus.com>
9692 * choose.cc (isinstalled): Modify to properly accomodate special case
9694 (set_action): Check downloaded components, not installed components if
9696 (set_existence): Always include full list of files when "download
9699 Fri Jul 6 00:37:05 2001 Christopher Faylor <cgf@cygnus.com>
9701 * choose.cc (pick_line::paint): Properly display "na" field when no
9704 Thu Jul 5 00:34:23 2001 Christopher Faylor <cgf@cygnus.com>
9706 * choose.cc (scan2): Ensure that older versions do not show up in
9709 Mon Jul 2 15:47:59 2001 Christopher Faylor <cgf@cygnus.com>
9711 * choose.cc (set_action): Allow "Skip" action if trust != installed.
9712 * res.rc: Fix copyright.
9714 Sat Jun 30 14:05:21 2001 Michael A Chase <mchase@ix.netcom.com>
9716 * res.rc (IDD_LOCAL_DIR): Change caption to match the other dialog
9718 (IDD_CHOOSE): Adjust horizontal size so package names are visible.
9720 * choose.cc: Restore some more changes from 2001-06-25, throughout.
9721 (paint): Wrap some excessively long lines.
9722 (pick_line::paint): Ditto. Move the arrow in the "Current" column
9723 right to where it belongs. Move the source checkbox slightly to the
9725 (do_choose): List categories and required packages in setup.log.full.
9727 Sat Jun 30 23:04:59 2001 Christopher Faylor <cgf@cygnus.com>
9729 * choose.cc (scan2): Restore source scanning eliminated by previous
9732 Sat Jun 30 15:18:33 2001 Christopher Faylor <cgf@cygnus.com>
9734 * ini.h (struct _Info): Add "derived" element.
9735 * choose.cc (scan2): Try to place unknown tar files into proper slot
9736 when package exists in setup.ini but tar file does not.
9738 Sat Jun 30 13:39:00 2001 Robert Collins <rbtcollins@hotmail.com>
9740 * choose.cc (create_listview): Call set_view_mode with VIEW_CATEGORY.
9741 (do_choose): Log the first category name.
9743 Fri Jun 29 23:07:44 2001 Christopher Faylor <cgf@cygnus.com>
9745 *ini.h: Reapply 2001-06-25 changes.
9746 * choose.cc (add_required): Ditto. Default to "Keep" state if
9747 UNINSTALL and product is installed. Default to curr state if SKIP,
9749 (keep_or_skip): New function. Returns skip or keep state depending on
9750 installed state of package.
9751 (default_trust): Use keep_or_skip to set state.
9752 (_view::insert_pkg): Use calloc to allocate lines.
9753 (set_view_mode): Adapt 2001-06-25 change to set_full_list here.
9755 Sat Jun 30 11:01:00 2001 Robert Collins <rbtcollins@hotmail.com>
9757 * choose.cc: Remove globals full_list, headers, package_indexes and
9759 Add globals cat_headers, pkg_headers and chooser.
9760 (add_required): New function.
9761 (paint): Use the chooser for header details.
9762 Call into the chooser to paint each line.
9763 (list_click): Use new global variables.
9764 Call into the chooser to handle the click.
9765 Repaint the entire view if packages have been added or removed.
9766 (note_width): Get passed a headers struct rather than using a global
9768 (fill_missing_category): New function.
9769 (default_trust): Skip non-"Required" or "Misc" packages.
9770 (pick_line::set_line (Package *)): New function.
9771 (pick_line::set_line (Category *)): New function.
9772 (pick_line::paint): New function.
9773 (pick_line::click): New function.
9774 (_view::_view): New function.
9775 (_view::set_view_mode): New function.
9776 (_view::mode_caption): New function.
9777 (_view::set_headers): New function.
9778 (_view::init_header): New function.
9779 (_view::insert_pkg): New function.
9780 (_view::insert_category): New function.
9781 (_view::insert_at): New function.
9782 (_view::insert_under): New function.
9783 (_view::clear_view): New function.
9784 (viewsplusplus): New function.
9785 (_view::client): New function.
9786 (set_view_mode): Use new chooser functionality.
9787 (set_full_list): Use new global variables.
9788 (create_listview): Instantiate chooser.
9789 Remove all hardcoded headers[] code.
9790 (dialog_cmd): On trust changes, check dependencies.
9791 (getcategorybyname): New function.
9792 (getpackagecategorybyname): New function.
9793 (scan2): Use case-insensitive package comparison.
9794 (do_choose): Use fill_missing_category ().
9795 Show some category data.
9796 * ini.h: Protect against multiple inclusion.
9798 (_CategoryPackage): New struct.
9799 (_Category): New struct.
9800 (_Package): Change category to Category * from char *.
9801 (extern Category category): New global variable.
9802 (extern in ncategories): Ditto.
9803 (getcategorybyname): New prototype.
9804 (catpackagecategorybyname): New prototype.
9805 (register_category): New prototype.
9806 (add_category): New prototype.
9807 * iniparse.y: Parse multiple categories per package.
9808 (category): New global variable.
9809 (ncategories): New global variable.
9810 (new_package): Compare package against NULL, not 0.
9811 (new_requirement): Source formatting fix.
9812 (register_category): New function.
9813 (add_category): New function.
9814 * res.rc: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW.
9815 IDC_CHOOSE_VIEWCAPTION: New control.
9816 * resource.h: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW.
9817 IDC_CHOOSE_VIEWCAPTION: New control.
9818 Increment _APS_NEXT_CONTROL_VALUE.
9820 Mon Jun 25 00:56:37 2001 Michael A Chase <mchase@ix.netcom.com>
9822 * choose.cc (paint): Wrap excessively long lines.
9823 (list_click): Ditto.
9824 (create_listview): Ditto.
9825 (do_choose): Ditto. Replace TABs and remove CRs in lines written to
9826 setup.log.full. Allow "Yes" for source exists in setup.log.full when
9827 installing from local directories.
9829 Mon Jun 25 00:56:37 2001 Christopher Faylor <cgf@cygnus.com>
9831 * choose.cc (set_action): Only clear srcpicked when moving to next
9832 state. Allow source installation if it exists in the current "trust"
9833 state. Don't move to skip state when package is installed.
9834 (list_click): Don't allow source clicking when no source is available.
9835 (set_full_list): Display package when not is_full_action.
9836 * ini.h (is_full_action): Define.
9838 Sun Jun 17 12:06:14 2001 Christopher Faylor <cgf@cygnus.com>
9840 * install.cc (check_for_old_cygwin): New function. First stab at
9841 checking for old cygwin versions.
9842 (do_install): Call check_for_old_cygwin if there were no errors during
9845 Sat Jun 16 11:33:51 2001 Michael A Chase <mchase@ix.netcom.com>
9847 * choose.cc (_Info::_Info): Test _source paramenter for non-NULL rather
9848 than zeroed "source" element.
9850 Fri Jun 15 20:54:43 2001 Christopher Faylor <cgf@cygnus.com>
9852 * choose.cc (scan2): Insert unknown tar archives, found on disk, into
9853 the highest available "hole" in the trust array.
9855 Fri Jun 15 00:20:48 2001 Christopher Faylor <cgf@cygnus.com>
9857 * choose.cc (set_existence): Use pointer method for indexing in trust
9859 (create_listview): Ditto.
9860 (scan2): Ditto. Also, use consistent variable name for indexing into
9862 * ini.h (Package): Reorganize info array for easier scanning.
9864 Fri Jun 15 00:01:51 2001 Christopher Faylor <cgf@cygnus.com>
9866 * choose.cc (isinstalled): Eliminate special download only test.
9867 (set_action): Don't move to next state if in ACTION_SAME range and not
9869 (choose_caption): Display "Retrieve" rather than "Reinstall" when just
9871 (do_choose): Sort packages after all packages have been read.
9872 Accomodate the fact that first element in trust array is empty so that
9873 log files don't report the wrong trust value.
9874 * iniparse.y (new_package): Malloc space for package name or suffer
9877 Thu Jun 14 22:43:59 2001 Robert Collins <rbtcollins@hotmail.com>
9879 * ini.h (Dependency): New structure. Declare new function.
9880 * inilex.l (yylex): Detect new setup.ini options - category and
9882 * iniparse.y: Declare new setup.ini token values.
9883 (yyparse): Parse new token values.
9884 (new_requirement): New function.
9886 Thu Jun 14 22:43:26 2001 Christopher Faylor <cgf@cygnus.com>
9888 * choose.cc (read_installed_db): Eliminate obsolete code.
9890 Thu Jun 14 22:11:53 2001 Christopher Faylor <cgf@cygnus.com>
9892 * choose.cc (set_action): Set trust on "redo".
9893 (_Info::_Info): New constructor.
9894 (read_installed_db): Use new constructor. Use trusts type for
9896 * ini.h (struct _Info): Label struct, add constructor.
9897 (Package): Make installed_ix a type 'trusts.'
9898 * install.cc (uninstall_one): Unset any installed info for current
9900 (install_one): Allocate new Info struct for installed reflecting new
9902 (do_install): Don't output line to installed.db if package is being
9905 Thu Jun 14 20:33:01 2001 Robert Collins <rbtcollins@hotmail.com>
9907 * choose.cc (getpkgbyname): Use consistent method for scanning package
9910 Wed Jun 13 23:33:08 2001 Christopher Faylor <cgf@cygnus.com>
9912 * choose.cc: Add some comments.
9913 (getpkgbyname): Use strcasecmp for comparisons.
9915 Wed Jun 13 16:07:00 2001 Christopher Faylor <cgf@cygnus.com>
9917 * install.cc (do_install): Avoid checking for download action if
9918 package wasn't currently retrieved.
9920 Wed Jun 13 11:27:22 2001 Christopher Faylor <cgf@cygnus.com>
9922 * choose.cc: Eliminate extra array throughout. Use element in package
9923 structure instead. Use pointers rather than array indexes where
9925 (set_action): New function to set next action based on current.
9926 (choose_caption): New function. Returns display caption.
9927 (check_existence): Change arguments. Use pointer to 'info' structure.
9928 (set_existence): Use pointer rather than array index.
9929 (default_trust): Use trusts enum for second argument.
9930 (set_full_list): Honor exclude element in package structure.
9931 (build_labels): Eliminate.
9932 (base): Make global. Use const char * argument.
9933 (get_package_version): Eliminate.
9934 (getpkgbyname): New function.
9935 (read_installed_db): Use parse_filename to get version info.
9936 * desktop.cc (make_passwd_group): Use getpkgbyname function.
9937 * download.cc (get_file_size): const argument.
9938 (do_download): Use is_download_action to determine when something
9939 should be downloaded.
9940 * filemanip.h: Add some functions.
9941 * ini.cc (do_ini): Use NULL rather than 0 for pointer assignment.
9942 * ini.h: Use enums for actions and trusts.
9943 (is_download_action): New macro.
9944 (is_upgrade_action): Ditto.
9945 (is_uninstall_action): Ditto.
9946 (struct Package): Add new fields.
9947 * inilex.l (yylex): Detect new setup.ini options.
9948 * iniparse.y: Declare new tokens.
9949 (yyparse): Detect exclude keyword. Fill out version field even if
9951 (new_package): Use greater granularity when allocating package array to
9952 avoid repeated calls to realloc.
9953 * install.cc (exists): const argument.
9954 (uninstall_one): Take pkg argument.
9955 (install_one): Ditto. Eliminate unneeded arguments which can be
9956 derived from package info.
9957 (do_install): Iterate over package array using a pointer. Use
9958 is_download_action to control when package should be downloaded.
9959 * tar.cc (tar_open): const argument.
9960 * tar.h: Refloect const argument.
9962 2001-05-31 Michael Chase mchase@ix.netcom.com
9964 * main.cc (WinMain): Add setup version to starting setup.log entry
9966 Tue May 29 21:37:58 2001 Yukihiko Sohda <sohda@is.titech.ac.jp>
9968 * inilex.l: Add + to list of valid string characters.
9970 Mon May 28 20:54:50 2001 Christopher Faylor <cgf@cygnus.com>
9972 * Makefile.in: Remove more stuff in the clean target.
9974 Mon May 28 18:24:59 2001 Christopher Faylor <cgf@cygnus.com>
9976 * Makefile.in: Correctly generate iniparse.h.
9978 Tue Mar 6 19:14:00 2001 Corinna Vinschen <corinna@vinschen.de>
9980 * geturl.cc (get_url_to_file): Add parameter `allow_ftp_auth'.
9981 * geturl.h: Change declaration of `get_url_to_file' accordingly.
9982 * netio.cc (NetIO::NetIO): Add parameter `allow_ftp_auth'.
9983 Set member `ftp_auth'.
9984 (NetIO::open): Add parameter `allow_ftp_auth'. Use it in calls
9985 to constructors of derived classes.
9986 (NetIO::get_ftp_auth): New method.
9987 * netio.h: Change class definition accordingly.
9988 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Add parameter `allow_ftp_auth'.
9989 Take global variables `net_ftp_user' and `net_ftp_passwd' into account.
9990 Add code for ftp authentication retry.
9991 * nio-ftp.h: Change class definition accordingly.
9992 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Add parameter `allow_ftp_auth'.
9993 Add code for ftp authentication retry in case of proxy connection.
9994 * nio-http.h: Change class definition accordingly.
9995 * res.rc: Add FTP authentication dialog.
9996 * resource.h: Add new constants used in res.rc.
9997 * state.h: Add variables `net_ftp_user' and `net_ftp_passwd'.
9999 Sun May 27 17:12:23 2001 Christopher Faylor <cgf@cygnus.com>
10001 * res.rc (IDD_SPLASH): Add a copyright year.
10003 Sun May 27 15:42:18 2001 Christopher Faylor <cgf@cygnus.com>
10005 * Makefile.in: Make iniparse.y produce a c++ file.
10006 * choose.cc (set_existence): Revert 2001-05-27 change.
10007 * ini.cc: Remove "C" from declaration of yyparse.
10008 * iniparse.y (yyparse): Fill out version field by default when a binary
10009 install is detected and no version has been set yet.
10010 * install.cc (do_install): Mount things earlier so that we can use
10011 proper mount table settings. Don't remove mounts since they are now
10013 * mount.cc (create_mount): Reread the mount table after establishing a
10015 (read_mounts): Explicitly clear root_here to allow multiple uses of
10016 this function. Ensure that there is no garbage in the table when we've
10017 exhausted all of the mounts in the registry.
10018 (cygpath): Accomodate ./ in path.
10020 Sun May 27 02:59:07 2001 Christopher Faylor <cgf@cygnus.com>
10022 Use parse_filename method to parse filenames throughout. Use
10023 get_root_dir to retrieve the current root directory throughout. Set
10024 const in argument list, where appropriate, throughout.
10025 * choose.cc (set_existence): Detect case of uninstalled package with no
10027 (parse_filename): New function.
10028 * filemanip.h (fileparse): New structure.
10029 * mount.cc (read_mounts): Remember where we found the root mount.
10030 (set_root_dir): New function.
10031 (get_root_dir): Ditto.
10032 * mount.h: Declare new functions.
10033 * site.cc (get_root_dir_now): Renamed from get_root_dir.
10034 (save_site_url): Use new function name.
10035 (get_initial_list_idx): Ditto.
10037 Sat May 26 21:23:59 2001 Christopher Faylor <cgf@cygnus.com>
10039 * choose.cc: Use a constant throughout to deal with chooser icon
10041 * res.rc (IDD_CHOOSE): Increase size of chooser box.
10043 2001-05-07 Brian Keener <bkeener@thesoftwaresource.com>
10045 * choose.cc (do_choose): Fix incorrect assignment of trust setting to
10046 use when Redownload or Sources Only selected.
10048 Thu May 10 22:35:59 2001 Christopher Faylor <cgf@cygnus.com>
10050 Reformat file after botched patch formatting.
10051 * choose.cc (which_trust): Eliminate variable.
10052 (default_trust): Don't set which_trust.
10053 (do_choose): Use selected trust when reinstalling or installing source.
10055 Thu May 10 21:04:18 2001 Christopher Faylor <cgf@cygnus.com>
10057 Change concat to cygpath throughout.
10058 Change map_filename to cygpath throughout.
10059 * concat.cc (vconcat): New function.
10060 (concat): Use vconcat.
10061 * concat.h: Reflect above.
10062 * install.cc (map_filename): Eliminate.
10063 (install_one): Free dest_file.
10064 * mount.cc (find2): Expect input key to be pointing to mount record.
10065 (in_table): New function.
10066 (is_admin): Move from root.cc.
10067 (read_mounts): New function.
10068 (path_prefix_p): New function.
10069 (cygpath): New function.
10070 * mount.h: Define new functions and structure.
10071 * root.cc (in_table): Move to mount.cc.
10072 (do_root): Call read_mounts to initialize root stuff and mount table.
10073 * site.cc (get_root_dir): Ditto.
10075 2001-05-09 Matt Hargett <matt@use.net>
10077 * Makefile.in: Remove *.rc from clean.
10079 Tue May 8 23:33:38 2001 Christopher Faylor <cgf@cygnus.com>
10081 * choose.cc (scan2): Fix incorrect setting of TRUST_CURR rather than
10082 TRUST_PREV which produced "0" versions.
10084 2001-05-07 Brian Keener <bkeener@thesoftwaresource.com>
10086 * resource.h: Add new field IDC_CHOOSE_INST_TEXT. Modify
10087 _APS_NEXT_CONTROL_VALUE to account for addition of
10088 IDC_CHOOSE_INST_TEXT.
10089 * res.rc (IDD_CHOOSE): Modify choose dialog to use new field
10090 IDC_CHOOSE_INST_TEXT for screen text. Modify choose Dialog to allow
10091 hot keys to select Prev, Curr, Exp.
10092 * ini.h: Add new actions for ACTION_REDO and ACTION_SRC_ONLY. Modify
10093 define for LOOP_PACKAGES to include new actions ACTION_REDO and
10095 * choose.cc: Add new Trusts for TRUST_REDO and TRUST_SRC_ONLY.
10096 (paint): Modify to check TRUST_SRC_ONLY when determining Bitmap for
10097 source Checkbox to use.
10098 (build_labels): Add logic to allow for selection of Source only
10099 Download/ReDownload/Install/Reinstall and also to Redownload/Reinstall
10100 current version binary.
10101 (dialog_proc): Add conditional display for file selection prompt based
10102 on download vs install using IDC_CHOOSE_INST_TEXT.
10103 (do_choose): Add new logic for TRUST_REDO and TRUST_SRC_ONLY selection
10104 and modify logic for TRUST_UNINSTALL, TRUST_KEEP, and TRUST_NONE to
10105 handle the instance where Source Download/Install was selected. Modify
10106 log file to store appropriate information regarding Action selected and
10107 the new actions that were added (I.E.: ACTION_REDO and
10109 * download.cc: Add include for <unistd.h> and "port.h".
10110 (download_one): Modify parameter list to include the selected action
10111 for the file to be downloaded. Modify size check against expected size
10112 to include check for ACTION_REDO and ACTION_SRC_ONLY. Modify rename of
10113 .tmp file to also remove the destination file if exists due to ability
10114 to redownload source and binary now.
10115 (do_download): Modify to also use ACTION_REDO and ACTION_SRC_ONLY in
10116 calculation of Download Bytes. Modify to also use ACTION_REDO and
10117 ACTION_SRC_ONLY in determining files selected for download.
10118 * install.cc (uninstall_one): Add check to treat a Reinstall like an
10119 upgrade so current version will be uninstalled prior to reinstall.
10120 (do_install): Add logic to handle ACTION_REDO and ACTION_SRC_ONLY for
10121 uninstalling and installing binary and source packages.
10122 * desktop.cc (make_passwd_group): Modify logic to account for a Source
10123 only cygwin install when checking for cygwin to determine need for
10124 mkpasswd and mkgroup.
10126 Mon May 7 23:33:30 2001 Matt Hargett <matt@use.net>
10128 * winsup/cinstall/res.rc: Added accelerators and improved focus order.
10129 Removed WS_DISABLED from "OK" buttons to accomodate default focus
10130 changes in net.cc and source.cc.
10131 * winsup/cinstall/net.cc (dialog_proc): If no radio button is selected,
10132 a default is selected.
10133 * winsup/cinstall/source.cc (dialog_proc): Ditto.
10134 (check_if_enable_next): Removed. No longer needed since a radio button
10135 will always be selected.
10136 (load_dialog): Removed call to check_if_enable_next.
10137 (dialog_cmd): Ditto. Also added default to switch.
10139 Tue Apr 24 23:42:02 2001 Christopher Faylor <cgf@cygnus.com>
10141 * res.rc: Resize affected text.
10143 Tue Apr 24 23:35:31 2001 Christopher Faylor <cgf@cygnus.com>
10145 * net.cc (do_net): Default to direct download.
10146 * res.rc: Move default selections to the top.
10148 2001-04-18 Earnie Boyd <earnie@users.sourceforge.net>
10150 * win32.h: Remove the definitions for _UNION_NAME and _STRUCT_NAME.
10151 Must now include <windows.h> and not the pieces.
10152 * choose.cc (create_listview): Clean up type mismatch problems.
10153 * dialog.h (NEXT(id)): Ditto.
10154 * geturl.cc (dialog): Ditto.
10155 * install.cc (dialog): Ditto.
10156 * splash.cc (load_dialog): Ditto.
10158 Wed Apr 18 18:59:21 2001 Christopher Faylor <cgf@cygnus.com>
10160 * tar.cc (class gzbz): Define dummy virtual functions.
10162 Wed Apr 18 16:01:21 2001 Christopher Faylor <cgf@cygnus.com>
10164 * Makefile.in: Add bz2 include/library support.
10165 * filemanip.h: New file.
10166 * choose.cc (find_tar_ext): New function. Returns TRUE if .tar.gz or
10168 (scan2): Reorganize to use find_tar_ext, accomodating .bz2 extension.
10169 (read_installed_db): Ditto.
10170 (do_choose): Ditto.
10171 * fromcwd.cc (found_file): Ditto.
10172 (do_fromcwd): Ditto.
10173 * tar.cc (class gzbz): New super class for uncompression support.
10174 (gz): New class for gzip support.
10175 (bz): New class for bzip2 support.
10176 (tar_open): Use gzbz class to control file opening.
10177 (tar_ftell): Ditto for returning position in file.
10178 (skip_file): Ditto for reading file.
10179 (tar_next_file): Ditto.
10180 (tar_read_file): Ditto.
10181 (tar_close): Ditto for close.
10183 * zlib/configure.in: Force NM substitution.
10185 * source.cc (do_source): Default to "Install from Internet".
10187 2001-03-16 Brian Keener <bkeener@thesoftwaresource.com>
10189 * nio-file.cc (NetIO_File::NetIO_File): Use `get_file_size' instead of
10191 * choose.cc (list_click): Correct inability to select source code for
10193 (scan2): Modify to skip source tarballs when scanning disk for
10194 installable packages.
10196 2001-03-10 Chris Abbey <chris_abbey@yahoo.com>
10198 * install.cc: install sources into /usr/src instead
10199 of /, also include the sizes of source tarballs
10201 * download.cc: include sizes of source tarballs in
10202 total_download_bytes.
10204 Tue Mar 6 19:31:00 2000 Corinna Vinschen <corinna@vinschen.com>
10206 * download.cc (get_file_size): Remove `static'.
10208 Tue Mar 6 19:11:00 2000 Corinna Vinschen <corinna@vinschen.com>
10210 * tar.cc (tar_open): Use `get_file_size' instead of `stat'.
10212 2001-03-06 Brian Keener <bkeener@thesoftwaresource.com>
10214 * choose.cc (paint): Modify message for nothing to download vs
10215 nothing to install/update based on installation method.
10216 (list_click): Modify to skip versions in selection process if
10217 installing from local directory and installation file does not exist.
10218 Also leaves Source Action set to N/A if the source file does not exist
10219 and installing from local directory.
10220 (check_existence): New method to check current existence of installation
10221 files based on selected installation method.
10222 (set_existence): New method to set the current existence of installation
10223 files based on selected installation method.
10224 (best_trust): Modify decision process for best trust to base decision on
10225 current trust selected (IE: Prev, Curr, or Test), existence of file and
10226 installation method selected.
10227 (default_trust): Add logic to capture the current trust level and the
10228 trust selected for the given package.
10229 (set_full_list): Expand decision criteria for displaying a package in
10230 the selection list to include file existence/non-existence and selected
10231 installation method.
10232 (build_labels): Modify criteria for label addition to include
10233 installation method and file existence/non-existence.
10234 (create_listview): Modify to establish package trust level for each
10235 package before setting up the display list. Also modification to set
10236 current trust button as the default.
10237 (dialog_cmd): Set response for Prev, Curr, Test button push to perform
10238 a reset of the selection list in addition to setting the default trust.
10239 (get_package_version): New method to provide reusable code for
10240 determining the package version from the file name for a specified
10242 (scan2): Modify to use new method get_package_version and
10243 also enhance handling of the build for the structures package and
10245 (read_installed_db): Modify to use the new method
10246 get_package_version and also enhance handling of the build for the
10247 structures package and extra.
10248 (do_choose): Add additional initialization of package and extra
10249 structures. Modify to use read_installed_db all the time despite
10250 install method. Modify output to setup.log.full log file to increase
10251 readability by adding additional spacing, expanded code and available
10253 * ini.h: Add new fields install_exists, source_exists and
10254 partial_list_display to the structure definition for package.
10255 * res.rc (IDD_CHOOSE): Modify choose dialog Prev, Curr, and Test
10256 pushbuttons by replacing with Radio Buttons thus allowing the
10257 operator to better determine which is selected.
10259 2001-02-20 Brian Keener <bkeener@thesoftwaresource.com>
10261 * download.cc (do_download): Add new variables total_download_bytes and
10262 total_download_bytes_sofar for download progress meter. Add loop
10263 to accumulate the total bytes to download from the selected packages.
10264 * geturl.cc: Add state.h and diskfull.h to include list. Add new
10265 variables gw_iprogress, gw_pprogress, gw_progress_text,
10266 gw_pprogress_text, and gw_iprogress_text to allow for addition of
10267 total packages download progress meter and disk full percent
10268 progress meter. Add variables total_download_bytes and
10269 total_download_bytes_sofar for use by progress meters.
10270 (dialog_proc): Add new variables gw_iprogress, gw_pprogress,
10271 gw_progress_text, gw_pprogress_text, and gw_iprogress_text to
10272 allow for addition of total packages download progress meter and disk
10273 full percent progress meter.
10274 (init_dialog): Ditto.
10276 (get_url_to_file): Ditto.
10277 * geturl.h: Add external definition for total_download_bytes and
10278 total_download_bytes_sofar.
10279 * res.rc: Add two additional progress meters (IDC_DLS_IPROGRESS)
10280 and (IDC_DLS_PPROGRESS) and three text objects (IDC_DLS_PROGRESS_TEXT)
10281 and (IDC_DLS_IPROGRESS_TEXT, IDC_DLS_PPROGRESS_TEXT) for use in the
10283 * resource.h: Add new fields for progress meters and text and update
10284 _APS_NEXT_CONTROL_VALUE.
10286 Wed Feb 21 13:05:00 2000 Corinna Vinschen <vinschen@redhat.com>
10288 * download.cc (get_file_size): Check for INVALID_HANDLE_VALUE instead
10291 Wed Feb 21 11:21:00 2000 Corinna Vinschen <vinschen@redhat.com>
10293 * download.cc (download_one): Add missing parenthesis.
10295 Mon Feb 19 18:59:00 2000 Corinna Vinschen <vinschen@redhat.com>
10297 * download.cc (get_file_size): New function. Eliminates the need
10299 (download_one): Call `get_file_size' instead of `stat'. This
10300 workarounds a problem with mingw's `stat' call.
10302 2001-02-07 Earnie Boyd <earnie@users.sourceforge.net>
10304 * Makefile.in: (%.o: %.rc): Specify --include-dir $(w32api_include).
10305 This is to allow cinstall to build with 2.95.2-7 and to make the
10306 use of headers consistent.
10308 2000-12-26 Earnie Boyd <earnie_boyd@yahoo.com>
10310 * Makefile.in (autoload.o): Add target to specify -fno-inline-functions
10312 Tue Dec 26 03:46:00 2000 Matt Hargett <matt@use.net>
10314 * winsup/cinstall/res.rc: Added accelerators and improved focus
10317 2000-12-10 Egor Duda <deo@logos-m.ru>
10319 * choose.cc (paint): Use system background color for text output.
10321 Sun Dec 10 19:05:25 2000 Christopher Faylor <cgf@cygnus.com>
10323 * Makefile.in: Use CXX for linking and for compiling .cc files.
10324 * configure.in: Find correct c++ compiler.
10325 * configure: Regenerate.
10327 2000-11-17 DJ Delorie <dj@redhat.com>
10329 * splash.cc (load_dialog): Make message more obvious.
10332 Fri Nov 17 17:15:21 2000 Christopher Faylor <cgf@cygnus.com>
10334 * Makefile.in: Use g++ to link so that libstdc++.a gets used. This is
10335 necessary for newer compilers.
10337 Wed Nov 9 2:19:00 2000 Corinna Vinschen <vinschen@redhat.com>
10339 * desktop.cc: Include "ini.h" and "version.h".
10340 (make_passwd_group): Skip the function on 9x/ME boxes when an
10341 older version of Cygwin has been installed which doesn't
10342 support mkpasswd/mkgroup on 9x/ME.
10343 * install.cc: Move the `LOOP_PACKAGES' and `pi' macros to...
10346 Wed Nov 8 17:10:00 2000 Corinna Vinschen <vinschen@redhat.com>
10348 * desktop.cc (make_passwd_group): Don't exit when started
10349 on 9x/ME since mkpasswd/mkgroup are usable on 9x/ME now.
10351 Sun Nov 5 12:51:42 2000 Jason Tishler <jt@dothill.com>
10353 * install.cc (do_install): Add call to set_cygdrive_flags to sync
10355 * mount.cc (set_cygdrive_flags): New function.
10356 (get_cygdrive_flags): Ditto.
10357 (default_cygdrive): Ditto.
10358 (set_cygdrive_flags): Ditto.
10359 * mount.h: Add prototype for set_cygdrive_flags.
10361 2000-10-23 DJ Delorie <dj@redhat.com>
10363 * ini.h: add source actions
10364 * fromcwd.cc: check for available sources
10365 * res.rc: add checkbox bitmaps
10366 * resource.h: ditto
10368 * choose.cc: add source column
10369 * download.cc: download sources if called for
10370 * install.cc: [un]install sources too
10372 2000-10-22 DJ Delorie <dj@redhat.com>
10374 * choose.cc (build_labels): Don't skip TRUST_PREV completely; only
10375 ignore it wrt full_list if there's already a version installed.
10376 (do_choose): Sort the list.
10377 (package_sort): New.
10379 2000-10-12 DJ Delorie <dj@redhat.com>
10381 * res.rc: Add more error strings.
10382 * resource.h: Ditto.
10383 * iniparse.y (new_package): re-initialize if needed.
10384 * download.cc (do_download): Keep track of errors; notify and
10386 * install.cc (do_install): Ditto.
10388 2000-10-05 DJ Delorie <dj@redhat.com>
10390 * Makefile.in: fix %.cc rule
10392 2000-10-04 DJ Delorie <dj@redhat.com>
10394 * desktop.cc: quote HOME and USER, don't . ./.profile
10396 * choose.cc (build_labels): don't include in partial list just
10397 because there's a *previous* version available.
10399 * install.cc (do_install): if installing from local directory with
10400 setup.ini and the file isn't found, look in "." also. Note errors.
10402 2000-10-02 DJ Delorie <dj@redhat.com>
10404 * ini.cc (do_ini): save setup.ini locally
10406 2000-10-02 Chris Abbey <cabbey@bresnanlink.net>
10408 * desktop.cc: quote escapes in prompt
10410 2000-10-02 Jason Tishler <jt@dothill.com>
10412 * root.cc (is_admin): New function.
10413 (read_mount_table): Check for administrative priviledges and set
10414 installation scope as appropriate.
10416 2000-09-28 DJ Delorie <dj@redhat.com>
10418 * nio-ftp.cc (ftp_line): handle continuations more robustly
10420 2000-09-14 Brian Keener <bkeener@thesoftwaresource.com>
10422 * res.rc: increased the size of the site dialog (IDD_SITE) & the
10423 corresponding list box to provide for more URL's to be listed.
10424 Modified the position of the Back, Next and Cancel buttons to
10425 correspond to the new size of the dialog.
10427 2000-09-13 DJ Delorie <dj@redhat.com>
10429 * install.cc (do_install): update disk fullness once per package
10430 to improve performance
10432 * choose.cc (create_listview): call ReleaseDC
10434 Mon Sep 11 22:40 2000 Harold L Hunt II <harold@compasstechnologies.com>
10436 * mkdir.cc: Create directories when ERROR_FILE_NOT_FOUND is
10437 returned, as it seems Samba 2.0.6+ returns this instead of
10438 ERROR_PATH_NOT_FOUND
10440 Mon Sep 11 19:35:24 2000 Christopher Faylor <cgf@cygnus.com>
10442 * site.cc (get_initial_list_idx): Don't default to saved URL if it
10445 2000-09-07 DJ Delorie <dj@redhat.com>
10447 * splash.cc: use version.h, not local decl
10448 * res.rc: add "old version" message
10449 * resource.h: ditto
10451 * fromcwd.cc (canonicalize_version): make global
10452 * iniparse.y: add setup-version support, fix bug in blank line
10455 * inilex.l: add [exp] as alias for [test], add setup-version
10456 * Makefile.in (version.c): add setup-version tag
10458 * desktop.cc (do_desktop): remove 1.1 version number
10459 (do_desktop_setup): ditto
10461 * ini.cc (do_ini): zero out package list just in case we redo it.
10463 2000-09-07 Jeffrey Juliano <juliano@cs.unc.edu>
10465 * choose.cc (list_click): Check for nindexes==0; if so, return.
10467 2000-09-06 Andrej Borsenkow <Andrej.Borsenkow@mow.siemens.ru>
10469 * localdir.cc: new, local package directory selection dialog; cd
10470 into selected directory
10471 * Makefile.in (OBJS): add localdir.o
10472 * dialog.h: add prototype for do_local_dir
10473 * main.cc (WinMain): initialize local_dir to cwd; add call to
10475 * net.cc (dialog_cmd): make DO_LOCAL_DIR next dialog
10476 * source.cc (dialog_cmd): ditto
10477 * res.rc: add DO_LOCAL_DIR dialog; remove "current directory" from
10478 presented choices in IDD_SOURCE; add IDS_ERR_CHDIR error string
10479 * resource.h: defines for DO_LOCAL_DIR dialog; define IDS_ERR_CHDIR
10480 * root.cc (dialog_cmd): make DO_LOCAL_DIR previous dialog
10481 * state.h: add local_dir variable
10483 2000-09-06 Brian Keener <bkeener@thesoftwaresource.com>
10485 * desktop.cc: added logic to handle to the new dialog and to
10486 default the setting for the new checkboxes based on whether the
10487 desktop icon or start menu link already exist.
10488 (desktop_icon): correction to desktop directories for desktop icon
10489 creation. Additional logic added for Win95 which does not appear
10490 to have Common Directories so if Common selected and null uses
10492 (start_menu): Additional logic added for Win95 which does not
10493 appear to have Common Directories so if Common selected and null
10494 uses normal directory.
10495 (do_desktop_setup): moved the saving of the icon, creation of the
10496 bat file, profile, passwd, Start Menu link and desktop shortcut to
10497 this method from do_desktop. Made the creation of the desktop
10498 icon and start menu link conditional on settings of new dialog
10499 created for desktop.
10500 * install.cc (do_install): changed next from IDD_S_DESKTOP to
10502 * main.cc (WinMain): changed case IDD_S_DESKTOP to IDD_DESKTOP.
10503 * res.rc: added new resource to create a desktop dialog with 2
10504 checkboxes for creating the desktop icon and start menu link.
10505 * resource.h: changed IDD_S_DESKTOP to IDD_DESKTOP and added two
10506 new controls: IDC_ROOT_MENU and IDC_ROOT_DESKTOP for new dialog.
10507 * state.h: added root_menu and root_desktop for use in dialog.
10509 2000-08-29 DJ Delorie <dj@redhat.com>
10511 * choose.cc (scan_downloaded_files): scan for existing files, so
10512 that the user only sees new downloads.
10514 * nio-ie5.cc (NetIO_IE5): pre-check for wininet.dll, enable dial-up
10515 * site.cc (do_site): if we can't download the mirror list, go back
10516 to the net setup box to choose another transport.
10517 * autoload.c: add more functions
10518 * Makefile.in (ALL_DEP_LDLIBS): remove wininet.a
10519 * resource.h: add WININET message
10521 * net.cc (do_net): no longer default to IE5
10522 * simpsock.h (class SimpleSocket): new, simplify socket operations
10523 * simpsock.cc: ditto
10524 * nio-http.h: new, for direct http protocol
10525 * nio-http.cc: ditto
10526 * nio-ftp.h: new, for direct http protocol
10527 * nio-ftp.cc: ditto
10528 * netio.cc (set_url): move initialization here to handle redirections
10529 (open): add direct http/ftp
10530 * netio.h (NetIO::set_url): new
10532 * log.cc (log_save): create directory for log if needed
10534 * hash.cc, hash.h: new
10535 * Makefile: add hash.o
10536 * choose.cc: enable "uninstall" option
10537 * download.cc: invert action test to accomodate uninstalling
10538 * ini.h: add ACTION_UNINSTALL
10539 * install.cc: add uninstall functionality
10540 * res.rc: make install tag changeable
10541 * resource.h: add uninstall resources
10543 * res.rc: update mirror list URL
10545 2000-08-24 DJ Delorie <dj@redhat.com>
10547 * log.cc, log.h: new files
10548 * Makefile.in (OBJS): add log.o
10549 * tar.cc: use exit_setup instead of exit
10550 * dialog.cc (fatal): use exit_setup instead of ExitProcess
10551 * msg.cc (fatal): ditto
10552 * install.cc (dialog_cmd): ditto
10553 * ini.cc (do_ini): ditto
10554 * main.cc (main): add logging
10555 * source.cc (do_source): ditto
10556 * root.cc (do_source): ditto
10557 * site.cc (do_site): ditto
10558 * other.cc (do_other): ditto
10559 * net.cc (do_net): ditto
10560 * choose.cc (do_choose): ditto
10561 * download.cc (do_download): ditto
10562 * install.cc (do_install): ditto
10563 * msg.cc (fatal): ditto
10565 * res.rc: mark password boxes as *being* password boxes.
10567 * fromcwd.cc (canonicalize_version): use multiple buffers so that
10568 multiple calls won't use the same buffer.
10569 * choose.cc (create_listview): don't default to full list if no changes
10570 (base): return computed value, not temporary :-(
10571 (do_choose): don't use installed.db if we're only downloading.
10573 2000-08-23 DJ Delorie <dj@redhat.com>
10575 * nio-ie5.cc (NetIO_IE5): Fix authentication logic
10576 * nio-ie5.h (flush_io): new
10577 * netio.cc (load_dialog): note when we're initializing the dialog
10578 box, and ignore changes to the edit fields then.
10580 2000-08-21 DJ Delorie <dj@redhat.com>
10584 * fromcwd.cc (found_file): don't remember the canonicalized version
10586 * choose.cc (paint): print "nothing to do" message when list is empty.
10587 (build_labels): Use version "0.0" if no version is available.
10588 (create_listview): default to full list if nothing to install/update.
10589 (base): new, returns basename of file
10590 (read_installed_db): compare base names, not full paths
10592 2000-08-11 DJ Delorie <dj@redhat.com>
10594 * choose.cc: add new chooser dialog
10595 * fromcwd.cc: use IDD_CHOOSE
10596 * ini.cc: use IDD_CHOOSE
10597 * main.cc: use IDD_CHOOSE
10598 * ini.h: cosmetic changes
10599 * res.rc: add choose dialog, bitmaps
10600 * choose-spin.bmp: new
10601 * choose-rtarrow.bmp: new
10602 * resource.h: add choose dialog controls
10604 * mount.cc: remove debug statement
10606 2000-08-08 DJ Delorie <dj@redhat.com>
10608 * Makefile.in (version.c): make version checking more robust
10609 * splash.cc (load_dialog): handle case where there's no version
10611 2000-08-07 DJ Delorie <dj@redhat.com>
10613 * (all): add cvsid tags
10614 * Makefile.in: generate version.c from ChangeLog, add splash.o
10616 * res.rc: add splash screen
10618 2000-08-02 DJ Delorie <dj@redhat.com>
10620 * net.cc: remove proxy password code
10621 * res.rc: remove proxy user/pass from net, add auth dialogs
10622 * netio.cc,h: add sys/proxy auth methods
10623 * nio-ie5: use them, check for http status codes
10624 * state.h: add system authorization
10626 * concat.cc (concat): canonicalize x:// to x:/ (exception to ://
10629 2000-08-02 Norman Vine <nhv@yahoo,com>
10631 * msg.cc (mbox): added MB_TOPMOST to MessageBox type flags
10633 2000-08-01 DJ Delorie <dj@redhat.com>
10635 * postinstall.cc (each): don't rename files we ignore
10636 (do_postinstall): set CYGWINROOT to root_dir, chdir there
10638 * desktop.cc: have /etc/profile call ~/.profile and ~/.bashrc
10640 2000-07-31 DJ Delorie <dj@redhat.com>
10642 * desktop.cc: reverse PATH so /usr/bin precedes /bin
10644 2000-07-18 DJ Delorie <dj@redhat.com>
10646 * autoload.c: new, autoload dlls that might not be available.
10647 * Makefile.in (OBJS): add autoload.o
10649 * res.rc: rewrite root options (text/binary, system/user) to be
10652 * site.cc (get_site_list): trim displayed URL, sort by domain
10654 * net.cc (do_net): make IE5 default to checked, for now
10656 * choose.cc (do_choose): sort packages correctly
10657 * ini.cc (do_ini): handle parse errors more gracefully
10659 (fprintf): line buffer output
10660 (do_ini): if we can't load setup.ini, go back to the site list.
10661 * ini.h: add "unknown" trust level
10662 * inilex.l: absorb unknown trust levels and key/value pairs,
10663 add line number logic
10664 * iniparse.y: handle parse errors more gracefully.
10665 * install.cc: skip packages with no valid install entry
10667 2000-07-17 DJ Delorie <dj@cygnus.com>
10669 * coding standards fixups, many files
10670 * mkdir.cc: warn about deletions *before* deleting them
10672 2000-07-17 Jeff Juliano <juliano@cs.unc.edu>
10674 * res.rc (IDD_OTHER_URL): reorder to give default focus to entry
10676 * other.cc (dialog_cmd): save download site URL
10677 * site.cc (get_root_dir): new
10678 (save_mirror_site): new
10679 (dialog_cmd): save download site URL
10680 (get_site_list): make list big enough to add prev site
10681 (get_initial_list_idx): new, read last-used URL from file and
10682 append it to site_list
10683 (do_site): call get_initial_list_idx
10685 * concat.cc (concat): avoid segfault when first parm is null
10687 2000-07-13 DJ Delorie <dj@cygnus.com>
10689 * postinstall.cc: new
10690 * Makefile.in: add postinstall.o
10691 * concat.h: add backslash ()
10693 * desktop.cc (etc_profile): don't do postinstall
10694 (backslash): moved to concat.cc
10696 (make_postinstall_script): run directly
10697 (do_desktop): chain to do_postinstall
10698 * dialog.h: add exit_msg, do_postinstall
10699 * download.cc: use exit_msg
10700 * install.cc: ditto
10701 * main.cc: add postinstall, exit_msg
10702 * resource.h: add postinstall
10703 * README: add more to-do items
10705 2000-07-12 DJ Delorie <dj@cygnus.com>
10707 * desktop.cc: add /etc/postinstall/ support
10708 * install.cc: add more "standard" directories
10710 2000-07-11 DJ Delorie <dj@cygnus.com>
10712 * desktop.cc: create /etc/profile
10713 * desktop.cc: fix include syntax
10714 * Makefile.in: add auto-dependencies
10715 * root.cc: support system vs user
10716 * desktop.cc: ditto
10719 * install.cc: ditto
10721 * resource.h: ditto
10723 * desktop.cc: make sure we use backslashes, not slashes.
10724 * desktop.cc: don't set PATH in cygwin.bat, create /etc/passwd
10725 * geturl.cc: change math for percentage to avoid overflow
10726 * install.cc: ditto
10727 * download.cc: post "download complete" message.
10728 * root.cc: pre-fill in defaults if needed, don't start
10729 browse at root_dir unless it's set.
10730 * desktop.cc: quote $PATH in case it has spaces in it
10732 2000-07-10 DJ Delorie <dj@cygnus.com>
10734 * Makefile.in: add desktop.o and mklink2.o
10735 * dialog.h: add do_desktop
10736 * install.cc: create standard directories, call do_desktop
10737 * res.rc: add cygwin.ico as a file also
10738 * desktop.cc: new, do shortcuts, batch files, and icons
10739 * mklink2.c: new, for COM
10740 * README: update to-do list
10742 2000-07-10 DJ Delorie <dj@cygnus.com>
10744 * ini.cc (do_ini): don't worry about timestamps if we're not
10745 actually installing.
10747 2000-07-09 DJ Delorie <dj@cygnus.com>
10749 * Makefile.in: add -I$(srcdir) for ini.h
10751 2000-07-06 DJ Delorie <dj@cygnus.com>
10753 * Replace everything with a new GUI version
10754 * zlib/gzio.c: add gzctell() for progress displays
10756 2000-06-22 DJ Delorie <dj@cygnus.com>
10758 * setup.c (tarx): re-add call to write_pkg()
10760 2000-06-07 DJ Delorie <dj@cygnus.com>
10762 * cygcalls.c: new, call cygwin1.dll functions directly
10763 * cygcalls.h: header for same
10764 * Makefile.in: add cygcalls.[ch], remove mount/cygpath/umount
10765 exes, fix cinstall.rc dependencies.
10766 * path.c: remove unneeded code
10767 * setup.c: use cygcalls instead of xcreate_process.
10768 uncompress embedded files with zlib
10769 add "-d" for "download only"
10771 postpone mount changes until very end
10772 add download progress indicators
10773 pack multi-column listings more
10774 auto-delete temp files
10775 customize banner message according to options
10776 prompt user for text/binary mounts
10777 add warnings about empty setup directory, root installs, etc
10779 2000-05-24 DJ Delorie <dj@cygnus.com>
10781 * tar.c: New file; built-in tar using zlib.
10782 * tar.h: New file; header for same.
10783 * ctar.c: New file; test program for same.
10784 * Makefile.in: add built-in tar, remove tar.exe and gzip.exe
10785 * path.c (pathcat): convert slashes and canonicalize, instead of
10787 * setup.c (tarx): add support for built-in tar
10788 (main): accept unix-style slashes, check root dir for drive letters,
10789 warn about installing in /, make sure cwd is empty for internet
10790 installs, defer mounts to end of install, support built-in tar.
10792 Fri May 19 23:44:37 2000 Christopher Faylor <cgf@cygnus.com>
10794 Fix compiler warnings throughout.
10795 * pkg.c (init_pkgs): Make static 'stuff' global_pkgstuff for use in
10797 * setup.c: Make 'root' global.
10798 (istargz): Return pointer to "stem" of matched .tar.gz file.
10799 (tarx): Special case cygwin-20000301 to == cygwin-1.1.0.tar.gz. Remove
10800 bogus check_for_installed check.
10801 (recurse_dirs): Add preliminary support for .bat file execution.
10802 (create_uninstall): Eliminate unneeded parameter.
10803 (do_start_menu): Ditto.
10805 (get_pkg_stuff): Ditto. Check for currently installed cygwin by
10806 scanning for the version number. Eliminate unneeded argument to
10808 (getdownloadsource): Add 'name' to list of names rather than url.
10809 (main): Eliminate unneeded argument in get_pkg_stuff. Eliminate
10810 unneeded argument in mkmount and do_start_menu.
10812 2000-05-18 DJ Delorie <dj@cygnus.com>
10814 * setup.c (optionprompt): allow multi-column, clean up message
10815 about more options, be more robust about user input.
10816 (getdownloadsource): make the mirror URL a macro.
10817 (main): do mounts after done prompting user.
10819 Tue May 2 00:56:41 2000 Christopher Faylor <cgf@cygnus.com>
10821 * setup.c (cleanup): Inverse order of deletion stands a better chance
10822 of deleting cygpath.exe. Still seems to suffer from occasional races,
10824 (cleanup_on_signal): Perform convoluted dance to accomodate win95 and
10826 (output_file): Defend against an unlikely handle leak.
10827 (main): Don't set up signal handling until we have something special to
10830 Mon May 1 17:56:32 2000 Christopher Faylor <cgf@cygnus.com>
10832 * path.c (kill_cygpath): Delete function.
10833 (exit_cygpath): Make more defensive so that it can be called at any
10835 (cygpath_pipe): Don't set up signal here. Do it in main().
10836 * setup.c (istargz): New function.
10837 (recurse_dirs): Look for *.gz pattern rather than *tar.gz since *tar.gz
10838 inexplicably fails on samba mounted partitions. Use istargz to match
10840 (processdirlisting) Use istargz to match tar.gz tail.
10841 (cleanup): Renamed from filedel.
10842 (cleanup_on_signal): New function. Called on CTRL-C.
10843 (main): Record handle of main thread so that it can be suspended when
10844 CTRL-C occurs. Set up cleanup_on_signal signal handler.
10846 Mon May 1 11:05:07 2000 Christopher Faylor <cgf@cygnus.com>
10848 * setup.c (do_start_menu): Don't concatenate paths to already built
10851 Sun Apr 30 22:37:34 2000 Christopher Faylor <cgf@cygnus.com>
10853 * path.c (exit_cygpath): Wait for subprocess to exit before returning.
10854 (cygpath_pipe): Don't call exit_cygpath. Let main atexit routine do
10856 * pkg.c (init_pkgs): Accept root argument. Make registry key "cygwin
10858 * setup.c (filedel): Call exit_cygpath here so that we can be assured
10859 that cygpath subprocess has died. This allows us to delete cygpath.exe
10861 (optionprompt): Initialize response to -1 so that second screen of
10862 mirrors will appear.
10863 (get_pkg_stuff): Don't attempt to use HKCLU. Pass root to init_pkgs.
10864 * setup.h: Reflect init_pkgs prototype change.
10866 Sat Apr 29 23:53:30 2000 Christopher Faylor <cgf@cygnus.com>
10868 * pkg.c (init_pkgs): Accept an argument to control what root registry
10869 key should be used.
10870 * setup.c (get_pkg_stuff): Use HKCLU registry key if default fails.
10871 * setup.h: Reflect init_pkgs prototype change.
10873 Sat Apr 29 23:27:14 2000 Christopher Faylor <cgf@cygnus.com>
10875 * error.c (winerror): Respond to gcc warning.
10876 * path.c (cygpath_pipe): Ditto.
10877 * setup.c (filedel): Call sa_cleanup on deleteme.
10878 (create_shortcut): Coerce argument to eliminate compiler warning.
10879 (tarx): Use installed version of cygwin1.dll, overriding tar file name.
10880 (refmatches): New function. Tests if ref is contained in a list of
10881 packages to install.
10882 (filematches): New function. Tests if filename matches one of a list
10883 of packages to install.
10884 (recurse_dirs): Accept list of packages to install. Generalize tar.gz
10885 test to accomodate _tar.gz.
10886 (prompt): Ensure that stdout is flushed prior to asking for input.
10887 (findhref): Initialize variables to quiet a compiler warning.
10888 (processdirlisting): Accept list of packages to install. Special case
10889 cygwin tar file version number.
10890 (downloaddir): Accept list of packages to install.
10891 (downloadfrom): Ditto.
10892 (create_uninstall): Eliminate unneeded variables. Quote arguments to
10894 (do_start_menu): Don't create uninstall bat file if updating or user
10895 specified a list of packages.
10896 (mkmount): Eliminate unneeded variables.
10897 (get_pkg_stuff): New function. Checks for previous unversioned
10899 (main): Accept -u and -f options and package names on the command line.
10900 Use get_pkg_stuff to initialize package information. Umount /etc.
10901 Call recurse_dirs and downloadfrom with list of package to install.
10902 Ensure that all /usr/local directories are created. Output
10903 installation time to setup.log.
10904 * setup.h: Add some prototypes.
10905 * xsystem.c (xcreate_process): Eliminate unneeded variable.
10907 Sat Apr 29 12:43:08 2000 Christopher Faylor <cgf@cygnus.com>
10909 * setup.c (optionprompt): Don't overlap display of already seen options
10911 (geturl): Print name of site which we're connecting to rather than "ftp
10913 (processdirlisting): Avoid URLs that contain a /. or ./ . Is this
10914 test too simplistic?
10915 (do_start_menu): Use pathcat to build path to <root>\bin to avoid
10916 problems when user chooses x:\ as their root.
10917 (main): For now, default to "non-update" mode. Allow -u option to
10920 Sat Apr 29 00:26:06 2000 Christopher Faylor <cgf@cygnus.com>
10923 * setup.c (tarx): Skip already installed or older packages. Report
10924 when a package has been updated.
10925 (processdirlisting): Skip already installed or older packages.
10926 (main): Detect -f option for forced installation. Initialize pkg stuff
10928 * setup.h: Add pkg definitions.
10930 Thu Apr 27 14:21:30 2000 Christopher Faylor <cgf@cygnus.com>
10932 * setup.c (findhref): Return NULL on empty string. Eat any trailing
10934 (processdirlisting): Attempt to limit recursively processing the same
10937 Thu Apr 27 11:42:23 2000 Christopher Faylor <cgf@cygnus.com>
10939 * setup.c (filedel): New function.
10940 (output_file): Keep track of files extracted from setup.exe for
10941 subsequent deletion.
10942 (tarx): Close process handle of child tar process or suffer handle
10944 (getdownloadsource): Close mirror file so that it can be unlinked.
10945 (processdirlisting): Return total number of files extracted.
10946 (main): Initialize array of files to delete. Ensure that files are
10947 closed on exit. Make the directory that setup.exe is started from ==
10948 the directory where temporary files are placed. Issue an error if no
10949 files were found to download.
10950 * xsystem.c (xcreate_process): Close the thread handle. Close the
10951 process handle if we waited for it to exit.
10953 Thu Apr 27 09:54:19 2000 Christopher Faylor <cgf@cygnus.com>
10955 * setup.c (main): Change version number output.
10957 Thu Apr 27 09:23:17 2000 Christopher Faylor <cgf@cygnus.com>
10959 * setup.c (tarx): Use full path name to tar executable.
10960 (main): Build full pathname to tar executable. Create /usr/local/etc
10963 Wed Apr 26 22:16:57 2000 Christopher Faylor <cgf@cygnus.com>
10965 * setup.c (findhref): Change method for scanning for href= to choose
10966 the last one on the line. This is still not foolproof and probably
10967 will need to be changed eventually. Don't abort if no "size" field is
10969 (processdirlisting): Fix boolean algebra.
10971 Wed Apr 26 01:10:39 2000 Christopher Faylor <cgf@cygnus.com>
10973 * main.c (tarx): Add some code for future task of unmounting
10974 directories encountered in tar file.
10976 Sat Apr 22 16:37:03 2000 Christopher Faylor <cgf@cygnus.com>
10978 * setup.c (findhref): Decode file size, when appropriate.
10979 (needfile): New function. Returns 1 when file should be
10981 (processdirlisting): Always download if file size does not
10982 match. Prompt when download fails for some reason.
10983 (getdownloadsource): Accomodate findhref argument changes.
10985 Sat Apr 22 15:13:42 2000 Christopher Faylor <cgf@cygnus.com>
10987 Throughout, use global session handle rather than reinitializing for
10988 each connect. Don't pass session as an argument to setup.c functions.
10989 * setup.c (geturl): Only issue "Connecting to.." message when using
10990 http or first time for ftp since subsequent connections will be fast.
10991 (processdirlisting): Allocate space for "N" when user has specified
10992 "N"ever option so that it can be subsequently freed.
10993 (main): Abort if we can't get the list of mirrors.
10995 Thu Apr 20 16:41:42 2000 Christopher Faylor <cgf@cygnus.com>
10997 * setup.c (main): Umount /bin and /lib.
10999 Wed Apr 19 13:34:44 2000 Christopher Faylor <cgf@cygnus.com>
11001 * setup.c (main): Create an empty /var/run/utmp.
11003 Tue Apr 18 19:16:56 2000 Christopher Faylor <cgf@cygnus.com>
11005 * Makefile.in: Add umount to list of files to include in setup.exe.
11006 * setup.c (xumount): New function for unmounting directories.
11007 (main): Unmount /usr.
11008 (mkmount): Unmount "unix directory" before trying to figure out where
11009 to create the directory.
11011 Tue Apr 18 17:28:55 2000 Christopher Faylor <cgf@cygnus.com>
11013 * setup.c (mkmount): Use xcreate_process to start mount process,
11014 avoiding the shell.
11015 (main): Don't do buffering on stdout or prompts won't be displayed
11016 correctly if running in a cygwin shell with CYGWIN=tty.
11018 Tue Apr 18 15:35:19 2000 Christopher Faylor <cgf@cygnus.com>
11020 * setup.c (main): Remove the CYGWIN environment variable before
11021 starting any cygwin programs.
11023 Mon Apr 17 19:20:52 2000 Vadim Egorov <egorovv@mailandnews.com>
11025 * setup.c (geturl): Use alternative method for finding filename part of
11027 (processdirlisting): Accomodate strange output from non-MS ftp proxy.
11028 (downloaddir): Unlink file containing dir listing.
11029 (downloadfrom): Ditto.
11031 Mon Apr 17 00:00:49 2000 Christopher Faylor <cgf@cygnus.com>
11033 * setup.c (main): Disallow running setup.exe from the "root".
11035 Sun Apr 16 18:50:58 2000 Christopher Faylor <cgf@cygnus.com>
11037 Use "warning" function, where appropriate, to output warnings.
11038 * setup.c (warning): New function -- outputs warning to console and log
11040 (tarx): Fix index used to reset file protection.
11041 (main): Open the log file earlier so that more stuff can be sent to it.
11043 Sat Apr 15 20:05:33 2000 Christopher Faylor <cgf@cygnus.com>
11045 * setup.c (processdirlisting): Make "N" option a little less aggressive.
11047 Fri Apr 14 11:11:29 2000 Christopher Faylor <cgf@cygnus.com>
11049 * setup.c (tarx): Wait to after tar has completed to reset protections
11050 or suffer races with tar process.
11052 Thu Apr 13 12:51:19 2000 Christopher Faylor <cgf@cygnus.com>
11054 * Makefile.in: Eliminate duplicate -nostdinc from CFLAGS.
11055 * setup.c (create_uninstall): Create the uninstall .bat file in the
11056 "root" so that we can remove the /bin directory. Add bin\cygwin.bat to
11057 list of files to be deleted. Fix directory detection for determining
11058 when to use 'rmdir'.
11059 (do_start_menu): Add /usr/local/bin to the path.
11060 (main): Add slop to files.array allocation so that we don't have to
11061 worry about reallocating the array when it grows too large when doing
11062 some trivial "pushes". Add /tmp and /usr/local/{bin,lib} to list of
11065 Thu Apr 13 01:59:44 2000 Christopher Faylor <cgf@cygnus.com>
11067 * setup.c (processdirlisting): Fix handling of "A" for "A"lways
11070 Thu Apr 13 01:11:45 2000 Christopher Faylor <cgf@cygnus.com>
11072 * path.c (kill_cygpath): New cleanup function.
11073 (exit_cygpath): New cleanup function.
11074 (cygpath_pipe): New function. Sets up cygpath in the background for
11075 translating filenames.
11076 (pathcvt): Use background cygpath for file translation.
11077 * setup.c (tarx): New function. Called to extract tar files, capture
11078 logging output, and translate it to Windows format.
11079 (recurse_dirs): Use 'tarx' function to extract files.
11080 (create_uninstall): Use file list built up by tarx rather than reading
11082 (mkmount): Add ability to mount root.
11083 (main): Track elapsed install time. Mount root.
11084 * starry.h: Add index field to strarry for tracking of tarx's usage of
11086 * xsystem.c (xcreate_process): Return proces handle when not waiting.
11088 Mon Apr 10 22:44:56 2000 Christopher Faylor <cgf@cygnus.com>
11090 * path.c: New file.
11091 (pathfp): New function. Preliminary work for new -f cygpath
11093 * Makefile.in: Add new file.
11094 (pathcvt): Move to new file.
11098 * setup.c (processdirlisting): Always open file in text mode.
11099 (create_uninstall): Ditto.
11100 (getdownloadsource): Ditto.
11103 Mon Apr 10 20:33:40 2000 Christopher Faylor <cgf@cygnus.com>
11105 * xsystem.c: New file.
11106 * Makefile.in: Accomodate new file.
11107 * setup.c (xsystem): Move to new file.
11108 (recurse_dirs): Accept handle to output log file. Don't use ">"
11109 redirection to trap tar output. Use supplied handle instead.
11110 (create_uninstall): Accept FILE pointer to opened log file. Don't
11111 unlink log file here.
11112 (do_start_menu): Accept FILE pointer to pass to create_uninstall.
11113 (main): Open log file here and pass it to various functions. Unlink
11116 Mon Apr 10 17:15:52 2000 Christopher Faylor <cgf@cygnus.com>
11118 Change occurrences of .usr.bin to .bin throughout.
11119 * setup.c (geturl): Increase number of retries to 20. Let user know
11120 what's going on during long connects.
11121 (processdirlisting): Accept "A"lways and "N"ever as update options.
11122 (create_uninstall): Load cygwin1.dll from the current directory rather
11124 (main): Add some expository text.
11126 Sun Apr 9 20:59:15 2000 Christopher Faylor <cgf@cygnus.com>
11128 * Makefile.in: Change method for compressing cygwin1.dll to avoid
11129 creating a cygwin1.dll in the current directory. Ensure the addition
11130 of -nostdinc to MINGW_CFLAGS.
11132 Sun Apr 9 02:15:47 2000 Christopher Faylor <cgf@cygnus.com>
11134 * Makefile.in: Augment clean target.
11136 Fri Apr 7 17:04:02 Ron Parker <rdparker@sourceware.cygnus.com>
11138 * README: Added info about non-working mingw implementation
11139 * gzip.exe.gz: Replace with a version from the same build as the other
11141 * tar.exe.gz: Replace with a version from the same build as the other
11143 * mount.exe.gz: Add to repository until, mingw can build setup.
11144 * cygpath.exe.gz: ditto
11145 * cygwin1.dll.gz: ditto
11146 * setup.c: Overwrite /bin and /lib mounts. Generate working shortcut
11147 for Win9x. Display only a screenfull of options at a time. Call all
11148 tools with an absolute path.
11149 * setup.dsp: Restore the carriage returns, MS Developer Studio needs
11154 Thu Apr 6 19:15:27 2000 Christopher Faylor <cgf@cygnus.com>
11156 * Makefile.in: Add "-nostdinc" to regular CFLAGS. Add target to grab
11157 cygwin1.dll from ../cygwin subdirectory.
11158 * gzip.exe.gz: Update.
11159 * tar.exe.gz: Update.
11161 Wed Apr 5 10:52:08 2000 Christopher Faylor <cgf@cygnus.com>
11163 * Makefile.in: Use ZLIB variable as a target.
11165 Sat Apr 1 22:49:09 2000 Christopher Faylor <cgf@cygnus.com>
11167 * Makefile.in: Eliminate traces of cygwinisms. Don't link with
11168 libmsvcrt.a. It's unneeded. Build .rc file on the fly from various
11170 * configure.in: Locate correct objcopy.
11171 * configure: Regenerate.
11173 Sat Apr 1 20:48:09 2000 Christopher Faylor <cgf@cygnus.com>
11175 * Makefile.in: New file.
11176 * configure.in: New file.
11177 * configure: New file.
11178 * zlib/Makefile.am: New file.
11179 * zlib/configure.in: New file.
11180 * zlib/aclocal.m4: New file.
11181 * zlib/acinclude.m4: New file.
11182 * zlib/configure: Regenerate from configure.in.
11183 * zlib/Makefile.in: Regenerate from Makefile.am