mjuric / conda-lsst

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

A better way to handle conda-supplied dependencies #69

Closed mjuric closed 8 years ago

mjuric commented 8 years ago

Generate individual metapkgs w. EUPS files for pkgs provided by conda.

Instead of having all table files (and other ups/* data) packed in a single package, generate a conda package with the relevant EUPS file for each internal package. They will be named lsst-PACKAGE-eups-configs and contain the contents of the ups/ directory (and be declared as an EUPS product).

Their generation differs from generating other packages only in that they use a special build.sh template (build-internal.sh.template), which copies the ups/* directory instead of doing a full build. This simplifies the internal code logic.

This obsoletes the lsst-product-configs recipe (which we've had to maintain by hand until now). Just adding the product name to internal_products in etc/config.yaml now does everything.

mjuric commented 8 years ago

(@jhoblitt || @jmatt) : Take a peek & review when you get a chance.

jmatt commented 8 years ago

I definitely agree it needs to be improved. Ideally configuration based without changes to multiple repos.

I began looking through this but there is a lot to work through. I couldn't figure out the exact purpose of all the different collections in conda_lsst.config.py. Specifically exactly how internal_products, dependencies and missing_deps work together. I mean how they actually work - not what's documented. I generally understand that.

mjuric commented 8 years ago

I definitely agree it needs to be improved. Ideally configuration based without changes to multiple repos.

Yup, that was the goal here.

... Specifically exactly how internal_products, dependencies and missing_deps work together. ...

Yes, it's a bit convoluted. Roughly:

Hope that helps, for a start!

RobertLuptonTheGood commented 8 years ago

I wrote the eups code on the plane, it's about to be reviewed by Mario.