]> cygwin.com Git - cygwin-apps/setup.git/commitdiff
2002-05-20 Robert Collins <rbtcollins@hotmail.com>
authorRobert Collins <rbtcollins@hotmail.com>
Mon, 20 May 2002 07:03:18 +0000 (07:03 +0000)
committerRobert Collins <rbtcollins@hotmail.com>
Mon, 20 May 2002 07:03:18 +0000 (07:03 +0000)
        * package_meta.cc (packagemeta::set_action): Don't allow reinstall
        when local with no cached file, and install the default source if the
        default version has no binary.

ChangeLog
package_meta.cc

index 6a27f2e34c40da31492e0a6e7a58dbab4fbc333a..57d5a6ff4a35bb5d7f906abd9217d91f86727378 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2002-05-20  Robert Collins  <rbtcollins@hotmail.com>
+
+       * package_meta.cc (packagemeta::set_action): Don't allow reinstall
+       when local with no cached file, and install the default source if the
+       default version has no binary.
+
 2002-05-19  Robert Collins  <rbtcollins@hotmail.com>
 
        * IniDBBuilderPackage.cc (IniDBBuilderPackage::IniDBBuilderPackage): New
index bf4bbd765da1311133562e5e1593d052054435cb..cc78c411e4808584310ceb912957cd1f6a5f656e 100644 (file)
@@ -318,8 +318,14 @@ packagemeta::set_action (packageversion * default_version)
        }
       return;
     }
-  else if (desired == installed
-          && (!installed || !(installed->binpicked || installed->srcpicked)))
+  else if (desired == installed &&
+          (!installed || 
+           // neither bin nor source are being installed
+           (!(installed->binpicked || installed->srcpicked) &&
+            // bin or source are available
+            ((installed->bin.sites.number() || desired->bin.Cached()) ||
+             (installed->src.sites.number() || desired->src.Cached()))))
+          )
     /* Install the default trust version - this is a 'reinstall' for installed
        * packages */
     {
@@ -328,7 +334,10 @@ packagemeta::set_action (packageversion * default_version)
       desired = default_version;
       if (desired)
        {
-         desired->binpicked = 1;
+         if (desired->bin.sites.number() || desired->bin.Cached())
+           desired->binpicked = 1;
+         else
+           desired->srcpicked = 1;
          return;
        }
     }
@@ -375,7 +384,10 @@ packagemeta::set_action (packageversion * default_version)
          if (n <= versions.number ())
            {
              desired = versions[n];
-             desired->srcpicked = source;
+             if (desired->src.sites.number() || desired->src.Cached())
+               desired->srcpicked = source;
+             else
+               desired->srcpicked = 0;
              return;
            }
        }
This page took 0.039375 seconds and 5 git commands to generate.