mjuric / conda-lsst

Building Conda packages for the LSST stack
4 stars 8 forks source link

chicken vs egg issue creating a new channel with `conda lsst upload` #44

Closed jhoblitt closed 8 years ago

jhoblitt commented 8 years ago

The upload doesn't proceed when attempting to create a new channel as there isn't a existing repodata.json that can be retrieved.

https://github.com/mjuric/conda-lsst/blob/807ca6254acb7dcb2bdc7c8272860e9a525194c1/conda_lsst/recipe_db.py#L115

$ conda lsst upload --rsync http://conda-test.lsst.codes/dev eupspkg@conda-test.lsst.codes
updating built package cache [from file:///home/conda/conda-lsst/miniconda/conda-bld/linux-64] ................................................................................................................. done.
updating built package cache [from http://conda-test.lsst.codes/dev/linux-64]
Traceback (most recent call last):
  File "/home/conda/conda-lsst/bin/conda-lsst", line 147, in <module>
    db.reindex(config.channels)
  File "/home/conda/conda-lsst/conda_lsst/recipe_db.py", line 186, in reindex
    self.reindex_channel(channel)
  File "/home/conda/conda-lsst/conda_lsst/recipe_db.py", line 203, in reindex_channel
    repodata_ = self.get_repodata(channel.urlbase)
  File "/home/conda/conda-lsst/conda_lsst/recipe_db.py", line 95, in get_repodata
    r.raise_for_status()
  File "/home/conda/conda-lsst/miniconda/lib/python2.7/site-packages/requests/models.py", line 840, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://conda-test.lsst.codes/dev/linux-64/repodata.json
mjuric commented 8 years ago

Yes, the very, very, very end of the (too long) README.md warns that these have to be manually initialized, but I agree that just checking & warning in the code may be a more friendly thing to do.