-
Notifications
You must be signed in to change notification settings - Fork 38
Description
Context
The build-sequence command does have an offline build mode. However, it needs network access to fetch source distributions and any pre-built wheel (for dependencies). This makes it impossible to run that command in a completely offline mode.
The current workflow is a two stage process:
- Run
bootstrap. Keep thebuild-order.jsonfile and remove all other files. - Run
build-sequenceon thebuild-order.jsonfile to build the wheels and sdists that will be distributed.
Proposal
Introduce a new command, prepare ?, that takes as input the build-order.json file and fetches all the required sdists as well as any pre-built wheels (according to the cache-wheel-server-url parameter.) The output is a directory that contains all of these file in specific layout. If there are any source modifications to applied, they should be done as part of this command.
Adjust the build-sequence command to accept a new (optional) parameter, --prepared-layout ?. When provided, sidsts and wheels are fetched from it and nowhere else. We could also enforce that using this parameter with --cache-wheel-server-url results in an error.
This will allow running the build-sequence command completely offline.