diff --git a/build_library/vm_image_util.sh b/build_library/vm_image_util.sh index 47d8fc3cc0..0b7fde4ada 100644 --- a/build_library/vm_image_util.sh +++ b/build_library/vm_image_util.sh @@ -431,9 +431,14 @@ install_oem_package() { --nodeps --buildpkgonly --usepkg n \ --quiet "${oem_pkg}" + local getbinpkg + if [[ ${FLAGS_getbinpkg} -eq ${FLAGS_TRUE} ]]; then + getbinpkg=--getbinpkg + fi + info "Installing ${oem_pkg} to OEM partition" USE="${oem_use}" emerge-${BOARD} --root="${oem_tmp}" \ - --root-deps=rdeps --usepkgonly \ + --root-deps=rdeps --usepkgonly ${getbinpkg} \ --quiet --jobs=2 "${oem_pkg}" sudo rsync -a "${oem_tmp}/usr/share/oem/" "${VM_TMP_ROOT}/usr/share/oem/" sudo rm -rf "${oem_tmp}" diff --git a/image_to_vm.sh b/image_to_vm.sh index cb8341f6fd..8c9cc24cc1 100755 --- a/image_to_vm.sh +++ b/image_to_vm.sh @@ -42,6 +42,10 @@ DEFINE_string to "" \ "Destination folder for VM output file(s)" DEFINE_string oem_pkg "" \ "OEM package to install" +DEFINE_boolean getbinpkg "${FLAGS_FALSE}" \ + "Download binary packages from remote repository." +DEFINE_string getbinpkgver "" \ + "Use binary packages from a specific version." # include upload options . "${BUILD_LIBRARY_DIR}/release_util.sh" || exit 1 @@ -67,7 +71,13 @@ if [ -z "${FLAGS_board}" ] ; then die_notrace "--board is required." fi -# Loaded after flags are parsed because board_options depends on --board +# If downloading packages is enabled ensure the board is configured properly. +if [[ ${FLAGS_getbinpkg} -eq ${FLAGS_TRUE} ]]; then + "${SRC_ROOT}/scripts/setup_board" --board="${FLAGS_board}" \ + --getbinpkgver="${FLAGS_getbinpkgver}" --regen_configs_only +fi + +# Loaded late because board_options depends on setup_board . "${BUILD_LIBRARY_DIR}/board_options.sh" || exit 1