+2012-04-25 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Interim work-around for MinGW-Bug #3520864.
+
+ * src/pkgdeps.cpp (pkgXmlDocument::ResolveDependencies):
+ [DEBUG_TRACE_DEPENDENCIES]: Add request flags to messages reporting
+ the scheduling of installation activities.
+
+ * src/pkgexec.cpp (pkgXmlDocument::Schedule): Add temporary diagnostic
+ hooks to confirm request flags; bracket them with #if 0 ... #endif.
+ [ACTION_PRIMARY && pre-scheduled request]: Don't trash request flags
+ when updating the pre-existing action item data.
+
+2012-04-23 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Fix MinGW-Bug #3520488
+
+ * src/pkgexec.cpp (action_code): Check for, and reject NULL pointer
+ passed as action request string; also reject ambiguous abbreviations.
+
+ * src/climain.cpp (climain): Discriminate between NULL pointer and
+ other forms of invalid action keyword matching failures.
+
+2012-04-16 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ mingw-get-0.5-beta-20120416-1 released.
+
+ * configure.ac (AC_INIT): Version number updated.
+ (YEARS_OF_ISSUE): 2012 added.
+
+ * srcdist-doc/NEWS.in: Updated; release notes added.
+ * All files (r0-5-beta-20120416-1): Tag assigned.
+
+2012-04-16 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Assign icon to temporary GUI executable file.
+
+ * icons/pkgicon.ico: New file, shamelessly copied from synaptic.
+
+ * configure.ac: Add identification for windres; propagate it to...
+ * Makefile.in: ...here; use it to compile object from icon files...
+ (srcdir/icons) [%.ico]: ...from this new vpath location.
+ (gui.exe): Link to compiled icon's object file.
+ (SRCDIST_SUBDIRS): Add icons directory.
+
+2012-04-15 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Ensure that package removal requests are correctly scheduled.
+
+ * src/pkgdeps.cpp (pkgXmlDocument::Schedule) [ACTION_REMOVE]: Schedule
+ as a distinct case, when the installed version is not the most recent
+ available release; consideration of this distinct case was previously
+ erroneously overlooked.
+
+2012-04-15 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Correct scheduling of new prerequisites when upgrading.
+
+ * src/pkgdeps.cpp (pkgXmlDocument::ResolveDependencies):
+ [ACTION_UPGRADE && ACTION_PRIMARY]: Don't exclude scheduling for this
+ case of a prerequisite with no previously installed version; it may be
+ a delegated primary requirement of a meta-package.
+
+2012-04-15 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Don't require subsystem within user specified version bounds.
+
+ * src/pkgdeps.cpp (pkgActionItem::ApplyBounds): Automatically consider
+ "*" wild-card matches for subsystem, if user doesn't specify it.
+
+2012-04-09 Charles Wilson <mingw@cwilson.fastmail.fm>
+
+ Fix missing include.
+
+ * src/pkgdeps.cpp (pkgopts.h): Include unconditionally; do not rely...
+ (debug.h) [DEBUG_TRACE_DYNAMIC]: ...on this, for indirect inclusion.
+
+2012-04-07 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Correct a srcdist package construction defect.
+
+ * Makefile.in (srcdist) [for SRCDIST_SUBDIRS]: Use...
+ (mkinstalldirs): ...this, to create package image directories.
+
+2012-04-06 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Add scripting hooks to support creation of MS-Windows shortcuts.
+
+ * src/clistub.c (progname): New static variable with file scope; it
+ replaces former automatic variable, of same name, in main() function.
+ (set_script_hook): New static function; implement it, and call it...
+ (main) [--desktop, --start-menu]: ...from here, to interpret these new
+ command line options; they are propagated to scripts via...
+ (MINGW_GET_DESKTOP_HOOK, MINGW_GET_START_MENU_HOOK): ...these new
+ internally assigned environment variables.
+ (help_text): Document --desktop and --start-menu.
+
+ * scripts/libexec/setup.lua scripts/libexec/wsh.lua: New lua module
+ files; they implement a lua scripting API; they delegate requests to
+ the Windows Scripting Host, via either of this pair of...
+ * scripts/libexec/shlink.js: ...new script to create shortcuts, or...
+ * scripts/libexec/unlink.js: ...its complement, to remove them.
+ * Makefile.in (SRCDIST_SUBDIRS): Integrate them; enumerate them in...
+ (scripts_srcdir, LIBEXEC_SCRIPTS): ...these new macros; use to...
+ (install): ...install them.
+
+2012-04-06 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Initialise $LUA_PATH to locate mingw-get specific scripts.
+
+ * src/pkgexec.cpp (lua_path_init): New static inline function.
+ (pkgXmlNode::DispatchScript): Call it on first time invocation, per...
+ [lua_path_setup == false]: ...this static function local variable.
+
+2012-04-01 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Support installation of releases other than latest available.
+
+ * src/pkgbase.h (pkgActionItem::ApplyBounds): New method; declare it.
+
+ * src/pkgdeps.cpp (pkgActionItem::ApplyBounds): Implement it.
+ (pkgXmlDocument::Schedule): Use it to interpret user specified version
+ bounds, and apply them to scheduled action items. Having used...
+ (get_version_bounds): ...this new static inline function...
+ ...to acquire any user specified version bounds, check that they can
+ be honoured, before scheduling any action; delegate diagnostics to...
+ (dmh_notify_no_match): ...this new local helper function, to report
+ when they can't, and to indicate viable alternatives.
+
+2012-03-26 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Rework previously inadequate solution for MinGW-Bug #3424406
+
+ * src/pkgtask.h: Update copyright notice for current year.
+ (ACTION_MAY_SELECT): New manifest constant for use as flag; define it.
+ * src/pkgexec.cpp (pkgActionItem::SelectIfMostRecentFit): Assign it.
+
+ * src/pkgdeps.cpp (STATIC_INLINE): New macro; define it.
+ (ACTION_RECURSIVE_REINSTALL, ACTION_RECURSIVE_UPGRADE):
+ (ACTION_RECURSIVE_REPLACE): New action code constants; define them.
+ (with_flags): Original macro deleted; replace it with...
+ (with_request_flags): ...this new static inline function.
+ (if_noref, if_match, if_alias, with_download, promote): New static
+ inline functions; they replace original macros of the same names.
+ (is_recursive_action): Function no longer used; delete it.
+ (action_class): New static inline function; implement and use it...
+ (pkgXmlDocument::ResolveDependencies): ...here, to identify scheduling
+ requirements for packages which are already installed; depends on...
+ (request_mode): ...this new automatic variable; it augments and...
+ (recursive_mode): ...replaces this one; rename it accordingly.
+ (viable): Automatic variable no longer used; delete it.
+ [DEBUG_REQUEST & DEBUG_TRACE_DEPENDENCIES]: Emit notification for
+ scheduled installation.
+ (pkgXmlDocument::Schedule): Add an implied...
+ (ACTION_REMOVE): ...when scheduling a reinstallation.
+
+2012-03-13 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Address reinstallation issues per MinGW-Bugs #3416013 and #3424406
+
+ * src/pkgexec.cpp (reinstall_action_scheduled): New inline function.
+ (pkgActionItem::Execute): Use it to identify cases where...
+ [--reinstall]: ...implicit package removal is required, and also to
+ facilitate improved progress reporting in such cases.
+
+ * src/pkgdeps.cpp (is_recursive_action): New inline function.
+ (pkgXmlDocument::ResolveDependencies): Use it in tandem with...
+ (recursive_mode): ...this new automatic variable, so as to handle...
+ [meta-package dependency]: ...implicit recursion, to extend the scope
+ of the current action to the first level of non-meta dependency.
+ [install --reinstall]: ...reinstall original version of nominated
+ package, ignoring any available upgrade; extend scope of operation...
+ [install --reinstall --recursive]: ...to all prerequisite packages.
+ [upgrade --reinstall]: ...upgrade nominated package if possible; if no
+ upgrade available, reinstall current version; extend scope...
+ [upgrade --reinstall --recursive]: ...to all prerequisites.
+ (pkgXmlDocument::Schedule): Partially revert 2012-03-05 change;
+ reimplement selectively; never promote...
+ [install, install --reinstall]: ...these operations to become...
+ [upgrade]: ...this, even if available; issue diagnostic instead.
+
+2012-03-12 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Rationalise implementation and usage of --all-related option.
+
+ * src/pkgopts.h: Update copyright notice; add year 2012.
+ (OPTION_RECURSIVE, OPTION_ALL_RELATED): New constants; define them.
+ (pkgOpts::SetFlags): New method; declare and implement it inline.
+
+ * src/clistub.c: Update copyright notice; add year 2012.
+ (options) [recursive, all-related]: Redefine in terms of...
+ (OPTION_RECURSIVE, OPTION_ALL_RELATED): ...these.
+ (help_text): Update appropriately.
+
+ * src/climain.cpp: Update copyright notice; add year 2012.
+ (climain) [all-related]: Associate its use exclusively with...
+ (source, licence): ...these package processing operations; use...
+ (pkgOptions::SetFlags): ...this, to propagate its effect.
+
+2012-03-12 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Don't report failed downloads in respect of virtual packages.
+
+ * src/pkginet.cpp (pkgActionItem::DownloadArchiveFiles): Clear...
+ [ACTION_DOWNLOAD]: ...this status flag for any package identified as
+ a meta-package; this corrects a further regression introduced with the
+ 2011-11-09 update, whereby pending download requests for such virtual
+ packages were not cancelled, resulting in failure to install due to
+ failed downloads, when no download is actually required.
+
+2012-03-05 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Don't suppress implied downloads for top-level actions.
+
+ * src/pkgdeps.cpp: Update copyright notice for new year.
+ (pkgXmlDocument::Schedule) [!OPTION_PRINT_URIS]: Ensure that...
+ [ACTION_DOWNLOAD]: ...this is enabled, when scheduling an install or
+ an upgrade action for a package specified as a command line argument;
+ this corrects a regression introduced on 2011-11-09, which resulted in
+ ACTION_DOWNLOAD being enabled only for second tier dependent actions.
+
+2012-02-20 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Copyright notice updates.
+
+ * Makefile.in: Add 2012 as year of republication.
+ * src/pkgbase.h src/sysroot.cpp src/pkgexec.cpp: Likewise.
+ * src/rites.c src/pkginst.cpp src/pkgunst.cpp: Likewise.
+
+2012-02-20 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Fix ill-advised optimisation in $APPROOT environment lookup.
+
+ * src/rites.c (approot_path): Don't save result of getenv() lookup
+ across calls; the environment may have been moved in the interim,
+ making the original result invalid on any subsequent call. Also,
+ prefer MS-Windows style (with backslashes) for default.
+ (pkgLastRites): Report full path name for lastrites.exe, on execl()
+ failure, rather than only the path relative to $APPROOT.
+
+2012-02-20 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Propagate sysroot path settings to scripts via the environment.
+
+ * src/pkgbase.h (PKG_PUTENV_FLAGS_MASK): New constant; it maps...
+ (PKG_PUTENV_DIRSEP_MSW, PKG_PUTENV_DIRSEP_POSIX): ...these flags...
+ (PKG_PUTENV_SCAN_VARNAME, PKG_PUTENV_NAME_TOUPPER): ...and these;
+ they are used to specify optional behavioural choices for...
+ (pkgPutEnv): ...this new function; declare it.
+
+ * src/sysroot.cpp (pkgPutEnv): Implement it.
+ (pkgXmlDocument::LoadSystemMap): Use it to add $SUBSYSTEM_SYSROOT path
+ specifications to the environment, for each named subsystem associated
+ with the active system map.
+
+ * src/pkgexec.cpp (pkgActionItem::Execute): Invoke pkgPutEnv() prior
+ to processing of each package install, upgrade, or remove action, so
+ as to update environment variable $SYSROOT to represent the sysroot
+ path for each package processed, during execution of script hooks.
+
+2012-02-17 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Implement hooks to support lua scripting interface.
+
+ * Makefile.in (LIBS): Add -llua.
+
+ * src/pkgbase.h (pkgXmlNode::InvokeScript): New method; declare it
+ as private, and provide overloaded public inline API implementation.
+ (pkgXmlNode::DispatchScript): New private method; declare it.
+
+ * src/pkgexec.cpp (pkgXmlNode::InvokeScript): Implement it.
+ (pkgXmlNode::DispatchScript): Likewise; it directs InvokeScript to...
+ (pkgInvokeScript): ...this new static function; implement it.
+
+ * src/pkginst.cpp (pkgInstall): Call InvokeScript as appropriate.
+ * src/pkgunst.cpp (pkgRemove): Likewise.
+
+2011-11-24 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Avoid implicit cast warnings; reported by Robert Hartmann.
+
+ * src/dmh.h (DMH_BEGIN_DIGEST): Explicitly cast to uint16_t.
+ (DMH_END_DIGEST): Likewise.
+
+2011-11-09 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Avoid unnecessary downloads for already installed packages.
+
+ * src/pkginet.cpp (pkgActionItem::DownloadSingleArchive): Require
+ external scheduling of ACTION_DOWNLOAD; cancel the scheduled request
+ on completion, or when not required due to pre-existing local copy.
+
+ * src/climain.cpp (pkgActionItem::GetSourceArchive): Must always be
+ prepared to download the associated archive; enable ACTION_DOWNLOAD.
+
+ * src/pkgexec.cpp (pkgActionItem::Schedule) [OPTION_REINSTALL]:
+ May need to download the archive, even when the requested package was
+ previously installed; schedule ACTION_DOWNLOAD to enable this.
+
+ * src/pkgdeps.cpp (promote): Macro redefined in terms of...
+ (with_flags, with_download): ...these new macros; implement and...
+ (pkgXmlDocument::ResolveDependencies): ...use them to enable/schedule
+ ACTION_DOWNLOAD only when expected that it may be necessary.
+
+2011-11-06 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Fix packaging anomalies for source and licence distributions.
+
+ * Makefile.in (licdist): Link README from ${CURDIR}, not from '..'.
+ (srcdist): Explicitly link pkginfo.c from ${CURDIR} to src/pkginfo,
+ rather than as implied prerequisite; this avoids a bogus attempt to
+ link srcdist-doc into src/pkginfo.
+
+2011-11-06 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Bump version number for subsequent CVS snapshots.
+
+ * configure.ac (AC_INIT): Set version to 0.4-alpha-1.1cvs
+
+2011-11-06 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ mingw-get-0.4-mingw32-alpha-1 released.
+
+ * configure.ac (AC_INIT): Adjust version number.
+ * srcdist-doc/NEWS.in: Updated; document new features and bugs fixed.
+ * All files (r0-4-alpha-1): Tag assigned.
+
+2011-11-04 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Don't upgrade installed DLL components to incompatible version.
+ Provide clearer diagnostics for failed requests on implied packages.
+
+ * src/pkgdeps.cpp (is_abi_compatible): New static inline function.
+ (pkgXmlDocument::ResolveDependencies) [is_installed]: Use it.
+ (pkgXmlDocument::ResolveDependencies) [DEBUG_TRACE_DEPENDENCIES]:
+ Clean up and improve diagnostic message content and formatting.
+ (pkgXmlDocument::Schedule) [(upgrade || remove) && ! installed]:
+ Downgrade diagnostic to WARNING, for implicitly specified component
+ packages; provide additional explanatory diagnostics.
+
+ * src/pkgspec.cpp (pkgSpecs::VersionComparator):
+ * src/pkgexec.cpp (pkgActionItem::SelectIfMostRecentFit):
+ [DEBUG_TRACE_DEPENDENCIES]: Eliminate diagnostic noise.
+
+2011-10-11 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Fix --download-only vs. --reinstall conflict.
+
+ * src/pkgexec.cpp (pkgActionItem::Execute) [OPTION_DOWNLOAD_ONLY]:
+ Test for explicit inequality, rather than equality to zero; since the
+ 2011-08-30 update, which made --download-only also imply --reinstall,
+ it will test as non-zero when --reinstall is specified, even though
+ --download-only is not.
+
+2011-10-07 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Add support for non-specific upgrade of all installed packages.
+
+ * src/pkgbase.h (pkgXmlDocument::RescheduleInstalledPackages):
+ New public method; declare it.
+
+ * src/pkgdeps.cpp (pkgXmlDocument::RescheduleInstalledPackages):
+ Implement it.
+
+ * src/climain.cpp (climain) [ACTION_UPGRADE && argc < 2]: Invoke
+ pkgXmlDocument::RescheduleInstalledPackages() to schedule the upgrade
+ request for all packages currently registered as installed.
+
+2011-10-06 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Implement "source" and "licence" operations.
+
+ * src/pkgopts.h (OPTION_ALL_DEPS): New option code; define it.
+ * src/clistub.c (main): Associate it with...
+ (all-related, recursive): ...these synonymous option names...
+ (options): ...defined within this local structured array.
+ (help_text): Document them; also document "source" and "licence" as
+ new operations which may be specified on the command line.
+
+ * src/pkgtask.h (action_source, action_licence): Enumerate them.
+ (ACTION_SOURCE, ACTION_LICENCE): Define their manifest values, and...
+ * src/pkgexec.cpp (action_name): ...associate with operation names.
+
+ * src/pkgbase.h (pkgActionItem::GetScheduledSourceArchives):
+ (pkgActionItem::GetSourceArchive, pkgXmlDocument::GetSourceArchive):
+ New public methods; declare them for external implementation.
+ (pkgXmlDocument::GetScheduledSourceArchives): New public method;
+ implement it as inline.
+
+ * src/climain.cpp (pkgProcessedArchives): New pointer to stack of...
+ (pkgArchiveNameList): ...this new locally defined class; implement it.
+ (pkgActionItem::GetSourceArchive, pkgXmlDocument::GetSourceArchive):
+ (pkgActionItem::GetScheduledSourceArchives): Implement them.
+ (climain): Add invocation hooks.
+
+2011-10-04 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Establish mapping from release tarname to source tarname.
+
+ * src/pkgreqs.cpp (inherited_requirement): New inline function.
+ (requirement): Use it; adapt to propagate release archive format and
+ compression type fields, in addition to version fields, when resolving
+ "%" wildcard matches within the template for the resultant tarname.
+ (pkgAssociateName): New public function; implement it for use by...
+ * src/pkgname.cpp (pkgResolvedName): ...this new inline function.
+ (pkgXmlNode::SourceArchiveName): Use it; adapt to accept a category
+ selector, so it may resolve source or licence tarnames on demand.
+
+ * src/pkgbase.h (pkgXmlNode::SourceArchiveName): Modify declaration;
+ add category selector argument to support source/licence choice.
+
+2011-10-02 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Facilitate downloads using diverse cache directories.
+
+ * src/pkgbase.h (pkgActionItem::DownloadSingleArchive): New private
+ method; declare it; it handles the download for a single named archive
+ file, and stores it in a specifed cache directory.
+
+ * src/pkginet.cpp (pkgActionItem::DownloadSingleArchive): Implement
+ it; factor its code from the original implementation within...
+ (pkgActionItem::DownloadArchiveFiles): ...this; adapt to use it.
+
+2011-10-02 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Establish cache directory for source archive downloads.
+
+ * src/mkpath.h (pkgSourceArchivePath): New function; declare it.
+ * src/mkpath.c (pkgSourceArchivePath): Implement it.
+
+2011-08-30 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Support archive extraction to arbitrary destination without install.
+
+ * src/pkgproc.h (pkgArchiveProcessor::ExtractFile): New virtual
+ helper method for use, as core helper, by derived classes; declare it.
+ (pkgArchiveProcessor::CreateExtractionDirectory): Likewise.
+ (pkgTarArchiveProcessor): Declare overloaded default constructor.
+ (pkgTarArchiveExtractor): New class definition; it is derived from
+ pkgTarArchiveProcessor.
+
+ * src/tarproc.cpp (pkgArchiveProcessor::ExtractFile): Implement it.
+ (pkgArchiveProcessor::CreateExtractionDirectory): Likewise.
+ (pkgTarArchiveExtractor): Implement constructor, together with...
+ (pkgTarArchiveExtractor::ProcessDirectory): ...this method, and also...
+ (pkgTarArchiveExtractor::ProcessDataStream): ...this one; these are
+ declared as abstract, in the pkgTarArchiveProcessor base class.
+ (pkgTarArchiveInstaller::ProcessDirectory): Simplify; it now delegates
+ directory creation to pkgArchiveProcessor::CreateExtractionDirectory.
+ (pkgTarArchiveInstaller::ProcessDataStream): Simplify; delegate file
+ handling to pkgArchiveProcessor::ExtractFile, as appropriate.
+
+2011-08-30 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Make --download-only and --print-uris imply --reinstall.
+
+ * src/pkgopts.h (OPTION_PRINT_URIS): Adjust definition.
+ (OPTION_DNLOAD_ONLY, OPTION_DOWNLOAD_ONLY): Likewise.
+
+2011-08-07 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Implement --download-only and --print-uris options.
+
+ * src/pkgopts.h (OPTION_DOWNLOAD_ONLY, OPTION_PRINT_URIS):
+ New manifest constants, identifying flag bits; define them.
+ (OPTION_DNLOAD_ONLY): Likewise; an alias for OPTION_DOWNLOAD_ONLY.
+
+ * src/pkgbase.h (pkgActionItem::PrintURI): New private method.
+ * src/pkginet.cpp: Implement it.
+
+ * src/clistub.c (options): Add "download-only" and "print-uris".
+ (help_text): Document them.
+ * src/pkgexec.cpp (pkgActionItem::Execute): Process them.
+
+2011-07-29 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ mingw-get-0.3-mingw32-alpha-2.1 released.
+
+ * configure.ac (AC_INIT): Adjust version number.
+ * srcdist-doc/NEWS.in: Updated; document bugs fixed.
+ * All files (r0-3-alpha-2-1): Tag assigned.
+
+2011-07-29 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Adopt tar.xz as default package archive format.
+
+ * Makefile.in (TARZIP, TAREXT): New macros; define them.
+ (bindist, licdist, srcdist): Use them in place of hardcoded tar.gz
+ (maintainer-clean): Expunge tar files of any compression format.
+
+2011-07-27 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Correct handling of release status in requirements specifications.
+
+ * src/debug.h (DEBUG_TRACE_DEPENDENCIES): New tracing hook; define it.
+ * src/pkgexec.cpp (pkgActionItem::SelectIfMostRecentFit): Use it; add
+ function entry/exit tracing report hooks.
+ * src/pkgdeps.cpp (pkgXmlDocument::ResolveDependencies): Likewise;
+ also add internal trace point reporting, which may also require...
+ (show_required): ...this new static inline DEBUG_INVOKED function.
+
+ * src/pkgreqs.cpp (requirement): Propagate release status and release
+ reference index fields from requirer, when package version requirement
+ is specified by a '%' token, and no explicit release status override
+ is included in the requirement specification.
+
+ * src/pkgspec.cpp (is_wildcard_spec): New static inline helper.
+ (pkgSpecs::VersionComparator): Use it to identify any package version
+ specification which may require the extension of a wildcard match, to
+ span the package version and release status fields; also add tracing
+ hooks, triggered on DEBUG_TRACE_DEPENDENCIES, to facilitate debugging.
+
+2011-06-18 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Avoid accidental RCS keyword substitutions.
+
+ * Makefile.in (DOLLAR): New macro; define it.
+ (readme.txt, readme.txt.in): Use it, where unexpanded RCS Id keyword
+ matching is intended.
+
+2011-06-18 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Mercurial support revisited.
+
+ * .cvsignore (.hgtags): Add to CVS untracked list.
+
+2011-06-18 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Update readme.txt ID tag-line to track NEWS rather than README.
+
+ * Makefile.in (readme.txt.in): New rule; implement it.
+ (readme.txt.tag): Likewise; this implements the tag-line tracking.
+ (readme.txt): Rule redefined in terms of the preceding pair.
+
+2011-06-17 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ mingw-get-0.3-mingw32-alpha-2 released.
+
+ * configure.ac (AC_INIT): Adjust version number.
+ * srcdist-doc/NEWS.in: Updated; document new features and bugs fixed.
+ * All files (r0-3-alpha-2): Tag assigned.
+
+2011-06-15 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Add internal documentation for --reinstall option.
+
+ * src/clistub.c (help_text): Add description for "--reinstall".
+
+2011-06-14 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Support use of Mercurial within a CVS working copy.
+
+ * .cvsignore (.hg, .hgignore): Don't have CVS track these.
+
+2011-06-13 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Implement --reinstall option.
+
+ * src/pkgopts.h (OPTION_REINSTALL): New macro; define it.
+ (OPTION_GENERIC, OPTION_SHIFT_MASK): Likewise.
+ (OPTION_EXTRA_FLAGS): New field; declare it.
+
+ * src/clistub.c (options): Add "reinstall".
+ (OPTION_GENERIC): Use it where appropriate; within its scope...
+ (OPTION_STORAGE_CLASS): Improve descriptive comments; add handling for
+ default case of flag type options requiring an alignment shift.
+
+ * src/pkgexec.cpp: Remove previous "always reinstall" kludge.
+ (pkgOptionSelected, PKG_OPTION_REINSTALL): Remove obsolete macros.
+ (pkgActionItem::Execute): Check for "upgrade" request on any package
+ which is already up to date; report this state, otherwise...
+ [OPTION_REINSTALL || ACTION_UPGRADE]: Mark package as "removed", to
+ avoid bail-out on "package already installed", when calling...
+ (pkgInstall): ...this.
+
+2011-06-12 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Don't require -vv to report progress of update operation.
+
+ * src/pkgbind.cpp (pkgRepository::GetPackageList): Eliminate all
+ basename() calls; `dname' already tells us what it should return.
+ [update]: Report progress, irrespective of verbosity setting.
+
+2011-06-11 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Fix MinGW-Bug #3313806.
+
+ * src/pkginfo/pkginfo.l (CMS_KEYWORDS): Do not match them within the
+ PACKAGE_NAME field; this avoids misinterpretation as a release status
+ qualifier when intended as part of the package name, as in msys-cvs.
+
+2011-06-07 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Provisional correction for MinGW-Bug #3309438.
+
+ * src/debug.h [DEBUGLEVEL == 0]: Provide defaults for...
+ (DEBUG_ENABLED, DEBUG_REQUEST): ...these macros.
+
+ * src/tarproc.cpp (pkgTarArchiveInstaller::ProcessDirectory):
+ (pkgTarArchiveInstaller::ProcessDataStream): Use DEBUG_REQUEST to
+ enable runtime trace activation for previous compile time choices.
+
2011-05-30 Keith Marshall <keithmarshall@users.sourceforge.net>
mingw-get-0.3-mingw32-alpha-1 released.