Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-28466

conda installs reset EUPS_PATH

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Reviewed
    • Resolution: Unresolved
    • Fix Version/s: None
    • Component/s: conda
    • Labels:
      None
    • Team:
      Architecture
    • Urgent?:
      No

      Description

      conda installs (or update/upgrades) into the current environment deactivate and reactivate all packages, including eups, now that it is in conda. Because eups thinks it owns the EUPS_PATH environment variable, the reactivation leaves it pointing into the environment's stack instead of the external stack created by lsstsw/deploy or newinstall.sh.

      The simplest fix for this, as suggested by Matt Becker, is to have envconfig and loadLSST set another environment variable, LSST_EUPS_PATH, and to have the rubin-env activation script prefix the value of that variable, if present, to EUPS_PATH. (Since rubin-env luckily happens to be after eups alphabetically, it can do this safely.) Then deactivations and reactivations will result in the same, usable EUPS_PATH since LSST_EUPS_PATH will persist throughout.

        Attachments

          Activity

          Hide
          erykoff Eli Rykoff added a comment -

          Does the alphabetical matter? I thought that since rubinenv depends on eups then eups has to be activated first.

          Show
          erykoff Eli Rykoff added a comment - Does the alphabetical matter? I thought that since rubinenv depends on eups then eups has to be activated first.
          Hide
          ktl Kian-Tat Lim added a comment -

          Eli and I figured out that they have been alphabetical since https://github.com/conda/conda/pull/7176

          Show
          ktl Kian-Tat Lim added a comment - Eli and I figured out that they have been alphabetical since https://github.com/conda/conda/pull/7176
          Hide
          ktl Kian-Tat Lim added a comment -

          These changes will also incorporate rubin-env 0.2.1, including lsst-documenteer-pipelines and lsst-documenteer-technote as well as moving the flake8 pin to 3.8.4.

          Show
          ktl Kian-Tat Lim added a comment - These changes will also incorporate rubin-env 0.2.1, including lsst-documenteer-pipelines and lsst-documenteer-technote as well as moving the flake8 pin to 3.8.4.
          Hide
          ktl Kian-Tat Lim added a comment -

          A couple of shell lines plus changing from 0.1.5 to 0.2.1

          Show
          ktl Kian-Tat Lim added a comment - A couple of shell lines plus changing from 0.1.5 to 0.2.1
          Hide
          tjenness Tim Jenness added a comment -

          Looks good. One minor indent problem in the lsst PR.

          Show
          tjenness Tim Jenness added a comment - Looks good. One minor indent problem in the lsst PR.
          Hide
          erykoff Eli Rykoff added a comment -

          Doesn't there need to be a fix to the eups conda-forge to make use of the RUBIN_EUPS_PATH? Am I missing something?

          Show
          erykoff Eli Rykoff added a comment - Doesn't there need to be a fix to the eups conda-forge to make use of the RUBIN_EUPS_PATH? Am I missing something?
          Hide
          erykoff Eli Rykoff added a comment -

          I was looking in the wrong place. Please disregard.

          Show
          erykoff Eli Rykoff added a comment - I was looking in the wrong place. Please disregard.

            People

            Assignee:
            ktl Kian-Tat Lim
            Reporter:
            ktl Kian-Tat Lim
            Reviewers:
            Tim Jenness
            Watchers:
            Eli Rykoff, Kian-Tat Lim, Tim Jenness
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:

                Jenkins

                No builds found.