X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=ChangeLog;h=314fc8852510b20a535f66e18454c16f44c590e2;hb=90c0fcda7dce5187ed3a5bbd010f61cd5a1de8b3;hp=c4810c1bac4e0af4dd368843319078f7d8efdea4;hpb=6d9a6e549e992e6c0f36eabd0f6d515b4f1b83a3;p=mingw%2Fmingw-get.git diff --git a/ChangeLog b/ChangeLog index c4810c1..314fc88 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,1243 @@ +2012-08-02 Earnie Boyd + + Find missing.m4 in build-aux/m4 directory. + + * aclocal.m4: Change path m4/missing.m4 to build-aux/m4/missing.m4. + +2012-07-31 Earnie Boyd + + Move .cvsignore to .gitignore. + + * .cvsignore: Remove. + * .gitignore: New file. + +2012-07-13 Keith Marshall + + Disable globbing of command line arguments. + + * src/clistub.c (_CRT_glob): Define and initialise to zero; we don't + need globbing, and it may cause case transliteration of case-sensitive + action keywords, when a file system entity with a case-insensitively + matching name exists. + +2012-06-02 Keith Marshall + + Refactor API to facilitate implementation of GUI ListView hooks. + + * src/pkgkeys.h (title_key, description_key): Declare them. + * src/pkgkeys.c (title_key, description_key): Define them; relocate... + * src/pkgshow.cpp (pkgDirectoryViewer::EmitDescription): ...from here. + (pkgXmlDocument::CalalogueAllPackages): New public method; factor... + (pkgXmlDocument::DisplayPackageInfo): ...from here, whence use it. + (pkgDirectoryViewerEngine::EnumerateComponents): New private method; + implement as a concrete method of this abstract base class; factor... + (pkgDirectoryViewer::Dispatch): ...from original inline implementation + within this method of the concrete derived class, whence use it. + (pkgDirectoryViewerEngine, pkgDirectory): Factor class declarations... + * src/pkglist.h: ...into this new header file; include it. + + * src/pkgbase.h (pkgDirectory): Add forward class declaration. + (pkgXmlDocument::CatalogueAllPackages): Declare it. + +2012-05-02 Keith Marshall + + Update help text to document package version selection capability. + + * src/clistub.c (help_text): Add description of command line syntax + which may be used to specify an alternative to the default package + version selection, for install and upgrade actions. + +2012-05-01 Keith Marshall + + Support options set by preferences assigned within profile.xml + + * xml/profile.xml (preferences): New element; add defaults. + + * src/pkgopts.h (OPTION_ASSIGNED_FLAGS, OPTION_DESKTOP_ARGS): + (OPTION_START_MENU_ARGS): New enumerated constants; define them. + (OPTION_DESKTOP, OPTION_START_MENU): New manifest constants. + (OPTION_ASSIGNED, mark_option_as_set): New macros; define them. + (pkgOpts::GetValue, pkgOpts::GetString): Restrict look-up index to + least significant 12-bits of full-range index value. + (pkgOpts::IsSet): New inline method; implement it. + + * src/clistub.c (main): Reimplement --desktop and --start-menu + options; each now becomes an OPTION_GENERIC optarg string store. + (set_script_hook): Function no longer used; delete it; delegate to... + * src/pkgbase.h (pkgXmlDocument::EstablishPreferences): ...this new + method; declare it, providing its implementation in... + * src/pkgopts.cpp: ...this new file; invoke it... + * src/climain.cpp (climain): ...here. + + * Makefile.in (CORE_DLL_OBJECTS): Add pkgopts.$OBJEXT + +2012-04-30 Keith Marshall + + Correct sequence of installation/removal progress reporting. + + * src/pkgunst.cpp (pkgRemove): Delay output of "removing package ..." + message, until after pre-remove hooks have run; this ensures that any + output from the pre-remove hook scripts appears in correct sequence. + + * src/pkginst.cpp (pkgInstall): Likewise, for "installing package ..." + message, in relation to pre-install hooks. + +2012-04-26 Keith Marshall + + mingw-get-0.5-beta-20120426-1 released. + + * configure.ac (AC_INIT): Version number updated. + * srcdist-doc/NEWS.in: Updated; bug-fix notifications added. + * All files (r0-5-beta-20120426-1): Tag assigned. + +2012-04-25 Keith Marshall + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Bump version number for subsequent CVS snapshots. + + * configure.ac (AC_INIT): Set version to 0.4-alpha-1.1cvs + +2011-11-06 Keith Marshall + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Mercurial support revisited. + + * .cvsignore (.hgtags): Add to CVS untracked list. + +2011-06-18 Keith Marshall + + 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 + + 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 + + Add internal documentation for --reinstall option. + + * src/clistub.c (help_text): Add description for "--reinstall". + +2011-06-14 Keith Marshall + + Support use of Mercurial within a CVS working copy. + + * .cvsignore (.hg, .hgignore): Don't have CVS track these. + +2011-06-13 Keith Marshall + + 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 + + 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 + + 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 + + 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 + + mingw-get-0.3-mingw32-alpha-1 released. + + * configure.ac (AC_INIT): Adjust version number. + * srcdist-doc/NEWS.in: Updated; document new features. + * All files (r0-3-alpha-1): Tag assigned. + +2011-05-30 Keith Marshall + + Support assignment of DEBUGLEVEL at configure time. + + * configure.ac (DEBUGLEVEL): Declare as a precious variable, using + AC_ARG_VAR; also declare with AC_SUBST, to ensure it is initialised. + + * Makefile.in (DEBUGLEVEL): Let AC_SUBST assign it. + +2011-05-29 Keith Marshall + + Work around bugs in MinGW and GNU getopt_long_only() implementations. + + * src/getopt.c: New file; this is a free-standing replacement for any + implementation provided by system libraries. We will always use this + to ensure correct operation irrespective of system bugs; (different + bug manifestations have been identified in the stock MinGW and GNU + implementations). + + * Makefile.in (mingw-get.EXEEXT): Use it. + + * src/clistub.c (options): Remove redundant declaration of `-v' as a + long form option. + +2011-05-29 Keith Marshall + + Implement user selection of traceable features at run-time. + + * src.pkgopts.h (OPTION_VERBOSE_MAX): New macro; define it. + + * src/debug.h (DEBUG_ENABLED): New macro; define it. + (DEBUG_REQUEST, DEBUG_REQUEST_FLAGS, DEBUG_TRACE_DYNAMIC): Likewise. + + * src/clistub.c (main) [--trace]: Don't make it available unless... + [DEBUG_ENABLED(DEBUG_TRACE_DYNAMIC)]: ...this is set (at compile-time). + [--verbose]: Limit to OPTION_VERBOSE_MAX, using... + (atmost): ...this new macro; define it. + (options): Declare `-v' as both long and short form, pending bug fix + in MinGW's getopt_long_only() implementation. + + * src/pkginet.cpp (pkgInternetAgent::OpenURL): Use DEBUG_REQUEST. + (pkgInternetLzmaStreamingAgent::TransferData): Likewise. + (pkgInternetStreamingAgent::TransferData): Likewise. + (pkgInternetStreamingAgent::Get): Likewise. + + * src/pkgunst.cpp (pkgActionItem::SetAuthorities): Use DEBUG_REQUEST. + (pkg_rmdir, pkg_unlink): Likewise. + + * src/sysroot.cpp (pkgXmlDocument::LoadSystemMap): Use DEBUG_REQUEST. + +2011-05-21 Keith Marshall + + Implement protocol for processing global program options. + + * src/pkgopts.h: New file. + + * src/climain.cpp (cli_setopts): New function; implement it. + (pkgOptions): Likewise. + + * src/clistub.c (xatoi): New function; implement it. + (cli_setargv): New inline helper function; implement it. + (main): Use it. Also incorporate implementation of... + (parsed_options): New structure; it accommodates... + (verbose, trace): New options; interpret them, and... + (help_text): ...document them. + + * src/pkgbind.cpp (pkgRepository::GetPackageList): Make catalogue + loading notifications and progress reports conditional on... + [OPTION_VERBOSE > 1]: ...this. + +2011-05-18 Keith Marshall + + Augment known development status keywords and accept CMS labels. + + * src/pkginfo/pkginfo.l (CMS_KEYWORDS): Define new provisional list; + add transitional state scanner rule and code to interpret them. + (STATUS_KEYWORDS): Add "pre" and "rc" to existing list; modify scanner + code to maintain consistency with CMS_KEYWORDS processing; also extend + this coding strategy to other rules. + + * src/pkginfo/driver.c (spec): Strip initial '$' token from displayed + field values; (we expect it only for a CMS_KEYWORDS field value). + + * src/pkgreqs.cpp (pkgSpecs::GetTarName): Remove any initial '$' token + from PACKAGE_RELEASE_STATUS field, when performing reverse of tarname + decomposition transformation. + +2011-05-18 Keith Marshall + + Correct omission from 2011-02-18 commit. + + * src/tarproc.cpp (Copyright Notice): Add 2011 as year of release. + +2011-05-14 Keith Marshall + + mingw-get-0.2-mingw32-alpha-4 released. + + * configure.ac (AC_INIT): Adjust version number. + * srcdist-doc/NEWS.in: Updated; add bug-fix/feature descriptions. + * All files (r0-2-alpha-4): Tag assigned. + +2011-05-12 Keith Marshall + + Fix MinGW-Bug #3297660 (reported by Chris Sutcliffe). + + * src/pkgbase.h (pkgActionItem::SetAuthorities): Return unsigned long. + (pkgActionItem::HasAttribute): New inline method; implement it. + + * src/pkgtask.h (ACTION_DOWNLOAD, ACTION_DOWNLOAD_OK): New macros. + + * src/pkginet.cpp (pkgActionItem::DownloadArchiveFiles): + [ACTION_DOWNLOAD]: Assert it at commencement of each package download; + clear it again, on successful download completion. + + * src/pkginst.cpp (pkgtask.h): #include it. + (pkgInstall) [ACTION_DOWNLOAD]: Don't proceed with installation when + set; this indicates failed download; diagnose it. + + * src/pkgunst.cpp (pkgRemove) [ACTION_DOWNLOAD && ACTION_UPGRADE]: + Don't proceed with pre-emptive removal when both set; this indicates + failed download of replacement package; diagnose it. + +2011-05-12 Keith Marshall + + Fix MinGW-Bug #3295526 (reported by Charles Wilson). + + * src/pkgunst.cpp (sys/stat.h): #include it; we need it for... + (pkg_unlink): ...chmod( file, S_IWRITE ), emulating `rm -f' semantics. + +2011-05-12 Keith Marshall + + Diagnose and aggressively retry failed download connections. + + * src/debug.h (DEBUG_TRACE_INTERNET_REQUESTS): New macro; define it. + + * src/pkginet.cpp (debug.h): #include it. + (pkgDownloadMeter): New abstract class; declare it and implement its + default (non-abstract) data and methods; derive... + (pkgDownloadMeterTTY): ...this new class from it; implement it... + (pkgInternetStreamingAgent::Get): ...and instantiate it (naively for + now), as associated pkgDownloadMeter object; add tracing diagnostic. + (pkgInternetAgent::OpenURL): Don't inline it; move implementation out + of line; add retry loops to aggressively retry failed connections. + (pkgInternetAgent::QueryContentLength): New method; implement it. + (pkgInternetStreamingAgent::TransferData): Avoid Microsoft specific + data type `DWORD'; prefer equivalent standard `unsigned long'. Add + tracing diagnostic. Remove progress diagnostic; replace it with an + `Update' request to associated pkgDownloadMeter. + (pkgInternetLzmaStreamingAgent::GetRawData): Avoid `DWORD' data type. + (pkgInternetLzmaStreamingAgent::TransferData): Likewise; add tracing + diagnostic on failure. + +2011-03-31 Keith Marshall + + mingw-get-0.2-mingw32-alpha-3 released. + + * configure.ac (AC_INIT): Adjust version number. + * srcdist-doc/NEWS.in: Updated; add bug-fix description. + * All files (r0-2-alpha-3): Tag assigned. + +2011-03-30 Keith Marshall + + Provisional handling for http proxy authentication. + (Adapted from patch by Scott Michel ) + (ref: MinGW-Patch #3158453) + + * src/pkginet.cpp: Several format/layout adjustments; add comments. + Eliminate several instances of Microsoft specific typedef nastiness. + (dmh_dialogue_context): New macro; kludge definition to support... + (pkgInternetAgent::OpenURL) [HTTP_STATUS_PROXY_AUTH_REQ]: Detect + and handle it. + +2011-03-30 Keith Marshall + + Expand macros in path names for files and directories to be removed. + + * src/pkgunst.cpp (pkgRemove): Format sysroot as a template, so... + (pkg_rmdir, pkg_unlink): ...are able to use mkpath() to construct the + full path name for each file or directory to be removed. + +2011-03-29 Keith Marshall + + Correct defective activation logic for some debugging hooks. + + * src/pkgunst.cpp (pkg_rmdir, pkg_unlink) [DEBUG_INVOKE_IF]: + (pkgActionItem::SetAuthorities) [DEBUG_INVOKE_IF]: Use bit-wise `&' + operator, not `&&', to evaluate DEBUGLEVEL state. + +2011-03-22 Keith Marshall + + Avoid Unicode hyphens in generated ASCII document files. + + * Makefile.in (NROFF): New macro; define it to invoke `nroff -Tascii'. + (%.dist, readme.txt): Use it to ensure that output is pure ASCII. + +2011-03-15 Keith Marshall + + mingw-get-0.2-mingw32-alpha-2 released. + + * configure.ac (AC_INIT): Adjust version number. + * srcdist-doc/NEWS.in: Updated; add bug-fix description. + * All files (r0-2-alpha-2): Tag assigned. + +2011-03-15 Keith Marshall + + Fix MinGW-Bug 3212246. + + * src/keyword.c (has_keyword): Avoid incrementing the comparison + pointers when a significant character in one string is not matched in + the other; previously the pointers were left pointing one character to + the right of the mismatch, and this was overlooked if the mismatch + occurred at the rightmost character in both strings. + +2011-03-12 Keith Marshall + + mingw-get-0.2-mingw32-alpha-1 released. + + * configure.ac (AC_INIT): Set version number; correct capitalisation + in URI reference to bug reporting instructions. + + * srcdist-doc/NEWS.in: Confirm release date. + [bug reporting]: Remove redundant paragraph; the information is + provided, via reference to mingw.org. in the README and INSTALL files. + + * All files (r0-2-alpha-1): Tag assigned. + +2011-03-12 Keith Marshall + + * srcdist-doc/INSTALL.in [building]: Qualify liblzma.a requirement; + add earliest acceptable snapshot release date. + +2011-03-11 Keith Marshall + + Remove unused 7zip and boost source code from CVS trunk. + + * 7z: Directory and all content removed. + * boost: Likewise. + +2011-03-11 Keith Marshall + + Refactor and update existing installation and usage instructions. + + * src/clistub.c (help_text): Updated. + + * srcdist-doc: New directory. + + * README: Deleted; its content refactored into... + * srcdist-doc/README.in srcdist-doc/INSTALL.in srcdist-doc/NEWS.in: + ...these new template files, updated for current development state. + + * srcdist-doc/gendoc.sed.in: New sed script; it directs formatting of + generated text files derived from the srcdist-doc templates. + + * Makefile.in (SRCDIST_SUBDIRS): Add srcdist-doc. + (SRCDIST_FILES): Add NEWS and INSTALL. + (srcdist-doc): New build rule to generate README, NEWS and INSTALL. + (srcdist, licdist): Adjust path to locate them. + (readme.txt): New build rule to generate on-line package description. + (dist): Require it. + (distclean): Don't remove Makefile... + (maintainer-clean): ...but do it here instead. Also remove generated + README, NEWS and INSTALL, the autom4te cache, and all distributable + zip files, in addition to tarballs, for the current version. + +2011-02-27 Keith Marshall + + Initial implementation for "remove" feature. + + * src/pkgbase.h: Update copyright notice; add current year. + (pkgActionItem::SetPrimary): New inline public method; declare it. + (pkgActionItem::SetAuthorities): New public method; declare it. + + * src/pkgtask.h (ACTION_PREFLIGHT, ACTION_REMOVE_OK): New defines. + + * src/pkgproc.h: Update copyright notice; add current year. + (pkgManifest::GetSysRootReference): New public method; declare it. + (pkgManifest::GetRoot): New inline method; declare and implement it. + (pkgManifest::DetachSysRoot): Argument type changed to const char*. + (pkgRemove): New extern "C" function; declare it. + + * src/pkgexec.cpp (pkgActionItem::SetPrimary): Implement it, and... + (pkgXmlDocument::Schedule): ...use it to promote actions on all user + specified packages, as listed on the command line, to primary status. + (pkgActionItem::Execute): Repeatedly invoke... + (pkgActionItem::SetAuthorities): ...this; incorporate call of... + (pkgActionItem::DownloadArchiveFiles): ...this, within the loop, so + that we retry failed downloads at least a second time. + [ACTION_REMOVE]: Delete stub; invoke pkgRemove(). + + * src/pkgunst.cpp: New file. + (pkgActionItem::SetAuthorities): Implement it. + (pkgManifest::GetSysRootReference): Implement it. + (pkgManifest::DetachSysRoot): Implement it per new declaration. + (pkgRemove): Implement it. + + * Makefile.in (CORE_DLL_OBJECTS): Add pkgunst.OBJEXT + +2011-02-26 Keith Marshall + + Work-around for improper stderr buffering in MSYS mintty and rxvt. + (Merged from r0-1-alpha-5 branch). + + * src/dmh.cpp (dmhTypeTTY::emit_and_flush): New private method. + (dmhTypeTTY::printf, dmhTypeTTY::notify): Use it to force an fflush() + after each output record is written to stderr. + + * README: Update as appropriate. + +2011-02-18 Keith Marshall + + Tidy up some debugging hooks. + + * src/debug.h (DEBUG_INVOKED): New macro; define it. + (DEBUG_INVOKE_IF): Likewise; this takes arguments providing for + conditional invocation of code when DEBUGLEVEL is non-zero; make it + expand to nothing, when DEBUGLEVEL is zero. + (DEBUG_TRACE_INIT): Redefined macro; value changed to 0x0010. + (DEBUG_TRACE_TRANSACTIONS, DEBUG_SUPPRESS_INSTALLATION): + (DEBUG_UPDATE_INVENTORY): New macros; define them. + + * src/tarproc.cpp (pkgTarArchiveInstaller::ProcessDirectory): + (pkgTarArchiveInstaller::ProcessDataStream): Refactor debugging hooks; + implement them in terms of DEBUGLEVEL, with reference to... + (DEBUG_SUPPRESS_INSTALLATION, DEBUG_UPDATE_INVENTORY): ...these. + +2011-02-15 Keith Marshall + + Make package version comparisons more robust. + + Fixes an issue reported by Chris Sutcliffe: previously, version + comparisons were evaluated solely on the basis of differences in the + package version field itself. Henceforth, if this field compares as + equal, then the comparison is extended to also consider differences + between development phase qualifiers, and, if these too compare as + equal, to differences in the target subsystem version fields. + + * src/pkginfo/pkginfo.h (pkgSpecs::VersionComparator): New private + method; declare it. + + * src/pkgspec.cpp (pkgSpecs::VersionComparator): Implement it. + (pkgSpecs::operator<, pkgSpecs::operator<=, pkgSpecs::operator>=): + (pkgSpecs::operator>): Use it, replacing... + (version): ...this static function; now unreferenced; delete it. + + * src/vercmp.h (pkgVersionInfo::pkgVersionInfo): Make it inline; it + now delegates the entire class construction operation to... + (pkgVersionInfo::Parse): ...this new private method; declare it. This + is also used to facilitate implementation of... + (pkgVersionInfo::Reset): ...this new inline method, also requiring... + (pkgVersionInfo::FreeAll): ...this new inline method; also now used by + the class destructor, it encapsulates separate calls to... + (pkgVersionInfo::Free): ...this original inline method, renamed... + (pkgVersionInfo::FreeEntry): ...as this. + + * src/vercmp.cpp (pkgVersionInfo::Parse): Implement it. + +2011-02-13 Keith Marshall + + Merge from mingw-get-0.1-mingw32-alpha-5 bug-fix branch. + + * src/pkgdeps.cpp (pkgXmlDocument::ResolveDependencies): Promote + "install" action on new prerequisites, where a previously uninstalled + package is required to satisfy any "upgrade" dependency. + + * src/pkgexec.cpp (pkgActionList::Execute): Don't make misleading + claims concerning package removal. + + * src/pkgtask.h (STRICTLY_GT, STRICTLY_LT, ACTION_PRIMARY): Add one + level of parentheses around defining expressions. + +2011-02-10 Keith Marshall + + Publish mingw-get-0.0-mingw32-alpha-5.1 bug-fix release. + + * README: Updated to reflect changes. + +2011-02-08 Keith Marshall + + Improve diagnostics for failed GUI invocation. + + * src/guimain.cpp: New file; currently delivers only a diagnostic + stub, provided by Sze Howe Koh , to + pop-up a message block explaining why GUI mode cannot be invoked. + + * Makefile.in (GUI_LDFLAGS): New macro; it is required by... + (gui$EXEEXT): ...this new build rule; add to prerequisites of... + (all): ...this [default] build rule; redefine this in terms of... + (BIN_PROGRAMS, LIBEXEC_PROGRAMS, LIBEXEC_DATA): ...these new macros; + define them, and also use them as loop iterator objectives for... + (install, install_strip): ...these; also schedule them... + (clean): ...for removal by this. + + * src/clistub.c (Copyright): Add new year. + (main): Amend error message, if gui$EXEEXT doesn't start; make it + more intelligible to normal users. + +2011-02-07 Keith Marshall + + Correct omissions from packaged source tarball. + + * Makefile.in (Copyright): Add new year. + (SRCDIST_FILES): Add aclocal.m4 + (SRCDIST_SUBDIRS): Add m4 + +2011-01-05 Keith Marshall + + Reduce path names to base names, in some diagnostic message contexts. + + * src/climain.cpp: Update copyright notice for new year. + (climain): Extract base name from argv[0], to pass as program name tag + in initialisation of diagnostic message handler. + + * src/dmh.h, src/dmh.cpp: Update copyright notices; make some layout + adjustments, for more consistent formatting style. + + * src/pkgbind.cpp: Update copyright notice. + (pkgRepository::GetPackageList): Reduce path names for catalogue files + to their base names, when reporting them in diagnostic messages. + +2011-01-05 Keith Marshall + + Avoid a potential out-of-range action name look-up. + + * src/pkgdeps.cpp: Update copyright notice for new year. + (pkgXmlDocument::Schedule): Mask action code with ACTION_MASK, to + determine correct action name when diagnosing uninstalled package. + +2011-01-03 Keith Marshall + + Make "install" and "remove" notifications symmetric. + + * configure.ac (AC_INIT): Bump version to "0.1-alpha-6cvs". + (YEARS_OF_ISSUE): Add new year. + + * src/pkginst.cpp: Update copyright notice for new year. + (pkgInstall): Add notification for package being installed. + +2010-12-30 Keith Marshall + + Add preliminary CLI support for "list" and "show" actions. + + * src/pkgtask.h (ACTION_PRIMARY): New manifest constant; define it. + (ACTION_LIST, ACTION_SHOW): Likewise; cast to enumerated values for... + (action_list, action_show): ...these; define them. + + * src/pkgexec.cpp (action_name): Add defining text for... + (action_list, action_show): ...these. + + * src/climain.cpp: Partially revert 2010-11-01 change... + (climain) [! ACTION_UPDATE]: Reinstate original "if" block, moving + the "switch" block within it, but without the ACTION_UPDATE case. + [ACTION_LIST, ACTION_SHOW]: New "switch" cases; they invoke... + (pkgXmlDocument::DisplayPackageInfo): ...this new method. + + * src/pkgbase.h (pkgXmlDocument::DisplayPackageInfo): Declare it. + (pkgActionItem::ConfirmInstallationStatus): New method; declare it. + (pkgXmlNode::GetSysRoot): Make declaration style consistent with + others in the class; do not name arguments in the declaration. + (pkgXmlNode::FindFirstAssociate): Likewise. + (pkgXmlNode::FindNextAssociate): Likewise. + + * src/pkgshow.cpp: New file. + (pkgXmlDocument::DisplayPackageInfo): Implement it. + + * src/pkgdeps.cpp (pkgMsgUnknownPackage): New extern "C" function; + implement it temporarily, pending a future i18n reimplementation. + (assert_installed): Drop "inline" attribute; leave it as "static". + Set "tarname" correctly, to match the installed package version; (it + previously incorrectly returned the latest available version). + (pkgActionItem::ConfirmInstallationStatus): Implement it. + (pkgXmlDocument::Schedule) [ACTION_PRIMARY]: Set as appropriate. + (pkgXmlDocument::Schedule) [ACTION_REMOVE || ACTION_UPGRADE]: Complain + if requested package is not recorded as having been installed. + (pkgXmlDocument::ResolveDependencies) [! ACTION_INSTALL]: Do not + invoke it recursively. + + * Makefile.in (pkgshow.$OBJEXT): Add reference. + +2010-11-01 Keith Marshall + + Lay groundwork for implentation of additional actions. + + * src/climain.cpp (climain): Adjust indentation; replace `if' block... + [action != ACTION_UPDATE]: ...with this default `switch' case, and... + [action == ACTION_UPDATE]: ...this as explicit "do nothing" case. + +2010-10-29 Keith Marshall + + mingw-get-0.1-mingw32-alpha-5 released. + + * configure.ac (AC_INIT): Bump version to 0.1-alpha-5. + * README: Update release notes accordingly. + * All files (r0-1-alpha-5): Tag assigned. + +2010-10-22 Keith Marshall + + Make pkgInitRites/pkgLastRites processing more robust; + avoid a potential race condition in mingw-get-inst. + + * src/rites.c: Refactor conditional code to segregate execution of... + [defined IMPLEMENT_INITIATION_RITES]: ...this into distinct phases. + (PHASE_ONE_RITES, PHASE_TWO_RITES): Define constants to identify them. + (do_init_rites): Renamed to... + (invoke_rites): ...this; inline it. + (pkgLastRites): Invoke it, to pre-empt rename action of... + (lastrites.exe): ...this, subsequently exec()ed process. + (perror): Issue more informative diagnostic on exec() failure. + + * src/clistub.c (IMPLEMENT_INITIATION_RITES): Stipulate as... + (PHASE_ONE_RITES): ...this phase of implementation only. + + * src/pkgexec.cpp (IMPLEMENT_INITIATION_RITES): Define to provide... + (PHASE_TWO_RITES): ...this phase of implementation, facilitated by... + (self_upgrade_rites): ...this locally defined RITES_INLINE function. + (pkgActionItem::Execute): Invoke it, in remove/install loop, while... + [init_rites_pending]: ...new loop local variable remains true. + +2010-09-10 Charles Wilson + + Fix packaging bug in -lic package. + + * Makefile.in (licdist): Use directory named + "share", not "shared". + +2010-09-10 Charles Wilson + + mingw-get-0.1-mingw32-alpha-4 released. + + * All files (r0-1-alpha-4): Tag assigned. + +2010-09-10 Charles Wilson + + Add rudimentary help option. + + * README: Update release notes. + + * src/clistub.c: Add --help option. + 2010-09-10 Charles Wilson Fix "mingw-get deletes itself" bug in last rites handling. @@ -13,7 +1253,7 @@ (abort_if_fatal): If DMH_FATAL, throw dmh_exception rather than calling exit(). - * src/climain.cpp (climain): Wrap entry function body in try/ + * src/climain.cpp (climain): Wrap entire function body in try/ catch block. If dmh_exception is caught, return EXIT_FAILURE. * src/clistub.c (main): Capture return value of climain(). If