• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
Keine Tags

Frequently used words (click to add to your profile)

javaandroidc++linuxc#objective-ccocoa誰得qtrubybathyscaphegamephpguicwindows翻訳pythonomegattwitterframeworkbtronarduinovb.net計画中(planning stage)directxpreviewertestゲームエンジンdom

The MinGW.org Installation Manager Tool


Commit MetaInfo

Revision69410fbd83c01c585518227314ff53c7d1c96222 (tree)
Zeit2013-10-18 13:20:14
AutorKeith Marshall <keithmarshall@user...>
CommiterKeith Marshall

Log Message

Don't attempt to resolve dependencies for unidentified packages.

Ändern Zusammenfassung

Diff

--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
11 2013-10-18 Keith Marshall <keithmarshall@users.sourceforge.net>
22
3+ Don't attempt to resolve dependencies for unidentified packages.
4+
5+ * src/pkgdeps.cpp (pkgXmlDocument::ResolveDependencies):
6+ [selected == NULL]: Current dependency is unresolved; do not make any
7+ recursive call for this unidentified requirement. This avoids posting
8+ misleading "can't get 'tarname' for non-release element <<<unknown>>>"
9+ diagnostic messages, where the subsequent "unresolved dependency"
10+ message is sufficient; include dmhmsgs.h, and add...
11+ (PKGMSG_SPECIFICATION_ERROR): ...this preamble instead.
12+
13+2013-10-18 Keith Marshall <keithmarshall@users.sourceforge.net>
14+
315 Implement foundation for future NLS enabled diagnostics.
416
517 * src/dmhmsgs.h: New file; it declares the NLS capable DMH interface.
--- a/src/pkgdeps.cpp
+++ b/src/pkgdeps.cpp
@@ -30,6 +30,7 @@
3030 #include <string.h>
3131
3232 #include "dmh.h"
33+#include "dmhmsgs.h"
3334 #include "debug.h"
3435
3536 #include "pkginfo.h"
@@ -501,10 +502,13 @@ pkgXmlDocument::ResolveDependencies( pkgXmlNode* package, pkgActionItem* rank )
501502
502503 /* Regardless of the action scheduled, we must recursively
503504 * consider further dependencies of the resolved prerequisite;
505+ * (but note that attempting to do this would be pointless if
506+ * the prerequisite package could not be identified).
507+ *
504508 * FIXME: do we need to do this, when performing a removal?
505509 * Right now, I (KDM) don't think so...
506510 */
507- if( (request & ACTION_INSTALL) != 0 )
511+ if( (selected != NULL) && ((request & ACTION_INSTALL) != 0) )
508512 ResolveDependencies( selected, rank );
509513 }
510514
@@ -518,6 +522,7 @@ pkgXmlDocument::ResolveDependencies( pkgXmlNode* package, pkgActionItem* rank )
518522 const char *requestor = refpkg->GetPropVal( tarname_key, value_unknown );
519523
520524 dmh_control( DMH_BEGIN_DIGEST );
525+ dmh_notify( DMH_ERROR, PKGMSG_SPECIFICATION_ERROR );
521526 dmh_notify( DMH_ERROR, "%s: requires...\n", requestor );
522527 for( int i = 0; i < sizeof( key ) / sizeof( char* ); i++ )
523528 if( (ref = dep->GetPropVal( key[i], NULL )) != NULL )