Print

Print


Hello,

Serge explainations looks perfectly clear to me and i completely agree 
with it.
Serge, with your agreement, I will add it to the README-devel.txt as a 
detailed guideline,

*1. Cleaning previous install :*
Please also note that you may have to remove the ~/.eups directory 
before installing a new stack.
Indeed previous Qserv install where relying on a python system package 
which was referenced in this directory.

And I also think it is better to have only one stack for one unix 
account, even if having multiple stack could work
(provided that you ~/.eups directory is compliant with all of them).

*2. **Enabling a Qserv version installed from your git repos :*
Indeed Jacek, I think Serge is right and that the final :
*setup qserv $VERSION*
was the only missing point in you install.
This allow you to use the Qserv version you've installed from your git 
repos.

*3. Rebuilding the code of an updated git repos :*
Once you've updated the code in your git repos, and want to run it, you 
can use this workaround to rebuild/reinstall it in the same stack 
directory :
*scons install prefix=$QSERV_DIR*
(Then, $VERSION may have became incorrect, but this is non-blocking.)

Of course you can also use the README-devel.txt procedure but it will 
install a new Qserv instance in the stack.

*4. Deleting a previous Qserv version installed in stack
*Please run :
# if the previous version is setup
unsetup qserv $OLD_VERSION
*eups remove qserv $OLD_VERSION*

Have a nice day,

Fabrice


On 05/24/2014 02:54 AM, Serge Monkewitz wrote:
> On May 23, 2014, at 5:03 PM, Jacek Becla <[log in to unmask]> wrote:
>
>> Because I don't want to work with off-the-shelf pre-cut version
>> of Qserv. I want to work with git-cloned Qserv.
> That’s what Fabrice’s instructions tell you how to do. Since you’ve got a stack installed, 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.
>
> Cheers,
> Serge
> ########################################################################
> Use REPLY-ALL to reply to list
>
> To unsubscribe from the QSERV-L list, click the following link:
> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=QSERV-L&A=1


########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the QSERV-L list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=QSERV-L&A=1