Skip to content
This repository has been archived by the owner on Aug 5, 2022. It is now read-only.

[PSME] Make it able to be built offline #10

Closed
Itxaka opened this issue Oct 10, 2016 · 7 comments
Closed

[PSME] Make it able to be built offline #10

Itxaka opened this issue Oct 10, 2016 · 7 comments

Comments

@Itxaka
Copy link

Itxaka commented Oct 10, 2016

When trying to compile PSME components in a internet-restricted machine, it will try to download several components.

It would be grat to have this components being used as libraries or devel packages from the system before trying to download them. Some components (googletest, gmock, json, microhttpd) even have their source code inside the repo (psme/common/) but are still being trying to download.

This makes building PSME packages on services like openSuse build (https://build.opensuse.org/) fails as they dont allow any downloads inside the build environment.

Making it sure that the dependencies are provided by the system, then fall back to what we have on the psme/common dir and as a last resort trying to download would be the proper way of dealing with this IMO, but Im not sure if there is any issues that may prevent this.

@maciejro
Copy link
Contributor

Hi @Itxaka,

We do not distribute all dependent libraries with Intel Rack Scale Design solution due to their license restrictions. In order to use previously downloaded dependencies please put them in third_party directory created within root directory of PSME project. Compiler will search this directory for required libraries before attempting to download them from the Internet.

@Itxaka
Copy link
Author

Itxaka commented Oct 11, 2016

Hi @maciejro ,

My problem with that approach is that then its impossible to generate a package for PSME to distribute for easy of use/test/try as you cant bundle 12 libraries inside a package.

What about using the system provided dev packages? that way you can create packages independtly for any dependencies and provide them in a sane way, lets say gmock you can provide a libgmock-dev package instead of having to bundle everything in one package (Which Im pretty sure, no distribution is gonna allow)

Thanks!

@maciejro
Copy link
Contributor

Hi @Itxaka,

Please have in mind that some packages are not available for particular OS (proper version of libJsonCPP, appropriate Intel libraries, Google Test/Mock). What is more, some of them have to be patches by us, so this is why these libraries have to be built with PSME source code.

Good news is that we're working to make offline compilation possible in next release.

@Itxaka
Copy link
Author

Itxaka commented Oct 13, 2016

@maciejro Thanks for the quick update! Looking forward to it 👍

@maciejro
Copy link
Contributor

Hi @Itxaka,

You're welcome! I'll leave this issue open until we release this functionality - and give you a notice when it happens.

@tbykowsk
Copy link
Member

tbykowsk commented Dec 22, 2017

Hi @Itxaka,

I'm very sorry to keep you waiting so long.

Starting from v2.2 release it is possible to build PSME offline.
All third party dependencies can be downloaded to PSME/third_party directory - you may use PSME/third_party/download.sh script to get them.

Once it is done, the build should not require an Internet connection.

@Itxaka
Copy link
Author

Itxaka commented Dec 22, 2017

@tbykowsk no need to apologize!

That is great news, thanks for updating the issue!

@tbykowsk tbykowsk closed this as completed Jan 9, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants