Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-746 Simplify (script) install procedure
  3. DM-747

Integrate Serge explanation in Qserv install procedure

    Details

    • Type: Technical task
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: Qserv
    • Labels:
      None
    • Templates:
    • Team:
      Data Access and Database

      Description

      Next instructions should be integrated as comment or inside documentation :

       let me try to walk you through what’s happening in README-devel.txt it in more detail.
       
      From a clean shell:
       
      1. cd /my/stack/dir
      2. source loadLSST.sh
       
         Makes eups and basic things like python and scone available in your environment.
       
      3. cd to the top-level directory of your clone
      4. Run `setup -r .`
       
          The main thing this does is look for a .table file in a subdirectory of the current one named ups/. It finds qserv.table, from which it infers an eups product name of QSERV. It sets QSERV_DIR to the directory you are in. It also reads the table file and setups up all the qserv dependencies it finds, which is why you need to do this for the build to succeed.
       
      5. eupspkg -er build
       
         This builds your clone. It uses build/ as a build directory, just as running scons would.
       
      6. eupspkg -er install
       
         This installs from your git-clone to your stack. The install is to a directory named /my/stack/dir/Linux64/qserv/<branch name>-g<commit hash>(-dirty), where -dirty is only added to the version name if you have uncommitted/unstashed changes in your clone.
       
      7. eupspkg -er declare
       
         This basically runs the following command:
       
              eups declare -r /my/stack/dir/Linux64/qserv/<branch name>-g<commit hash> qserv <branch name>-g<commit hash>
       
         which says: “Hey eups, directory /my/stack/dir/Linux64/qserv/<branch name>-g<commit hash> contains version <branch name>-g<commit hash> of a product called qserv. Please check that there’s a ups/qserv.table file in there, and remember all of that for me so I can come back to it later!”.
       
      Now here is where I think you missed a step:
       
      8. setup qserv <branch name>-g<commit hash>
       
      (in your case, `setup qserv master-ga7082f1e02`). This says, OK eups, now I actually want to use version <branch name>-g<commit hash> of qserv (which was built and installed from your clone and is _not_ the pre-packaged version of qserv you get when installing the stack via new install.sh). This sets QSERV_DIR to /my/stack/dir/Linux64/qserv/<branch name>-g<commit hash>.
       
      Now:
       
      > So
      > eups list qserv
      >   LOCAL:/usr/local/home/becla/qserv/1/src/qserv 	setup
      >   master-ga7082f1e02
      >   u.fjammes.DM-699-g4ec6034b0e 	current b69
      >
      > is what I want. And that does not have bin…
       
      At this stage you have not yet run `setup qserv master-ga7082f1e02`. If you had, the line for master-ga7082f1e02 would contain the word “setup” (instead of  LOCAL:/usr/local/home/becla/qserv/1/src/qserv).
       
      > ls $QSERV_DIR
      > admin  config.log  css                lib               README.txt site_scons  TODO
      > build  core        example.custom.py  README-devel.txt  SConstruct tests       ups
       
      That means that here, you are doing an ls of the top-level directory of your git clone. Note the config.log, which is a by-product of building, and wouldn’t be present in an installation directory. 
       
      So Fabrice’s eupspkg commands are basically hiding the details of running scons with the appropriate prefix argument, eups table file expansion, and so on.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jammes Fabrice Jammes
                Reporter:
                jammes Fabrice Jammes
                Watchers:
                Andy Salnikov, Fabrice Jammes, Fritz Mueller, Jacek Becla, Serge Monkewitz
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Summary Panel