sculpt: support to skip depot archive integration

To not integrate referenced depot packages when building a sculpt image,
just set the environment variable DEPOT= to be empty. This allows to produce
slim images to the price that you have to publish the packages yourself.
In that case the sculpt run-script reminds you, and prints the package
versions.

Fix genodelabs/genode#4530
This commit is contained in:
Stefan Kalkowski 2022-06-02 15:39:11 +02:00 committed by Christian Helmuth
parent f1265205b9
commit 6e4c3b2fd6

View File

@ -853,8 +853,36 @@ exec sed -i "/config/s/arch=\"\"/arch=\"[depot_spec]\"/" [initial_config_file de
## Depot content integrated in the Sculpt image
##
create_tar_from_depot_binaries [run_dir]/genode/depot.tar \
##
# 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 {
puts "Do not forget to publish:"
puts [pkg_archive_paths [referenced_pkg_values]]
}
}
create_depot_archive
#