mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-26 00:41:08 +00:00
sculpt.run: distinguish DEPOT=list from DEPOT=omit
This patch splits the former DEPOT=omit option into two variants. The new 'list' option behaves like the former 'omit' option, skipping the creation of the tar archive from the depot content referenced by the deploy configuration but showing a list of depot archives that need to be published for the deployment. When specifying 'omit' in th new version, the local depot is not queried for the packages referenced in the deploy configuration. So the deployment can refer to packaged hosted only remotely. Fixes #4605
This commit is contained in:
parent
96191fe577
commit
5b4b243e3d
@ -803,12 +803,40 @@ proc pkg_archive_paths { values } {
|
||||
}
|
||||
|
||||
|
||||
##
|
||||
# Return which kind of depot archive is wanted: 'tar', 'omit', or 'list'
|
||||
#
|
||||
# tar - includes the depot content referenced by the deploy configuration as
|
||||
# tar archive named 'depot.tar'
|
||||
#
|
||||
# omit - skips the evaluation of the deploy configuration
|
||||
#
|
||||
# list - outputs the list of packages needed for the deployment, which can
|
||||
# taken as input for manually publishing those packages
|
||||
#
|
||||
proc depot_archive { } {
|
||||
|
||||
global ::env
|
||||
|
||||
set archive "tar"
|
||||
if {[info exists ::env(DEPOT)]} {
|
||||
set archive "$::env(DEPOT)" }
|
||||
|
||||
if {$archive != "omit" && $archive != "tar" && $archive != "list"} {
|
||||
puts stderr "Error: invalid value of DEPOT=$archive variable!" }
|
||||
|
||||
return $archive
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# Trigger the creation / updating of referenced depot content
|
||||
#
|
||||
# This step may update pkg versions if '--depot-auto-update' is enabled.
|
||||
#
|
||||
_collect_from_depot [pkg_archive_paths [referenced_pkg_values]]
|
||||
if {[depot_archive] == "tar" || [depot_archive] == "list"} {
|
||||
_collect_from_depot [pkg_archive_paths [referenced_pkg_values]]
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
@ -866,30 +894,13 @@ exec sed -i "/config/s/arch=\"\"/arch=\"[depot_spec]\"/" [initial_config_file de
|
||||
## Depot content integrated in the Sculpt image
|
||||
##
|
||||
|
||||
##
|
||||
# Return which kind of depot archive is wanted 'tar' or 'omit'
|
||||
#
|
||||
proc depot_archive { } {
|
||||
|
||||
global ::env
|
||||
|
||||
set archive "tar"
|
||||
if {[info exists ::env(DEPOT)]} {
|
||||
set archive "$::env(DEPOT)" }
|
||||
|
||||
if {$archive != "omit" && $archive != "tar"} {
|
||||
puts stderr "Error: invalid value of DEPOT=$archive variable!" }
|
||||
|
||||
return $archive
|
||||
}
|
||||
|
||||
proc create_depot_archive { } {
|
||||
global ::env
|
||||
|
||||
if {[depot_archive] == "tar"} {
|
||||
create_tar_from_depot_binaries [run_dir]/genode/depot.tar \
|
||||
{*}[pkg_archive_paths [referenced_pkg_values]]
|
||||
} else {
|
||||
|
||||
} elseif {[depot_archive] == "list"} {
|
||||
puts "Do not forget to publish:"
|
||||
puts [pkg_archive_paths [referenced_pkg_values]]
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user