OSDN Git Service

Fix "mingw-get deletes itself" bug in last rites handling.
[mingw/mingw-get.git] / ChangeLog
index 7afb6c6..c4810c1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,152 @@
+2010-09-10  Charles Wilson  <mingw@cwilson.fastmail.fm>
+
+       Fix "mingw-get deletes itself" bug in last rites handling.
+
+       * README: Add new release notes.
+
+       * configure.ac: Bump version to 0.1-alpha-4.
+
+       * src/dmh.h: If __cplusplus, include <exception> and
+       declare dmh_exception class.
+
+       * src/dmh.cpp (class dmh_exception): Implement.
+       (abort_if_fatal): If DMH_FATAL, throw dmh_exception rather
+       than calling exit().
+
+       * src/climain.cpp (climain): Wrap entry function body in try/
+       catch block. If dmh_exception is caught, return EXIT_FAILURE.
+
+       * src/clistub.c (main): Capture return value of climain(). If
+       non-zero, perform last rites and return EXIT_FAILURE.
+
+2010-08-30  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       mingw-get-0.1-mingw32-alpha-3 released.
+
+       * README: Add new release notes.
+
+       * All files (r0-1-alpha-3): Tag assigned.
+
+2010-08-27  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Add runtime hooks to support self-upgrade for future releases.
+
+       * src/rites.c: New file; compile it free-standing, to provide...
+       (lastrites.exe): ...this helper application for context clean-up;
+       alternatively, use it as an include file, with pre-definition of...
+       (IMPLEMENT_INITIATION_RITES): ...this, to implement...
+       (pkgInitRites, pkgLastRites): ...these inline functions.
+
+       * src/clistub.c (main) [argc > 1]: Use them.
+       (progname): New local variable within `main'; set it once, then use it
+       instead of repeated references to `basename(*argv)' in diagnostics.
+       (MINGW_GET_DLL, MINGW_GET_GUI): Relocate to `src/rites.c'.
+
+       * src/debug.h (DEBUG_INHIBIT_RITES_OF_PASSAGE):
+       (DEBUG_FAIL_FILE_RENAME_RITE, DEBUG_FAIL_FILE_UNLINK_RITE): New
+       defines; they facilitate debugging of the src/rites.c code.
+
+       * Makefile.in (lastrites$EXEEXT): New target; build as prerequisite...
+       (all): ...of this primary target.
+       (install, install-strip): Install it.
+       (SRCDIST_FILES): Remove install-sh; it is now included in...
+       (build-aux): ...this directory; add it to...
+       (SRCDIST_SUBDIRS): ...this.
+
+2010-08-24  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Set default sysroots relative to mingw-get installation directory.
+
+       * xml/profile.xml (system-map) [name == default]: For each of...
+       [subsystem == mingw32]: ...set sysroot path to value of %R macro...
+       [subsystem == msys]: ...and to its %R/msys/1.0 subdirectory.
+
+2010-08-19  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Some dependency resolver enhancements and bug fixes.
+
+       * src/pkgbase.h (pkgXmlNode::GetContainerAttribute): New method;
+       declare it.
+
+       * src/pkgdeps.cpp (pkgXmlNode::GetContainerAttribute): Implement it;
+       it is used to retrieve package name attributes from the containing
+       'package' element, when given a pointer to a 'release' element by...
+       (assert_unmatched, assert_installed): ...these new static functions.
+       (pkgXmlDocument::Schedule): Use them to reconstruct and register
+       dependency reference data for previously installed packages which are
+       no longer included in the distribution manifest.
+       (pkgXmlDocument::ResolveDependencies): Fix a block nesting error;
+       catch and diagnose unresolved dependencies; don't look beyond the XML
+       document root node, (tinyxml error not caught?), when searching for
+       requirements specified on container nodes.
+
+2010-08-17  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Improve scheduling of package processing requests.
+
+       * src/pkgexec.cpp (pkgXmlDocument::Schedule): Inspect entire `actions'
+       list, when checking for duplicate package processing requests; decline
+       to schedule any such duplicate, or any request which lacks a package
+       association.
+
+2010-08-15  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Lay foundation for selective compilation of debugging code.
+
+       * src/debug.h: New file...
+       * src/sysroot.cpp: Include it.
+       (pkgXmlDocument::LoadSystemMap): Make debugging output conditional...
+       [DEBUGLEVEL & DEBUG_TRACE_INIT]: ...on this new debugging state.
+
+2010-08-15  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       * src/pkgkeys.h: Typo in comment: file was previously identified as
+       pkgkeys.c; corrected.
+
+2010-08-13  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Improve diagnostics for invalid references to non-release XML nodes.
+
+       * src/pkgkeys.h (value_unknown): New global string; declare it.
+       * src/pkgkeys.c (value_unknown): Implement it.
+
+       * src/pkgname.cpp (pkgArchiveName): Identify XML element type when
+       diagnosing references to elements of types other than release; use...
+       (value_unknown): ...this, as appropriate.
+
+2010-08-12  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Guard against a potential buffer overrun.
+
+       * src/pkgreqs.cpp (pkgSpecs::SetProperty): Allocate an additional
+       byte to accommodate an extra field separator, when inserting a new
+       data value into a previously empty field.
+
+2010-07-27  Cesar Strauss  <cestrauss@gmail.com>
+
+       Handle the GNU long name tar header format.
+
+       * src/pkgproc.h (TAR_ENTITY_TYPE_GNU_LONGNAME): New manifest constant;
+       define it.
+       (pkgTarArchiveProcessor::EntityDataAsString): New protected method;
+       declare and...
+       * src/tarproc.cpp: ...implement it.
+       (pkgTarArchiveProcessor::Process): Before building the entry pathname,
+       check for a GNU long name type header; when found, read pathname from
+       the entry data area, before fetching the following header, from which
+       to retrieve the associated entity data.
+
+2010-06-24  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Work around an autoconf bug (reported by Stefano Sabatini).
+
+       * Makefile.in (VPATH): Use @top_srcdir@ instead of ${srcdir}; current
+       autoconf incorrectly elides references to @srcdir@ and ${srcdir} when
+       substituting within a VPATH specification for building `in-source'.
+       Also, prefer colons to blanks as path name separators, for improved
+       portability to non-GNU implementations of make; (recommendation by
+       Ralf Wildenhues).
+
 2010-06-24  Keith Marshall  <keithmarshall@users.sourceforge.net>
 
        Include alias search, when matching component package name.