OSDN Git Service

Collect distributable package files in user specified directory.
[mingw/mingw-get.git] / ChangeLog
index deff34f..14bfb06 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,156 @@
+2013-06-14  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Collect distributable package files in user specified directory.
+
+       * Makefile.in (distdir): New macro; define default as abs_builddir.
+       (srcdist, bindist, licdist): Use it; direct generated tarballs to it.
+       (%.txt.dist): New pattern rule; define, and use it to make a copy...
+       (readme.txt): ...of this, in distdir, when processing...
+       (dist): ...this build objective.
+
+2013-06-14  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Handle Microsoft's 32-bit vs. 64-bit time_t ambiguity.
+
+       * src/apihook.c: New file; it provides...
+       (have_api): ...this helper; it checks for availability of any specific
+       API function, within a specific system DLL, (MSVCRT.DLL by default).
+
+       * src/tarproc.cpp (have_utime64_api): New inline function; it wraps...
+       (have_api): ...this, to check whether MSVCRT.DLL provides...
+       (commit_saved_entity) [_utime64]: ...this; use if available, else...
+       (commit_saved_entity) [!_utime64]: ...fall back to using...
+       (utime): ...this.
+
+       * Makefile.in (CORE_DLL_OBJECTS): Add apihook.$OBJEXT
+
+2013-06-13  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Facilitate package extraction and registration at setup time.
+
+       * src/pkgproc.h (IMPLEMENTATION_LEVEL): Add filters to facilitate
+       implementation of distinct setup time archive processing behaviour.
+       (pkgArchiveProcessor::save_on_extract): New property; declare it.
+       (pkgArchiveProcessor::SaveExtractedFiles): New method; implement it.
+       (pkgArchiveProcessor::SetOutputStream): New method; declare it.
+
+       * src/tarproc.cpp (IMPLEMENTATION_LEVEL): Add filters to implement
+       distinct setup time specific archive processing behaviour.
+       (pkgArchiveProcessor::SetOutputStream): Implement it.
+       (pkgTarArchiveExtractor::ProcessDataStream): Use it.
+       (pkgTarArchiveInstaller::ProcessDataStream): Likewise.
+
+2013-06-13  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Implement some GUI progress metering dialogue enhancements.
+
+       * src/pkgbase.h (pkgProgressMeter): Don't pre-empt private features
+       of derived progress metering classes; hence, we no longer need this...
+       (AppWindowMaker): ...as a forward class declaration; delete it.
+
+       * src/guimain.rc (IDD_REPO_UPDATE): Resize, and adjust layout.
+       (IDD_PROGRESS_VAL, IDD_PROGRESS_MAX, IDD_PROGRESS_PCT): Add these
+       dialogue box progress counter display elements.
+
+       * src/pkgbind.cpp (pkgRepository::GetPackageList): Adjust style of
+       progress status messages, to suit reporting via GUI dialogue box or
+       CLI console, as appropriate.
+
+       * src/guiexec.cpp (ProgressMeterMaker): Redefine class, in terms of...
+       (PROGRESS_METER_CLASS): ...this new generic class name macro.
+       Reimplement private members, previously inherited from base class;
+       adjust class constructor to ensure that they are initialised.
+       Delete explicit destructor; a default destructor is now sufficient.
+       (ProgressMeterMaker::SetRange, ProgressMeterMaker::SetValue):
+       (ProgressMeterMaker::Annotate): Factor out; reimplement them...
+
+       * src/pmihook.cpp: ...in this new file, as generalised methods of...
+       (PROGRESS_METER_CLASS): ...the class named by this macro.
+       (PROGRESS_METER_CLASS::PutVal): New private method; implement it.
+
+2013-05-31  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Avoid a potential macro definition conflict.
+
+       * src/pkgbase.h (strcasecmp) [__MINGW32__]: Use string.h definition.
+
+2013-05-15  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Streamline build-time dependency tracking procedures.
+
+       * Makefile.in (DEPFLAGS): Adjust for simultaneous .o/.d generation.
+       (RC_DEPFLAGS): New macro; define dependency generation flags for the
+       resource compiler, which can't handle the new DEPFLAGS methodology.
+       (%.c, %.cpp, %.rc): Simplify $OBJEXT generation procedures.
+       (%.time): Remove redundantly replicated build-time procedure from...
+       (%.tagged.time): ...this; just make it a prerequisite.
+
+2013-05-15  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Add resources for specification of product version.
+
+       * src/verinfo.rc src/verinfo.h.in: New files; included by...
+       * src/guimain.rc: ...this, whence also specify version information...
+       (VERINFO_FILE_NAME, VERINFO_INTERNAL_NAME, VERINFO_FILE_DESCRIPTION):
+       (VERINFO_FILE_VERSION, VERINFO_FILE_VERSION_STRING): ...per these new
+       manifest constant macros; define them, with propagation to...
+       (ID_MAIN_WINDOW_CAPTION): ...this; keep it consistent.
+
+       * Makefile.in (TAG_SCRIPT): Include invocation for...
+       (PACKAGE_VERINFO_SCRIPT): ...this new macro; defined to interpret...
+       (PACKAGE_VERINFO_PRODUCT_VERSION): ...this new substitution template;
+       it is used in src/verinfo.h.in, whence verinfo.h is generated.
+       (RC_INCLUDES): Add current working directory, for...
+       (verinfo.h): ...this; add rule and dependencies to generate it.
+
+2013-05-14  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Make application manifest resource definition reusable.
+
+       * src/manifest.rc: New file; factor content from...
+       * src/guimain.rc: ...here, whence include it.
+
+2013-05-08  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Extend DMH services to delay-loaded DLL clients.
+
+       * src/dmhcore.h (dmh_bind): New function; declare it.
+       * src/dmhcore.cpp (dmh_bind): Implement it; it provides an API through
+       which the setup tool makes its existing DMH services available to post
+       install hooks in mingw-get-0.dll, which cannot be loaded until after
+       the providing package has been downloaded and unpacked.
+
+2013-05-08  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Avoid unnecessary command line globbing in GUI applications.
+
+       * src/guimain.cpp src/guistub.cpp (_CRT_glob): Declare as extern "C";
+       initialise to zero, so overriding the runtime start-up default.
+
+       * src/rites.c [! IMPLEMENT_INITIATION_RITES] (_CRT_glob): Initialise
+       to zero here too; lastrites.exe doesn't need globbing either.
+
+2013-05-04  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Address some GCC-4.7 string initialisation warnings.
+
+       * src/pkglist.cpp (AppWindowMaker::InitPackageListView): Declare all
+       headings[].text initialisers as 'const'; cast to 'char *' as required.
+       (pkgListViewMaker::Dispatch): Ditto, when inserting the 'const' empty
+       string into the list, as a component class value.
+
+       * src/pkgdata.cpp (AppWindowMaker::InitPackageTabControl): Declare all
+       TabLegend[] initialisers as 'const'; cast to 'char *' as required.
+
+2013-05-02  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Correct a spin wait thread synchronisation issue.
+
+       * src/pkgnget.cpp (pkgDownloadMeterGUI::SpinWait): Handle stop
+       requests explicitly; acknowledge when waiting thread has stopped.
+       (pkgDownloadMeterGUI::SpinWaitAction): Raise explicit stop requests;
+       wait for acknowledgement that waiting thread has stopped.
+
 2013-04-23  Keith Marshall  <keithmarshall@users.sourceforge.net>
 
        Select compressed data streaming filters for use by setup tool.