Details
-
Type:
Technical task
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: Qserv
-
Labels:None
-
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
- mentioned in
-
Page Loading...
To extent still relevant, documented in https://github.com/lsst/qserv/blob/master/doc/source/devel/quick-start-devel.rst