Repository: conda/conda

Issue:
Bizarre removal of python
Full report at https://ci.appveyor.com/project/ContinuumAnalytics/conda-build/build/1.0.163#L18

```
Package plan for installation in environment C:\Miniconda3-x64:

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    git-2.6.4                  |                0        61.2 MB
    colorama-0.3.7             |           py34_0          20 KB
    coverage-4.1               |           py34_0         235 KB
    py-1.4.31                  |           py34_0         127 KB
    pytz-2016.4                |           py34_0         171 KB
    six-1.10.0                 |           py34_0          17 KB
    clyent-1.2.2               |           py34_0          15 KB
    pytest-2.9.2               |           py34_0         283 KB
    python-dateutil-2.5.3      |           py34_0         238 KB
    anaconda-client-1.4.0      |           py34_0         156 KB
    pytest-cov-2.2.1           |           py34_0          17 KB
    ------------------------------------------------------------
                                           Total:        62.5 MB

The following NEW packages will be INSTALLED:

    anaconda-client: 1.4.0-py34_0 
    clyent:          1.2.2-py34_0 
    colorama:        0.3.7-py34_0 
    coverage:        4.1-py34_0   
    git:             2.6.4-0      
    py:              1.4.31-py34_0
    pytest:          2.9.2-py34_0 
    pytest-cov:      2.2.1-py34_0 
    python-dateutil: 2.5.3-py34_0 
    pytz:            2016.4-py34_0
    six:             1.10.0-py34_0

The following packages will be REMOVED:

    python:          3.4.4-4  
```

CC @mcg1969 @kalefranz 



Discussion:

Resolving patch:
diff --git a/conda/api.py b/conda/api.py
--- a/conda/api.py
+++ b/conda/api.py
@@ -35,7 +35,8 @@ def get_index(channel_urls=(), prepend=True, platform=None,
             key = prefix + fn
             if key in index:
                 # Copy the link information so the resolver knows this is installed
-                index[key]['link'] = info.get('link')
+                index[key] = index[key].copy()
+                index[key]['link'] = info.get('link') or True
             else:
                 # only if the package in not in the repodata, use local
                 # conda-meta (with 'depends' defaulting to [])
diff --git a/conda/fetch.py b/conda/fetch.py
--- a/conda/fetch.py
+++ b/conda/fetch.py
@@ -235,6 +235,8 @@ def add_unknown(index, priorities):
         if schannel2 != schannel:
             continue
         priority = priorities.get(schannel, maxp)
+        if 'link' in meta:
+            del meta['link']
         meta.update({'fn': fname, 'url': url, 'channel': channel,
                      'schannel': schannel, 'priority': priority})
         meta.setdefault('depends', [])
diff --git a/conda/install.py b/conda/install.py
--- a/conda/install.py
+++ b/conda/install.py
@@ -861,6 +861,7 @@ def load_linked_data(prefix, dist, rec=None):
     channel, schannel = url_channel(url)
     rec['channel'] = channel
     rec['schannel'] = schannel
+    rec['link'] = rec.get('link') or True
     cprefix = '' if schannel == 'defaults' else schannel + '::'
     linked_data_[prefix][str(cprefix + dname)] = rec
     return rec


Test patch: