Is scons used by lsstsw to install third-party lightly-warpped packages?

Does lsstsw rebuild use scons to install third-party trivially-wrapped packages?

If not, what does it use, and where can I read more about how it works?

This question relates to the following two topics (but is not answered by them):

[Oh my goodness, those previews are huge and completely dominate the actual text of the question.]

It’s possible that this question is implicitly covered in

https://developer.lsst.io/build-ci/third_party.html#distributing-third-party-packages-with-eups

but there’s no specific confirmation.

Is the answer that lsstsw just uses eupspkg?
I’m confused.

1 Like

Thirdparty packages are built with eupspkg which has heuristics to determine the native build system used by the thirdparty package. The third party packages that are stub packages (eg for numpy and matplotlib) don’t do any installations at all. eupspkg runs a script and checks if numpy or whatever is installed but doesn’t install it.

2 Likes

Thank you!

[The problem with writing documentation is that your readers aren’t coming with a clean slates. That have assorted pre-conceptions in their head that have to be broken down before they can assemble in their brains what the writer of the documentation is trying to convey.]

Do I have to create the repo and upload to github.com before I can run the series of eupspkg commands?

I wanted to test the package before I push any commits.

No.

eupspkg -e prep
eupspkg -e build

will be pretty good tests you can run locally without having the repo pushed.

Hi @mwv, in case it helps, eupspkg has reltively complete documentation in the docstring of the class that implements it:

1 Like
[serenity treecorr] eupspkg -e -v 1 prep
eupspkg.autoproduct (fatal): No git remote named 'origin', or git error. Please specify PRODUCT.

Once I created a repo and

git remote add origin git@github.com:lsst/treecorr.git
git push -u origin master

Then it worked

[serenity treecorr] eupspkg -e prep
eupspkg.prep: unpacking upstream/v3.2.3.tar.gz ...

[@jsick Why is ‘push’ in bold above? This is repeatable

git push push pusher nopush push

]

Grumble. I’m not entirely sure why access to origin is mandatory.

That’s interesting. The syntax highlighter is in default mode so is trying to guess. I wonder what it thinks it has found. If you force bash mode it doesn’t highlight push.

git push 

Not mandatory – it’s a heuristic it uses to deduce the product name (that works in our typical workflow). You can override it by manually setenv-ing the PRODUCT.

1 Like

@mwv Yes, you can set the language highlighting hint with the code fence: How to format posts, including math and code (see “Code snippets” section)