1 2010-01-26 Keith Marshall <keithmarshall@users.sourceforge.net>
3 Implement rudimentary dependency resolver.
5 * src/pkgdeps.cpp: New file.
7 * Makefile.in (CORE_DLL_OBJECTS): Add pkgdeps.$(OBJEXT) reference;
8 establish header file dependencies.
10 * src/pkgbase.h (to_remove, to_install, selection_types): New enum.
11 (pkgActionItem::selection): Extend it to store as enumerated pair...
12 (pkgActionItem::SelectPackage): New inline method; assign them.
13 (pkgActionItem::Selection): New inline method; retrieve them.
14 (pkgXmlNode::GetInstallationRecord): New method; declare it.
16 * src/pkgexec.cpp (pkgActionItem): In constructor...
17 (selection): ...initialise both references in enumerated pair.
18 (pkgActionItem::GetReference): Use `Selection()' method.
19 (pkgActionItem::SelectIfMostRecent): Ditto; also correct logic for
20 making selection, and assign to `to_install' element.
21 (pkgXmlDocument::Schedule): Don't update `request'.
22 (pkgActionItem::Execute): Implement as stub.
24 * src/pkginet.cpp (pkgActionItem::DownloadArchiveFiles): Use new
27 * src/pkgkeys.h (yes_value, no_value): Declare new string constants.
28 * src/pkgkeys.c (yes_value, no_value): Implement them.
30 * src/vercmp.cpp: Update copyright notice.
31 (pkgVersionInfo::operator<=): Bug fix; must test for `<', but had `>'.
33 2010-01-23 Keith Marshall <keithmarshall@users.sourceforge.net>
35 Avoid segmentation faults when processing invalid data streams.
37 * src/pkgstrm.h: Update copyright notice.
38 (pkgArchiveStream::IsReady): New pure virtual method.
39 (pkgRawArchiveStream::IsReady): Provide inline implementation.
40 (pkgGzipArchiveStream::IsReady): Likewise.
41 (pkgBzipArchiveStream::IsReady): Likewise.
42 (pkgLzmaArchiveStream::IsReady): Likewise.
43 (pkgXzArchiveStream::IsReady): Likewise.
45 * src/pkgstrm.cpp: Update copyright notice.
46 (pkgLzmaArchiveStream, pkgXzArchiveStream) [fd == -1]: Decline to
47 perform any form of read or decode processing.
49 * src/pkginet.cpp (pkgInternetLzmaStreamingAgent): Use `fd = -2' as
50 pseudo-descriptor for the pkgLzmaArchiveStream derived component of
51 this internet data streaming class.
53 2010-01-23 Keith Marshall <keithmarshall@users.sourceforge.net>
55 Require liblzma >= liblzma-4.999.9beta_20091209-3-mingw32-dev
57 * src/pkgstrm.h (LZMA_API_STATIC): Remove definition and associated
58 comment; it was required to permit, (but not to enforce), linking to
59 the static liblzma.a library, with earlier beta releases, but this
60 anomaly has now been corrected.
62 2010-01-22 Keith Marshall <keithmarshall@users.sourceforge.net>
64 Remove zlib sources from trunk.
65 (Application builders should use free standing implementation of
66 zlib, from MinGW's package distribution page on SourceForge).
68 2010-01-22 Keith Marshall <keithmarshall@users.sourceforge.net>
70 Remove bzip2 sources from trunk.
71 (Application builders should use free standing implementation of
72 bzip2, from MinGW's package distribution page on SourceForge).
74 2010-01-22 Keith Marshall <keithmarshall@users.sourceforge.net>
76 Add subsystem specific sysroot mapping facility.
78 * src/pkghash.c: New file; required by...
79 * src/sysroot.cpp: New file; it implements...
80 (pkgXmlDocument::LoadSystemMap, pkgXmlNode::GetSysRoot): New methods.
82 * src/pkgbase.h: Update copyright notice.
83 (pkgXmlDocument::LoadSystemMap): Declare it.
84 (pkgXmlDocument::AddDeclaration): New inline method.
85 (pkgXmlDocument::SetRoot, pkgXmlDocument::Save): Likewise.
86 (pkgXmlNode::GetSysRoot): Declare it.
87 (pkgXmlNode::GetDocumentRoot): New inline method.
88 (pkgXmlNode::AddChild, pkgXmlNode::DeleteChild): Likewise.
90 * src/climain.cpp: Update copyright notice.
91 (climain): Invoke pkgXmlDocument::LoadSystemMap() as required.
93 * Makefile.in (CORE_DLL_OBJECTS): Add ...
94 (pkghash.$(OBJEXT), sysroot.$(OBJEXT)): ...these; upate dependencies.
95 (DEBUGLEVEL): New macro; define it.
98 2010-01-16 Keith Marshall <keithmarshall@users.sourceforge.net>
100 Assign standardised keys for XML database lookup.
102 * src/pkgkeys.h: New file; provide public key declarations.
103 * src/pkgkeys.c: New file; implement them.
105 * src/pkgbind.cpp: Use them; update copyright notice.
106 * src/pkgexec.cpp, src/pkgfind.cpp, src/pkginet.cpp: Likewise.
107 * src/pkgname.cpp, src/pkgspec.cpp: Likewise.
109 * Makfile.in (CORE_DLL_OBJECTS): Add pkgkeys.$(OBJEXT); update all
110 dependencies accordingly.
112 2010-01-08 Keith Marshall <keithmarshall@users.sourceforge.net>
114 Add CLI version reporting option.
116 * configure.ac: Update copyright notice for new year.
117 (COPYRIGHT_HOLDER): New AC_SUBST variable; define it.
118 (YEARS_OF_ISSUE): New AC_SUBST variable; define it.
119 (AC_CONFIG_FILES): Add `version.c'; source it from...
121 * version.c.in: ...this new file.
123 * Makefile.in: Update copyright notice for new year.
124 (mingw-get$(EXEEXT)): Add dependency on `version.$(OBJEXT)'.
125 (distclean): Add `version.c'.
127 * configure: Regenerated.
129 * src/clistub.c: Update copyright notice for new year.
130 (options): New array of `struct option'; define and use it as the
131 reference for `argv' parsing with `getopt_long_only()'.
133 2009-12-17 Keith Marshall <keithmarshall@users.sourceforge.net>
135 Add CLI support for "update" action.
137 * src/pkgtask.h (ACTION_UPDATE): Define it, derived from...
138 (action_update): ...this new entry in anonymous enumeration.
140 * src/pkgexec.cpp (action_name): Add "update" keyword identification.
142 * src/pkgbase.h: Typo in comment; s/xwXmlDocument/wxXmlDocument/.
143 (pkgXmlDocument::BindRepositories): Add `force_update' parameter...
144 * src/pkgbind.cpp (pkgXmlDocument::BindRepositories): Use it to...
145 (pkgXmlDocument::SyncRepository): ...invoke this method when passed as
146 a `true' flag, in addition to (as previously) first time reference.
148 * src/climain.cpp (climain): Interpret "update" keyword for...
149 [ACTION_UPDATE]: ...passing state as `force_update' parameter to...
150 (pkgXmlDocument::BindRepositories): ...this method, then...
151 [!ACTION_UPDATE]: Follow with normal action processing.
153 2009-12-16 Keith Marshall <keithmarshall@users.sourceforge.net>
155 Add status checking for Internet URL connections.
157 * src/pkginet.cpp (pkgInternetAgent::QueryStatus): New method.
158 (pkgInternetStreamingAgent::Get): Use it; set `dl_status' as return
159 value, deferring failure diagnostics to callers, i.e. to...
160 (pkgXmlDocument::SyncRepositories): ...this, and to...
161 (pkgActionItem::DownloadArchiveFiles): ...this.
163 2009-11-23 Keith Marshall <keithmarshall@users.sourceforge.net>
165 Add package download and repository synchronisation machinery.
167 * src/pkgstrm.h: New header file.
169 * src/pkgbind.cpp, src/pkginet.cpp, src/pkgstrm.cpp,
170 src/pkgfind.cpp, src/pkgname.cpp, src/keyword.c: New files.
171 * Makefile.in (CORE_DLL_OBJECTS): Add build goals for them.
173 * xml: New directory.
175 * src/climain.cpp (climain): Establish repository bindings from...
176 * xml/profile.xml: ...this new configuration file.
178 2009-11-16 Keith Marshall <keithmarshall@users.sourceforge.net>
180 Add XML database bindings and preliminary action executive for CLI.
182 * src/pkgbase.h, src/pkgtask.h,
183 src/mkpath.h, src/vercmp.h: New header files.
185 * src/climain.cpp, src/pkgexec.cpp, src/pkgspec.cpp,
186 src/mkpath.c, src/vercmp.cpp, src/xmlfile.c: New files.
188 * Makefile.in (CORE_DLL_OBJECTS): Define initial set of files...
189 (mingw-get-0.dll): ...build them into this new DLL target; add it...
190 (all): ...as prerequisite for this primary build goal.
192 2009-11-12 Keith Marshall <keithmarshall@users.sourceforge.net>
194 Avoid some potential GCC warnings.
196 * src/clistub.c: Include process.h for `execv' prototype...
197 (main): Cast `argv' to appropriately matched type when calling it.
199 * src/pkginfo/driver.c: Include stdlib.h for `free' prototype.
201 2009-11-11 Keith Marshall <keithmarshall@users.sourceforge.net>
203 Create diagnostic message handler for CLI usage.
205 * src/dmh.h: New header file; it defines the public interface.
206 * src/dmh.cpp: New file; it implements the message handler.
208 2009-11-05 Keith Marshall <keithmarshall@users.sourceforge.net>
210 Correct some identified TinyXML issues.
212 * tinyxml/tinyxml.h (IsWhiteSpace): Add FIXME annotation to flag
213 probable redundancy of checks for '\n' and '\r'.
214 * tinyxml/tinyxmlparser.cpp: Revert John E's 2008-08-09 change; remove
215 all such redundancies in IsWhiteSpace() calls throughout.
217 * tinyxml/tinyxml.cpp (TiXmlAttribute::SetDoubleValue): Correct format
218 specification in sprintf()/snprintf() calls; "%lf" is invalid; replace
221 2009-10-31 Keith Marshall <keithmarshall@users.sourceforge.net>
225 * src/clistub.c: New file.
226 * Makefile.in: Add build rule for it; build as...
227 (mingw-get.exe): ...this; also add to...
228 (clean): ...this goal.
230 2009-10-31 Keith Marshall <keithmarshall@users.sourceforge.net>
232 Set up build mechanism.
234 * configure.ac, Makefile.in: New files.
235 * .cvsignore (configure, autom4te.cache): Add to ignored files.
237 2009-10-30 Keith Marshall <keithmarshall@users.sourceforge.net>
239 Add GPL-v3 licensing terms.
241 * COPYING: New file, sourced from gnu.org.
243 2009-10-12 Keith Marshall <keithmarshall@users.sourceforge.net>
245 Add pkginfo implementation.
247 * src, src/pkginfo: New directories.
248 * src/pkginfo/pkginfo.h, src/pkginfo/pkginfo.l: New files.
249 * src/pkginfo/driver.c: New file.
251 2009-10-12 Keith Marshall <keithmarshall@users.sourceforge.net>
255 * All files (tdm-branch): Assign new branch tag.
256 * All top-level files: Remove from trunk.
257 * ChangeLog: New file.