OSDN Git Service

Don't require subsystem within user specified version bounds.
authorKeith Marshall <keithmarshall@users.sourceforge.net>
Sun, 15 Apr 2012 18:31:32 +0000 (18:31 +0000)
committerKeith Marshall <keithmarshall@users.sourceforge.net>
Sun, 15 Apr 2012 18:31:32 +0000 (18:31 +0000)
ChangeLog
src/pkgdeps.cpp

index 4a380c9..662b9c7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,16 @@
+2012-04-15  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       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  <mingw@cwilson.fastmail.fm>
 
        Fix missing include.
 
-       * src/pkgdeps.cpp: Include pkgopts.h.
+       * 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  <keithmarshall@users.sourceforge.net>
 
index 3249090..bb80407 100644 (file)
@@ -788,12 +788,22 @@ void pkgActionItem::ApplyBounds( pkgXmlNode *release, const char *bounds )
     pkgSpecs usrspec( spec_string );
 
     /* ...then extract the version fields of interest, and insert them
-     * into the actual working reference specification.
+     * into the actual working reference specification...
      */
     refspec.SetPackageVersion( usrspec.GetPackageVersion() );
     refspec.SetPackageBuild( usrspec.GetPackageBuild() );
-    refspec.SetSubSystemVersion( usrspec.GetSubSystemVersion() );
-    refspec.SetSubSystemBuild( usrspec.GetSubSystemBuild() );
+    if( (refname = usrspec.GetSubSystemVersion()) != NULL )
+    {
+      /* ...including the subsystem version, if any, which the user may
+       * have specified...
+       */
+      refspec.SetSubSystemVersion( refname );
+      refspec.SetSubSystemBuild( usrspec.GetSubSystemBuild() );
+    }
+    else
+      /* ...or allowing a wild-card match otherwise.
+       */
+      refspec.SetSubSystemVersion( "*" );
 
     /* Convert the reference specification to "tarname" format...
      */