Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Refactor offline compilation and download of additional sources #3282

Open
akohlmey opened this issue May 30, 2022 · 2 comments
Assignees

Comments

@akohlmey
Copy link
Member

Summary

The current handling of transparent downloads is in several cases dependent on the compilation host being connected to the internet. There are some ways to provide already downloaded archives, but this has known problems, e.g. updates are not applied due to the variables being cached. Also there should be a test whether downloads are possible and CMake should not attempt a download in that case. If offline compilation is intended, this should be indicated and a folder path with previously downloaded source archives provided. The offline use path can then be inferred from the original download URL.

In summary:

  • download URLs and hashes should not be stored in cached variables
  • implement a test to detect if downloads are possible or not. the CMake scripting should react accordingly and error out or skip steps
  • use a single variable to point to a folder with pre-downloaded sources instead of requiring to override all URLs. URLs will be adapted by CMake in offline mode
@akohlmey akohlmey added this to the Stable Release Spring 2023 milestone May 30, 2022
@akohlmey akohlmey self-assigned this May 30, 2022
@akohlmey akohlmey changed the title [Feature Request] Refactor offline compilation download of files [Feature Request] Refactor offline compilation and download of additional sources May 30, 2022
@ocaisa
Copy link

ocaisa commented Jul 18, 2022

Just to add to this, the current approach for building the docs also requires access to the internet...there is no (offline) way to provide the necessary packages to the venv used.

@akohlmey
Copy link
Member Author

Just to add to this, the current approach for building the docs also requires access to the internet...there is no (offline) way to provide the necessary packages to the venv used.

This is not likely to change (that part of the build system is already complex as it is to be (more) portable). The documentation can be built anywhere and then only the resulting files (html folder, pdf or epub file) need to be transferred to the target location (which may be without internet access).

This is different from compiling executables for which it may only be possible to compile them on a disconnected machine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: High-Priority Features
Development

No branches or pull requests

2 participants