diff --git a/build_library/oem/akamai/grub.cfg b/build_library/oem/akamai/grub.cfg
new file mode 100644
index 0000000000..f91c71700b
--- /dev/null
+++ b/build_library/oem/akamai/grub.cfg
@@ -0,0 +1,3 @@
+# Flatcar GRUB settings
+
+set oem_id="akamai"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/ami/grub.cfg.frag b/build_library/oem/ami/grub.cfg
similarity index 92%
rename from sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/ami/grub.cfg.frag
rename to build_library/oem/ami/grub.cfg
index d2a6607394..7b18156766 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/ami/grub.cfg.frag
+++ b/build_library/oem/ami/grub.cfg
@@ -1,4 +1,6 @@
-# Flatcar GRUB settings for AMI
+# Flatcar GRUB settings
+
+set oem_id="ec2"
# Blacklist the Xen framebuffer module so it doesn't get loaded at boot
# Disable `ens3` style names, so eth0 is used for both ixgbevf or xen.
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/azure/grub.cfg.frag b/build_library/oem/azure/grub.cfg
similarity index 89%
rename from sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/azure/grub.cfg.frag
rename to build_library/oem/azure/grub.cfg
index 48d22ee886..7fcbdad686 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/azure/grub.cfg.frag
+++ b/build_library/oem/azure/grub.cfg
@@ -1,3 +1,6 @@
+# Flatcar GRUB settings
+
+set oem_id="azure"
set linux_append="flatcar.autologin"
# Azure only has a serial console.
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/files/grub.cfg b/build_library/oem/cloudsigma/grub.cfg
similarity index 100%
rename from sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/files/grub.cfg
rename to build_library/oem/cloudsigma/grub.cfg
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/grub.cfg b/build_library/oem/cloudstack/grub.cfg
similarity index 100%
rename from sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/grub.cfg
rename to build_library/oem/cloudstack/grub.cfg
diff --git a/build_library/oem/digitalocean/grub.cfg b/build_library/oem/digitalocean/grub.cfg
new file mode 100644
index 0000000000..a595676b61
--- /dev/null
+++ b/build_library/oem/digitalocean/grub.cfg
@@ -0,0 +1,3 @@
+# Flatcar GRUB settings
+
+set oem_id="digitalocean"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/grub.cfg b/build_library/oem/exoscale/grub.cfg
similarity index 100%
rename from sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/grub.cfg
rename to build_library/oem/exoscale/grub.cfg
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/gce/grub.cfg.frag b/build_library/oem/gce/grub.cfg
similarity index 80%
rename from sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/gce/grub.cfg.frag
rename to build_library/oem/gce/grub.cfg
index d292e2faf0..8366e12a55 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/gce/grub.cfg.frag
+++ b/build_library/oem/gce/grub.cfg
@@ -1,3 +1,7 @@
+# Flatcar GRUB settings
+
+set oem_id="gce"
+
# GCE only has a serial console.
set linux_console="console=ttyS0,115200n8"
serial com0 --speed=115200 --word=8 --parity=no
diff --git a/build_library/oem/hetzner/grub.cfg b/build_library/oem/hetzner/grub.cfg
new file mode 100644
index 0000000000..5bd68c2863
--- /dev/null
+++ b/build_library/oem/hetzner/grub.cfg
@@ -0,0 +1,3 @@
+# Flatcar GRUB settings
+
+set oem_id="hetzner"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/files/grub.cfg b/build_library/oem/hyperv/grub.cfg
similarity index 100%
rename from sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/files/grub.cfg
rename to build_library/oem/hyperv/grub.cfg
diff --git a/build_library/oem/kubevirt/grub.cfg b/build_library/oem/kubevirt/grub.cfg
new file mode 100644
index 0000000000..4698c8d916
--- /dev/null
+++ b/build_library/oem/kubevirt/grub.cfg
@@ -0,0 +1,3 @@
+# Flatcar GRUB settings
+
+set oem_id="kubevirt"
diff --git a/build_library/oem/nutanix/grub.cfg b/build_library/oem/nutanix/grub.cfg
new file mode 100644
index 0000000000..7e91086e0b
--- /dev/null
+++ b/build_library/oem/nutanix/grub.cfg
@@ -0,0 +1,3 @@
+# Flatcar GRUB settings
+
+set oem_id="nutanix"
diff --git a/build_library/oem/openstack/grub.cfg b/build_library/oem/openstack/grub.cfg
new file mode 100644
index 0000000000..c450d1b465
--- /dev/null
+++ b/build_library/oem/openstack/grub.cfg
@@ -0,0 +1,4 @@
+# Flatcar GRUB settings
+
+set oem_id="openstack"
+set linux_append="flatcar.autologin"
diff --git a/build_library/oem/proxmoxve/grub.cfg b/build_library/oem/proxmoxve/grub.cfg
new file mode 100644
index 0000000000..5db100dbbd
--- /dev/null
+++ b/build_library/oem/proxmoxve/grub.cfg
@@ -0,0 +1,4 @@
+# Flatcar GRUB settings
+
+set oem_id="proxmoxve"
+set linux_append="flatcar.autologin"
diff --git a/build_library/oem/qemu/grub.cfg b/build_library/oem/qemu/grub.cfg
new file mode 100644
index 0000000000..2cd3a0a310
--- /dev/null
+++ b/build_library/oem/qemu/grub.cfg
@@ -0,0 +1,4 @@
+# Flatcar GRUB settings
+
+set oem_id="qemu"
+set linux_append="flatcar.autologin"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/scaleway/grub.cfg.frag b/build_library/oem/scaleway/grub.cfg
similarity index 58%
rename from sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/scaleway/grub.cfg.frag
rename to build_library/oem/scaleway/grub.cfg
index 0b87566bce..f993923772 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/scaleway/grub.cfg.frag
+++ b/build_library/oem/scaleway/grub.cfg
@@ -1 +1,4 @@
+# Flatcar GRUB settings
+
+set oem_id="scaleway"
set linux_console="console=ttyS0,115200n8 earlycon=ttyS0,115200"
diff --git a/build_library/oem/stackit/grub.cfg b/build_library/oem/stackit/grub.cfg
new file mode 100644
index 0000000000..b91b5a747e
--- /dev/null
+++ b/build_library/oem/stackit/grub.cfg
@@ -0,0 +1,3 @@
+# Flatcar GRUB settings
+
+set oem_id="openstack"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/Vagrantfile b/build_library/oem/vagrant/build/box/Vagrantfile
similarity index 100%
rename from sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/Vagrantfile
rename to build_library/oem/vagrant/build/box/Vagrantfile
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/base_mac.rb b/build_library/oem/vagrant/build/box/base_mac.rb
similarity index 100%
rename from sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/base_mac.rb
rename to build_library/oem/vagrant/build/box/base_mac.rb
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/change_host_name.rb b/build_library/oem/vagrant/build/box/change_host_name.rb
similarity index 100%
rename from sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/change_host_name.rb
rename to build_library/oem/vagrant/build/box/change_host_name.rb
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/configure_networks.rb b/build_library/oem/vagrant/build/box/configure_networks.rb
similarity index 100%
rename from sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/configure_networks.rb
rename to build_library/oem/vagrant/build/box/configure_networks.rb
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/grub.cfg b/build_library/oem/vagrant/grub.cfg
similarity index 100%
rename from sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/grub.cfg
rename to build_library/oem/vagrant/grub.cfg
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/files/grub.cfg b/build_library/oem/virtualbox/grub.cfg
similarity index 100%
rename from sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/files/grub.cfg
rename to build_library/oem/virtualbox/grub.cfg
diff --git a/build_library/oem/vmware/grub.cfg b/build_library/oem/vmware/grub.cfg
new file mode 100644
index 0000000000..d58568ab54
--- /dev/null
+++ b/build_library/oem/vmware/grub.cfg
@@ -0,0 +1,4 @@
+# Flatcar GRUB settings
+
+set oem_id="vmware"
+set linux_append="flatcar.autologin"
diff --git a/build_library/oem_sysexts.sh b/build_library/oem_sysexts.sh
index 68fea06c26..4042f12abf 100644
--- a/build_library/oem_sysexts.sh
+++ b/build_library/oem_sysexts.sh
@@ -20,42 +20,35 @@ get_oem_overlay_root() {
printf '%s' "${overlay_root}"
}
-_get_oem_ids() {
- local arch list_var_name
- arch=${1}; shift
- list_var_name=${1}; shift
-
- local overlay_root
- overlay_root=$(get_oem_overlay_root)
-
- local -a ebuilds=("${overlay_root}/coreos-base/common-oem-files/common-oem-files-"*'.ebuild')
- if [[ ${#ebuilds[@]} -eq 0 ]] || [[ ! -e ${ebuilds[0]} ]]; then
- echo "No coreos-base/common-oem-files ebuilds?!" >&2
- exit 1
- fi
-
- # This defines local COMMON_OEMIDS, AMD64_ONLY_OEMIDS,
- # ARM64_ONLY_OEMIDS and OEMIDS variable. We don't use the last
- # one. Also defines global-by-default EAPI, which we make local
- # here to avoid making it global.
- local EAPI
- source "${ebuilds[0]}" flatcar-local-variables
-
- local -n arch_oemids_ref="${arch^^}_ONLY_OEMIDS"
- local all_oemids=(
- "${COMMON_OEMIDS[@]}"
- "${arch_oemids_ref[@]}"
- )
-
- mapfile -t "${list_var_name}" < <(printf '%s\n' "${all_oemids[@]}" | sort)
-}
-
# Gets a list of OEMs that are using sysexts.
#
# 1 - arch
# 2 - name of an array variable to store the result in
get_oem_id_list() {
- _get_oem_ids "$@"
+ local arch=${1}; shift
+ local -n list_var_ref=${1}; shift
+
+ local overlay_root dir ebuild regex
+ overlay_root=$(get_oem_overlay_root)
+
+ for dir in "${overlay_root}"/coreos-base/oem-*; do
+ for ebuild in "${dir}"/*.ebuild; do
+ if [[ ! -e ${ebuild} ]]; then
+ echo "No coreos-base/oem-* ebuilds?!" >&2
+ exit 1
+ fi
+
+ # Check the KEYWORDS by sourcing the ebuild. We can't rely on Portage
+ # because this needs to work outside the SDK. OEM ebuilds are relatively
+ # boring, so this should be sufficient. This doesn't check whether the
+ # KEYWORDS are stable, but that shouldn't matter.
+ regex="\b${arch}\b"
+ if ( set +eu; . "${ebuild}" &>/dev/null; [[ ${KEYWORDS} =~ ${regex} ]] ); then
+ list_var_ref+=( "${dir##*/oem-}" )
+ break
+ fi
+ done
+ done
}
# Gets a list of OEM sysext descriptors.
@@ -65,19 +58,14 @@ get_oem_id_list() {
#
# Format: "name|metapackage|useflags"
get_oem_sysext_matrix() {
- local arch list_var_name
- arch=${1}; shift
- list_var_name=${1}; shift
+ local arch=${1}; shift
+ declare -n list_var_ref=${1}; shift
local -a oem_ids
- _get_oem_ids "${arch}" oem_ids
+ get_oem_id_list "${arch}" oem_ids
- local -a matrix=()
local oem_id
for oem_id in "${oem_ids[@]}"; do
- matrix+=("oem-${oem_id}|coreos-base/oem-${oem_id}|")
+ list_var_ref+=( "oem-${oem_id}|coreos-base/oem-${oem_id}|" )
done
-
- local -n matrix_ref="${list_var_name}"
- matrix_ref=("${matrix[@]}")
}
diff --git a/build_library/vm_image_util.sh b/build_library/vm_image_util.sh
index 91c0b1e6b0..0543ea6840 100644
--- a/build_library/vm_image_util.sh
+++ b/build_library/vm_image_util.sh
@@ -39,28 +39,6 @@ VALID_IMG_TYPES=(
nutanix
)
-#list of oem package names, minus the oem- prefix
-VALID_OEM_PACKAGES=(
- akamai
- azure
- cloudsigma
- cloudstack
- digitalocean
- exoscale
- gce
- hetzner
- hyperv
- kubevirt
- openstack
- proxmoxve
- qemu
- scaleway
- stackit
- vagrant
- virtualbox
- vmware
-)
-
# Set at runtime to one of the above types
VM_IMG_TYPE=DEFAULT
@@ -82,18 +60,9 @@ VM_GENERATED_FILES=()
# If set to 0 then a partition skeleton won't be laid out on VM_TMP_IMG
IMG_DEFAULT_PARTITIONED_IMG=1
-# If set install the given package name to the OEM partition
-IMG_DEFAULT_OEM_PACKAGE=
-
-# Forced OEM package name overriding what may be in the format
-IMG_FORCE_OEM_PACKAGE=
-
# If set install the given package name to the OEM sysext image
IMG_DEFAULT_OEM_SYSEXT=
-# Forced OEM package name overriding what may be in the format
-IMG_FORCE_OEM_SYSEXT=
-
# Hook to do any final tweaks or grab data while fs is mounted.
IMG_DEFAULT_FS_HOOK=
@@ -123,8 +92,7 @@ IMG_DEFAULT_CPUS=2
IMG_qemu_uefi_DISK_FORMAT=qcow2
IMG_qemu_uefi_DISK_LAYOUT=vm
IMG_qemu_uefi_CONF_FORMAT=qemu_uefi
-IMG_qemu_uefi_OEM_PACKAGE=common-oem-files
-IMG_qemu_uefi_OEM_SYSEXT=oem-qemu
+IMG_qemu_uefi_OEM_SYSEXT=qemu
## xen
IMG_xen_CONF_FORMAT=xl
@@ -133,42 +101,37 @@ IMG_xen_CONF_FORMAT=xl
IMG_virtualbox_DISK_FORMAT=vmdk_ide
IMG_virtualbox_DISK_LAYOUT=vm
IMG_virtualbox_CONF_FORMAT=ovf_virtualbox
-IMG_virtualbox_OEM_PACKAGE=oem-virtualbox
+IMG_virtualbox_OEM_SYSEXT=virtualbox
## vagrant
-IMG_vagrant_FS_HOOK=box
IMG_vagrant_BUNDLE_FORMAT=box
IMG_vagrant_DISK_FORMAT=vmdk_ide
IMG_vagrant_DISK_LAYOUT=vagrant
IMG_vagrant_CONF_FORMAT=vagrant
-IMG_vagrant_OEM_PACKAGE=oem-vagrant
+IMG_vagrant_OEM_SYSEXT=vagrant
## vagrant_parallels
-IMG_vagrant_parallels_FS_HOOK=box
IMG_vagrant_parallels_BUNDLE_FORMAT=box
IMG_vagrant_parallels_DISK_FORMAT=hdd
IMG_vagrant_parallels_DISK_LAYOUT=vagrant
IMG_vagrant_parallels_CONF_FORMAT=vagrant_parallels
-IMG_vagrant_parallels_OEM_PACKAGE=oem-vagrant
+IMG_vagrant_parallels_OEM_SYSEXT=vagrant
## vmware
IMG_vmware_DISK_FORMAT=vmdk_scsi
IMG_vmware_DISK_LAYOUT=vm
IMG_vmware_CONF_FORMAT=vmx
-IMG_vmware_OEM_PACKAGE=common-oem-files
-IMG_vmware_OEM_SYSEXT=oem-vmware
+IMG_vmware_OEM_SYSEXT=vmware
## vmware_ova
+IMG_vmware_ova_BUNDLE_FORMAT=ova
IMG_vmware_ova_DISK_FORMAT=vmdk_stream
IMG_vmware_ova_DISK_LAYOUT=vm
IMG_vmware_ova_CONF_FORMAT=ovf_vmware
-IMG_vmware_ova_BUNDLE_FORMAT=ova
-IMG_vmware_ova_OEM_PACKAGE=common-oem-files
-IMG_vmware_ova_OEM_SYSEXT=oem-vmware
+IMG_vmware_ova_OEM_SYSEXT=vmware
## vmware_raw
-IMG_vmware_raw_OEM_PACKAGE=common-oem-files
-IMG_vmware_raw_OEM_SYSEXT=oem-vmware
+IMG_vmware_raw_OEM_SYSEXT=vmware
## parallels
IMG_parallels_BUNDLE_FORMAT=pvm_tgz
@@ -178,23 +141,19 @@ IMG_parallels_CONF_FORMAT=pvs
## ami
IMG_ami_vmdk_DISK_FORMAT=vmdk_stream
-IMG_ami_vmdk_OEM_PACKAGE=common-oem-files
-IMG_ami_vmdk_SYSEXT=oem-ami
IMG_ami_vmdk_DISK_LAYOUT=vm
-IMG_ami_OEM_PACKAGE=common-oem-files
-IMG_ami_OEM_SYSEXT=oem-ami
+IMG_ami_vmdk_OEM_SYSEXT=ami
IMG_ami_DISK_LAYOUT=vm
+IMG_ami_OEM_SYSEXT=ami
## openstack
IMG_openstack_DISK_FORMAT=qcow2
IMG_openstack_DISK_LAYOUT=vm
-IMG_openstack_OEM_PACKAGE=common-oem-files
-IMG_openstack_OEM_SYSEXT=oem-openstack
+IMG_openstack_OEM_SYSEXT=openstack
## openstack but without a resized root partition for more flexibility
IMG_openstack_mini_DISK_FORMAT=qcow2
-IMG_openstack_mini_OEM_PACKAGE=common-oem-files
-IMG_openstack_mini_OEM_SYSEXT=oem-openstack
+IMG_openstack_mini_OEM_SYSEXT=openstack
## pxe, which is an cpio image
IMG_pxe_DISK_FORMAT=cpio
@@ -211,83 +170,71 @@ IMG_iso_MEM=2048
## gce, image tarball
IMG_gce_DISK_LAYOUT=vm
IMG_gce_CONF_FORMAT=gce
-IMG_gce_OEM_PACKAGE=common-oem-files
-IMG_gce_OEM_SYSEXT=oem-gce
+IMG_gce_OEM_SYSEXT=gce
## cloudstack
-IMG_cloudstack_OEM_PACKAGE=oem-cloudstack
+IMG_cloudstack_OEM_SYSEXT=cloudstack
IMG_cloudstack_vhd_DISK_FORMAT=vhd
-IMG_cloudstack_vhd_OEM_PACKAGE=oem-cloudstack
+IMG_cloudstack_vhd_OEM_SYSEXT=cloudstack
## digitalocean
-IMG_digitalocean_OEM_PACKAGE=common-oem-files
-IMG_digitalocean_OEM_SYSEXT=oem-digitalocean
+IMG_digitalocean_OEM_SYSEXT=digitalocean
## exoscale
IMG_exoscale_DISK_FORMAT=qcow2
-IMG_exoscale_OEM_PACKAGE=oem-exoscale
+IMG_exoscale_OEM_SYSEXT=exoscale
## azure
IMG_azure_DISK_FORMAT=vhd_fixed
IMG_azure_DISK_LAYOUT=azure
-IMG_azure_OEM_PACKAGE=common-oem-files
-IMG_azure_OEM_SYSEXT=oem-azure
+IMG_azure_OEM_SYSEXT=azure
## hetzner
IMG_hetzner_DISK_LAYOUT=vm
-IMG_hetzner_OEM_PACKAGE=common-oem-files
-IMG_hetzner_OEM_SYSEXT=oem-hetzner
+IMG_hetzner_OEM_SYSEXT=hetzner
## hyper-v
IMG_hyperv_DISK_FORMAT=vhd
-IMG_hyperv_OEM_PACKAGE=common-oem-files
-IMG_hyperv_OEM_SYSEXT=oem-hyperv
+IMG_hyperv_OEM_SYSEXT=hyperv
## hyper-v vhdx
IMG_hyperv_vhdx_DISK_FORMAT=vhdx
-IMG_hyperv_vhdx_OEM_PACKAGE=common-oem-files
-IMG_hyperv_vhdx_OEM_SYSEXT=oem-hyperv
+IMG_hyperv_vhdx_OEM_SYSEXT=hyperv
## cloudsigma
IMG_cloudsigma_DISK_FORMAT=qcow2
-IMG_cloudsigma_OEM_PACKAGE=oem-cloudsigma
+IMG_cloudsigma_OEM_SYSEXT=cloudsigma
## scaleway
IMG_scaleway_DISK_FORMAT=qcow2
IMG_scaleway_DISK_LAYOUT=vm
-IMG_scaleway_OEM_PACKAGE=common-oem-files
-IMG_scaleway_OEM_SYSEXT=oem-scaleway
+IMG_scaleway_OEM_SYSEXT=scaleway
IMG_scaleway_DISK_EXTENSION=qcow2
## stackit
IMG_stackit_DISK_FORMAT=qcow2
IMG_stackit_DISK_LAYOUT=vm
-IMG_stackit_OEM_PACKAGE=common-oem-files
-IMG_stackit_OEM_SYSEXT=oem-stackit
+IMG_stackit_OEM_SYSEXT=stackit
## kubevirt
IMG_kubevirt_DISK_FORMAT=qcow2
IMG_kubevirt_DISK_LAYOUT=vm
-IMG_kubevirt_OEM_PACKAGE=common-oem-files
-IMG_kubevirt_OEM_SYSEXT=oem-kubevirt
+IMG_kubevirt_OEM_SYSEXT=kubevirt
IMG_kubevirt_DISK_EXTENSION=qcow2
## akamai (Linode)
IMG_akamai_DISK_LAYOUT=vm
-IMG_akamai_OEM_PACKAGE=common-oem-files
-IMG_akamai_OEM_SYSEXT=oem-akamai
+IMG_akamai_OEM_SYSEXT=akamai
# proxmoxve
IMG_proxmoxve_DISK_FORMAT=qcow2
IMG_proxmoxve_DISK_LAYOUT=vm
-IMG_proxmoxve_OEM_PACKAGE=common-oem-files
-IMG_proxmoxve_OEM_SYSEXT=oem-proxmoxve
+IMG_proxmoxve_OEM_SYSEXT=proxmoxve
## nutanix
IMG_nutanix_DISK_FORMAT=qcow2
IMG_nutanix_DISK_LAYOUT=vm
-IMG_nutanix_OEM_PACKAGE=common-oem-files
-IMG_nutanix_OEM_SYSEXT=oem-nutanix
+IMG_nutanix_OEM_SYSEXT=nutanix
###########################################################
@@ -320,18 +267,6 @@ set_vm_type() {
return 1
}
-# Validate and set the oem package, colon delimited USE optional
-set_vm_oem_pkg() {
- local oem_pkg="${1}" valid_pkg
- for valid_pkg in "${VALID_OEM_PACKAGES[@]}"; do
- if [[ "${oem_pkg}" == "${valid_pkg}" ]]; then
- IMG_FORCE_OEM_PACKAGE="oem-${oem_pkg}"
- return 0
- fi
- done
- return 1
-}
-
# Validate and set source vm image path
set_vm_paths() {
local src_dir="${1}"; shift
@@ -365,8 +300,7 @@ _get_vm_opt() {
local opt="$1"
local type_opt="IMG_${VM_IMG_TYPE}_${opt}"
local default_opt="IMG_DEFAULT_${opt}"
- local force_opt="IMG_FORCE_${opt}"
- echo "${!force_opt:-${!type_opt:-${!default_opt}}}"
+ echo "${!type_opt:-${!default_opt}}"
}
# Translate source image names to output names.
@@ -455,42 +389,6 @@ setup_disk_image() {
fi
}
-# If the current type defines a oem package install it to the given fs image.
-install_oem_package() {
- local oem_pkg=$(_get_vm_opt OEM_PACKAGE)
- local oem_use=$(_get_vm_opt OEM_USE)
- # The "${VM_IMG_TYPE}-oem-image-rootfs" directory name is
- # important - it is used to determine the package target in
- # coreos/base/profile.bashrc
- local oem_tmp="${VM_TMP_DIR}/${VM_IMG_TYPE}-oem-image-rootfs"
-
- if [[ -z "${oem_pkg}" ]]; then
- return 0
- fi
-
- # Split into two steps because we want to always install $oem_pkg from
- # the ebuild (build_packages doesn't handle it) *but* we never want to
- # build anything else from source here. emerge doesn't have a way to
- # enforce this in a single command.
- info "Building ${oem_pkg}"
- USE="${oem_use}" emerge-${BOARD} \
- --nodeps --buildpkgonly --usepkg n \
- --verbose "${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}" --sysroot="${oem_tmp}" \
- --usepkgonly ${getbinpkg} \
- --verbose --jobs=2 "${oem_pkg}"
- sudo rsync -a "${oem_tmp}/oem/" "${VM_TMP_ROOT}/oem/"
- sudo rm -rf "${oem_tmp}"
-}
-
# Install the prebuilt OEM sysext file into the OEM partition.
# The sysext should have been built by 'build_image oem_sysext'.
install_oem_sysext() {
@@ -500,7 +398,7 @@ install_oem_sysext() {
return 0
fi
- local prebuilt_sysext_filename="${oem_sysext}.raw"
+ local prebuilt_sysext_filename="oem-${oem_sysext}.raw"
local prebuilt_sysext_path="${FLAGS_from}/${prebuilt_sysext_filename}"
local version="${FLATCAR_VERSION}"
@@ -509,34 +407,27 @@ install_oem_sysext() {
fi
local installed_sysext_oem_dir='/oem/sysext'
- local installed_sysext_file_prefix="${oem_sysext}-${version}"
+ local installed_sysext_file_prefix="oem-${oem_sysext}-${version}"
local installed_sysext_filename="${installed_sysext_file_prefix}.raw"
local installed_sysext_abspath="${installed_sysext_oem_dir}/${installed_sysext_filename}"
- info "Installing ${oem_sysext} sysext from prebuilt image"
+ info "Installing oem-${oem_sysext} sysext from prebuilt image"
sudo install -Dpm 0644 \
"${prebuilt_sysext_path}" \
"${VM_TMP_ROOT}${installed_sysext_abspath}" ||
- die "Could not install ${oem_sysext} sysext"
+ die "Could not install oem-${oem_sysext} sysext"
# Mark the installed sysext as active.
- sudo touch "${VM_TMP_ROOT}${installed_sysext_oem_dir}/active-${oem_sysext}"
-}
+ sudo touch "${VM_TMP_ROOT}${installed_sysext_oem_dir}/active-oem-${oem_sysext}"
-# Any other tweaks required?
-run_fs_hook() {
- local fs_hook=$(_get_vm_opt FS_HOOK)
- if [[ -n "${fs_hook}" ]]; then
- info "Running ${fs_hook} fs hook"
- _run_${fs_hook}_fs_hook "$@"
- fi
-}
+ # Extract metadata from the sysext and write it to oem-release. Chop off the
+ # oem- prefix from SYSEXT_ID because that's how it has traditionally looked.
+ sudo systemd-dissect --json=short "${prebuilt_sysext_path}" | jq -r '.sysextRelease | .[]' |
+ sed -n -r -e "s/^SYSEXT_ID=oem-/SYSEXT_ID=/" -e "s/^SYSEXT_//p" |
+ sudo install -m0644 /dev/stdin "${VM_TMP_ROOT}/oem/oem-release"
-_run_box_fs_hook() {
- # Copy basic Vagrant configs from OEM
- mkdir -p "${VM_TMP_DIR}/box"
- cp -R "${VM_TMP_ROOT}/oem/box/." "${VM_TMP_DIR}/box"
- sudo rm -fr "${VM_TMP_ROOT}/oem/box"
+ # Copy the OEM-specific grub.cfg.
+ sudo install -m0644 "${BUILD_LIBRARY_DIR}/oem/${oem_sysext}/grub.cfg" "${VM_TMP_ROOT}/oem/grub.cfg"
}
# Write the vm disk image to the target directory in the proper format
@@ -980,11 +871,17 @@ EOF
VM_GENERATED_FILES+=( "$ovf" "${VM_README}" )
}
+_copy_vagrant_files() {
+ local oem_sysext=$(_get_vm_opt OEM_SYSEXT)
+ cp -r "${BUILD_LIBRARY_DIR}/oem/${oem_sysext}/build/box" "${VM_TMP_DIR}/"
+}
+
_write_vagrant_conf() {
local vm_mem="${1:-$(_get_vm_opt MEM)}"
local ovf="${VM_TMP_DIR}/box/box.ovf"
local mac="${VM_TMP_DIR}/box/base_mac.rb"
+ _copy_vagrant_files
"${BUILD_LIBRARY_DIR}/virtualbox_ovf.sh" \
--vm_name "$VM_NAME" \
--disk_vmdk "${VM_DST_IMG}" \
@@ -997,6 +894,7 @@ _write_vagrant_parallels_conf() {
local vm_mem="${1:-$(_get_vm_opt MEM)}"
local pvs=$(_dst_path ".pvs")
+ _copy_vagrant_files
"${BUILD_LIBRARY_DIR}/parallels_pvs.sh" \
--vm_name "$VM_NAME" \
--disk_image "$VM_DST_IMG" \
diff --git a/changelog/changes/2026-04-29-oem-sysexts.md b/changelog/changes/2026-04-29-oem-sysexts.md
new file mode 100644
index 0000000000..c625eca6f1
--- /dev/null
+++ b/changelog/changes/2026-04-29-oem-sysexts.md
@@ -0,0 +1 @@
+- All the legacy OEMs (CloudSigma, CloudStack, Exoscale, Vagrant, VirtualBox) have been converted to sysexts. The transition should be seamless, but the Flatcar team was only able to test VirtualBox with and without Vagrant, so please report any issues.
diff --git a/image_to_vm.sh b/image_to_vm.sh
index ded310ae5b..c9d392c07b 100755
--- a/image_to_vm.sh
+++ b/image_to_vm.sh
@@ -38,8 +38,6 @@ DEFINE_integer mem "${DEFAULT_MEM}" \
"Memory size for the vm config in MBs."
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 "" \
@@ -67,10 +65,6 @@ if ! set_vm_type "${FLAGS_format}"; then
die_notrace "Invalid format: ${FLAGS_format}"
fi
-if [ ! -z "${FLAGS_oem_pkg}" ] && ! set_vm_oem_pkg "${FLAGS_oem_pkg}"; then
- die_notrace "Invalid oem : ${FLAGS_oem_pkg}"
-fi
-
if [ -z "${FLAGS_board}" ] ; then
die_notrace "--board is required."
fi
@@ -117,10 +111,8 @@ fix_mtab
# Setup new (raw) image, possibly resizing filesystems
setup_disk_image "${FLAGS_disk_layout}"
-# Optionally install any OEM packages
-install_oem_package
+# Optionally install any OEM sysexts
install_oem_sysext
-run_fs_hook
# Changes done, glue it together
write_vm_disk
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r11.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r11.ebuild
deleted file mode 100644
index 434e7cf32e..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r11.ebuild
+++ /dev/null
@@ -1,158 +0,0 @@
-# Copyright (c) 2023 The Flatcar Maintainers.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# The hack below is there in order to avoid excessive duplication of
-# OEM IDs around the place. This ebuild serves as a Gentoo ebuild and
-# as a bash file to be sourced in order to get arch-specific
-# information about possible OEM IDs. The latter role is assumed when
-# the ebuild is sourced with first argument being
-# 'flatcar-local-variables'. Due to the requirements imposed by the
-# section 7.3.1 in Package Manager Specification (that says that EAPI
-# assignment must be the first non-comment, non-blank line in the
-# file), shell scripts wanting to source this ebuild for geting OEM
-# IDs, may need to declare EAPI as local, if it finds it suitable. The
-# role of sourced script is used by our image-changes job. All this
-# fluff needs to happen before we define or invoke any other
-# Gentoo-specific variables or functions like "DEPEND" or "inherit"
-# that may mess up sourcing.
-#
-# This can't be done with a separate shell file in FILESDIR, because
-# portage moves the ebuild into some temporary directory where
-# FILESDIR, although defined, does not even exist at first - it shows
-# up during the invocation of any src_ functions. Probably a security
-# measure or something.
-
-if [[ ${1:-} = 'flatcar-local-variables' ]]; then
- local -a COMMON_OEMIDS ARM64_ONLY_OEMIDS AMD64_ONLY_OEMIDS OEMIDS
-fi
-
-COMMON_OEMIDS=(
- akamai
- ami
- azure
- hetzner
- openstack
- proxmoxve
- qemu
- scaleway
- stackit
- kubevirt
-)
-
-ARM64_ONLY_OEMIDS=(
-)
-
-AMD64_ONLY_OEMIDS=(
- digitalocean
- gce
- hyperv
- vmware
- nutanix
-)
-
-OEMIDS=(
- "${COMMON_OEMIDS[@]}"
- "${ARM64_ONLY_OEMIDS[@]}"
- "${AMD64_ONLY_OEMIDS[@]}"
-)
-
-if [[ ${1:-} = 'flatcar-local-variables' ]]; then
- return 0
-else
- unset COMMON_OEMIDS ARM64_ONLY_OEMIDS AMD64_ONLY_OEMIDS
-fi
-
-DESCRIPTION='Common OEM files'
-HOMEPAGE='https://www.flatcar.org/'
-
-LICENSE='Apache-2.0'
-SLOT='0'
-KEYWORDS='amd64 arm64'
-IUSE="${OEMIDS[*]}"
-REQUIRED_USE="^^ ( ${OEMIDS[*]} )"
-
-# No source directory.
-S="${WORKDIR}"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-BDEPEND="
- app-portage/gentoolkit
-"
-
-src_compile() {
- local oemid package ebuild version name homepage lines oemid_cmdline
-
- for oemid in "${OEMIDS[@]}"; do
- if use "${oemid}"; then break; fi
- done
-
- package="coreos-base/oem-${oemid}"
- ebuild=$(equery which "${package}")
- version=${ebuild##*"oem-${oemid}-"}
- version=${version%%'.ebuild'}
- if [[ -z "${version}" ]]; then
- die "Could not deduce a version from ebuild ${ebuild##*/} (${ebuild})"
- fi
- name=$(source <(grep -F 'SYSEXT_NAME=' "${ebuild}"); echo "${SYSEXT_NAME}")
- if [[ -z "${name}" ]]; then
- die "Missing SYSEXT_NAME variable in ${ebuild##*/}"
- fi
- # We need to prefix the HOMEPAGE variable with SYSEXT_, because
- # portage marks HOMEPAGE as readonly and this gets propagated to
- # subshells, so sourcing a snippet with HOMEPAGE=foo won't
- # overwrite the readonly variable.
- homepage=$(source <(grep -F 'HOMEPAGE=' "${ebuild}" | sed -e 's/^/SYSEXT_/'); echo "${SYSEXT_HOMEPAGE}")
- lines=(
- "ID=${oemid}"
- "VERSION_ID=${version}"
- "NAME=\"${name}\""
- )
- if [[ -n "${homepage}" ]]; then
- lines+=( "HOME_URL=\"${homepage}\"" )
- fi
- lines+=(
- 'BUG_REPORT_URL="https://issues.flatcar.org"'
- )
-
- {
- printf '%s\n' "${lines[@]}"
- if [[ -e "${FILESDIR}/${oemid}/oem-release.frag" ]]; then
- cat "${FILESDIR}/${oemid}/oem-release.frag"
- fi
- } >"${T}/oem-release"
-
- oemid_cmdline="${oemid}"
-
- # In this specific case, the OEM ID from the oem-release file ('ami')
- # is different from the OEM ID kernel command line parameter ('ec2')
- # because some services like Afterburn or Ignition expects 'ec2|aws' value.
- if [[ "${oemid}" == "ami" ]]; then
- oemid_cmdline="ec2"
- fi
-
- # STACKIT is running on top of OpenStack, so the `oem_cmdline` has to be `openstack` for Ignition/Afterburn integration but the `oemid` has to stay `stackit` to load the correct `oem-stackit` sysext image.
- if [[ "${oemid}" == "stackit" ]]; then
- oemid_cmdline="openstack"
- fi
-
- lines=(
- '# Flatcar GRUB settings'
- ''
- "set oem_id=\"${oemid_cmdline}\""
- )
- {
- printf '%s\n' "${lines[@]}"
- if [[ -e "${FILESDIR}/${oemid}/grub.cfg.frag" ]]; then
- cat "${FILESDIR}/${oemid}/grub.cfg.frag"
- fi
- } >"${T}/grub.cfg"
-}
-
-src_install() {
- insinto "/oem"
- doins "${T}/grub.cfg"
- doins "${T}/oem-release"
-}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/openstack/grub.cfg.frag b/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/openstack/grub.cfg.frag
deleted file mode 100644
index 4f9e06c2c8..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/openstack/grub.cfg.frag
+++ /dev/null
@@ -1 +0,0 @@
-set linux_append="flatcar.autologin"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/proxmoxve/grub.cfg.frag b/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/proxmoxve/grub.cfg.frag
deleted file mode 100644
index 4f9e06c2c8..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/proxmoxve/grub.cfg.frag
+++ /dev/null
@@ -1 +0,0 @@
-set linux_append="flatcar.autologin"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/qemu/grub.cfg.frag b/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/qemu/grub.cfg.frag
deleted file mode 100644
index 4f9e06c2c8..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/qemu/grub.cfg.frag
+++ /dev/null
@@ -1 +0,0 @@
-set linux_append="flatcar.autologin"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/vmware/grub.cfg.frag b/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/vmware/grub.cfg.frag
deleted file mode 100644
index 4f9e06c2c8..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/vmware/grub.cfg.frag
+++ /dev/null
@@ -1 +0,0 @@
-set linux_append="flatcar.autologin"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/metadata.xml
deleted file mode 100644
index 7c900b19e8..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-akamai/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-akamai/metadata.xml
deleted file mode 100644
index 097975e3ad..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-akamai/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-akamai/oem-akamai-0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-akamai/oem-akamai-0.ebuild
index 3b46e4e624..ba2edcb27b 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-akamai/oem-akamai-0.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-akamai/oem-akamai-0.ebuild
@@ -5,11 +5,9 @@ EAPI=8
DESCRIPTION="OEM suite for Akamai (previously Linode)"
HOMEPAGE="https://www.linode.com"
-SRC_URI=""
-LICENSE="GPL-2"
+LICENSE="metapackage"
SLOT="0"
KEYWORDS="amd64 arm64"
-IUSE=""
SYSEXT_NAME="Akamai"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/metadata.xml
deleted file mode 100644
index 097975e3ad..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/oem-ami-3.3.2299.0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/oem-ami-3.3.2299.0.ebuild
index 55182be7b1..dfb1733cb1 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/oem-ami-3.3.2299.0.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ami/oem-ami-3.3.2299.0.ebuild
@@ -7,23 +7,19 @@ inherit systemd
DESCRIPTION="OEM suite for Amazon Machine Images"
HOMEPAGE="http://aws.amazon.com/ec2/"
-SRC_URI=""
+S="${WORKDIR}"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 arm64"
-IUSE=""
RDEPEND="
- ~app-emulation/amazon-ssm-agent-${PV}
- coreos-base/flatcar-eks
+ ~app-emulation/amazon-ssm-agent-${PV}
+ coreos-base/flatcar-eks
"
-# for coreos-base/common-oem-files
SYSEXT_NAME="Amazon EC2"
-S="${WORKDIR}"
-
src_install() {
systemd_dounit "${FILESDIR}/setup-oem.service"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/metadata.xml
deleted file mode 100644
index 097975e3ad..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/oem-azure-2.12.0.4-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/oem-azure-2.12.0.4-r2.ebuild
index 46b400b8c2..535b1b6c81 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/oem-azure-2.12.0.4-r2.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/oem-azure-2.12.0.4-r2.ebuild
@@ -7,12 +7,11 @@ inherit systemd tmpfiles
DESCRIPTION="OEM suite for Azure"
HOMEPAGE="https://azure.microsoft.com/"
-SRC_URI=""
+S="${WORKDIR}"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 arm64"
-IUSE=""
RDEPEND="
~app-emulation/wa-linux-agent-${PV}
@@ -22,10 +21,8 @@ RDEPEND="
sys-fs/inotify-tools
"
-# for coreos-base/common-oem-files
SYSEXT_NAME="Microsoft Azure"
-S="${WORKDIR}"
src_install() {
systemd_enable_service multi-user.target chronyd.service
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/metadata.xml
deleted file mode 100644
index 097975e3ad..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/oem-cloudsigma-0.0.3-r6.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/oem-cloudsigma-0.0.3-r6.ebuild
deleted file mode 100644
index 4ddf25036f..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/oem-cloudsigma-0.0.3-r6.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (c) 2015 CoreOS, Inc.. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="OEM suite for CloudSigma images"
-HOMEPAGE=""
-SRC_URI=""
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-# no source directory
-S="${WORKDIR}"
-
-src_prepare() {
- default
- sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
- "${FILESDIR}/cloud-config.yml" > "${T}/cloud-config.yml" || die
-}
-
-src_install() {
- insinto "/oem"
- doins "${T}/cloud-config.yml"
- doins "${FILESDIR}/grub.cfg"
-}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/oem-cloudsigma-1.0.0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/oem-cloudsigma-1.0.0.ebuild
new file mode 100644
index 0000000000..cb745c3459
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/oem-cloudsigma-1.0.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright (c) 2015 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="OEM suite for CloudSigma"
+HOMEPAGE="https://www.cloudsigma.com/"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+
+SYSEXT_NAME="CloudSigma"
+
+src_install() {
+ insinto /usr/share/flatcar
+ sed "s:@@OEM_VERSION_ID@@:${PVR}:g" "${FILESDIR}/cloud-config.yml" | newins - cloud-config.yml
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloud-config.yml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloud-config.yml
index 7301934316..ea30f7695b 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloud-config.yml
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloud-config.yml
@@ -12,7 +12,7 @@ coreos:
[Service]
Type=oneshot
StandardOutput=journal+console
- ExecStart=/oem/bin/cloudstack-ssh-key
+ ExecStart=/usr/bin/cloudstack-ssh-key
- name: cloudstack-cloudinit.service
command: restart
runtime: yes
@@ -25,10 +25,10 @@ coreos:
[Service]
Type=oneshot
EnvironmentFile=/etc/environment
- ExecStart=/oem/bin/cloudstack-coreos-cloudinit
+ ExecStart=/usr/bin/cloudstack-coreos-cloudinit
oem:
id: cloudstack
name: CloudStack
version-id: @@OEM_VERSION_ID@@
- home-url: http://cloudstack.apache.org/
+ home-url: https://cloudstack.apache.org/
bug-report-url: https://github.com/coreos/coreos-overlay
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloudstack-coreos-cloudinit b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloudstack-coreos-cloudinit
index 53d1c2aacd..4ee93ad98f 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloudstack-coreos-cloudinit
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloudstack-coreos-cloudinit
@@ -1,6 +1,6 @@
#!/bin/bash
-. /oem/bin/cloudstack-dhcp
+. /usr/bin/cloudstack-dhcp
DHCP_SERVER=$(get_dhcp_ip)
USERDATA_URL="http://${DHCP_SERVER}/latest/user-data"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloudstack-ssh-key b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloudstack-ssh-key
index 9116acd7c2..daa38cb89b 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloudstack-ssh-key
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloudstack-ssh-key
@@ -1,6 +1,6 @@
#!/bin/bash
-. /oem/bin/cloudstack-dhcp
+. /usr/bin/cloudstack-dhcp
DHCP_SERVER=$(get_dhcp_ip)
KEY_URL="http://${DHCP_SERVER}/latest/meta-data/public-keys"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/flatcar-setup-environment b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/flatcar-setup-environment
index b9c77dfa68..e1b59c68e3 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/flatcar-setup-environment
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/flatcar-setup-environment
@@ -18,7 +18,7 @@ sed -i -e '/^COREOS_PUBLIC_IPV4=/d' \
-e '/^COREOS_PRIVATE_IPV4=/d' \
"${ENV}"
-. /oem/bin/cloudstack-dhcp
+. /usr/bin/cloudstack-dhcp
DHCP_SERVER=$(get_dhcp_ip)
METADATA_URL="http://${DHCP_SERVER}/latest/meta-data/"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/metadata.xml
deleted file mode 100644
index 097975e3ad..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/oem-cloudstack-0.0.4-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/oem-cloudstack-0.0.4-r1.ebuild
deleted file mode 100644
index c7fe81d4c8..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/oem-cloudstack-0.0.4-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-#
-# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
-# Copyright (c) 2014 CoreOS, Inc.. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-# $Header:$
-#
-
-EAPI=7
-
-DESCRIPTION="OEM suite for CloudStack images"
-HOMEPAGE=""
-SRC_URI=""
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-# no source directory
-S="${WORKDIR}"
-
-src_prepare() {
- default
- sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
- "${FILESDIR}/cloud-config.yml" > "${T}/cloud-config.yml" || die
-}
-
-src_install() {
- into "/oem"
- dobin "${FILESDIR}/cloudstack-dhcp"
- dobin "${FILESDIR}/cloudstack-ssh-key"
- dobin "${FILESDIR}/cloudstack-coreos-cloudinit"
- dobin "${FILESDIR}/flatcar-setup-environment"
-
- insinto "/oem"
- doins "${T}/cloud-config.yml"
- doins "${FILESDIR}/grub.cfg"
-}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/oem-cloudstack-1.0.0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/oem-cloudstack-1.0.0.ebuild
new file mode 100644
index 0000000000..fc825e77fa
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/oem-cloudstack-1.0.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Copyright (c) 2014 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="OEM suite for CloudStack"
+HOMEPAGE="https://cloudstack.apache.org/"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+
+SYSEXT_NAME="CloudStack"
+
+src_install() {
+ insinto /usr/share/flatcar
+ sed "s:@@OEM_VERSION_ID@@:${PVR}:g" "${FILESDIR}/cloud-config.yml" | newins - cloud-config.yml
+
+ dobin "${FILESDIR}"/{cloudstack-{coreos-cloudinit,dhcp,ssh-key},flatcar-setup-environment}
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/metadata.xml
deleted file mode 100644
index 097975e3ad..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/oem-digitalocean-0.1.1-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/oem-digitalocean-0.1.1-r2.ebuild
index af78c6cd97..6b1b9e22d5 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/oem-digitalocean-0.1.1-r2.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/oem-digitalocean-0.1.1-r2.ebuild
@@ -3,13 +3,11 @@
EAPI=8
-DESCRIPTION="DigitalOcean suite for DigitalOcean"
+DESCRIPTION="OEM suite for DigitalOcean"
HOMEPAGE="https://www.digitalocean.com/"
-SRC_URI=""
-LICENSE="GPL-2"
+LICENSE="metapackage"
SLOT="0"
-KEYWORDS="amd64 arm64"
-IUSE=""
+KEYWORDS="amd64"
SYSEXT_NAME="DigitalOcean"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/cloud-config.yml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/cloud-config.yml
index f8602081f2..9f8a7582d7 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/cloud-config.yml
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/cloud-config.yml
@@ -12,7 +12,7 @@ coreos:
[Service]
Type=oneshot
StandardOutput=journal+console
- ExecStart=/oem/bin/exoscale-ssh-key
+ ExecStart=/usr/bin/exoscale-ssh-key
- name: exoscale-cloudinit.service
command: restart
runtime: yes
@@ -25,10 +25,10 @@ coreos:
[Service]
Type=oneshot
EnvironmentFile=/etc/environment
- ExecStart=/oem/bin/exoscale-coreos-cloudinit
+ ExecStart=/usr/bin/exoscale-coreos-cloudinit
oem:
id: exoscale
name: exoscale
version-id: @@OEM_VERSION_ID@@
- home-url: http://www.exoscale.ch
+ home-url: https://www.exoscale.com/
bug-report-url: https://github.com/coreos/coreos-overlay
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/exoscale-coreos-cloudinit b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/exoscale-coreos-cloudinit
index bd6be82f0f..5aa938dba8 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/exoscale-coreos-cloudinit
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/exoscale-coreos-cloudinit
@@ -1,6 +1,6 @@
#!/bin/bash
-. /oem/bin/exoscale-dhcp
+. /usr/bin/exoscale-dhcp
DHCP_SERVER=$(get_dhcp_ip)
USERDATA_URL="http://${DHCP_SERVER}/latest/user-data"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/exoscale-ssh-key b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/exoscale-ssh-key
index 85ae4521af..8153f1bf65 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/exoscale-ssh-key
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/exoscale-ssh-key
@@ -1,6 +1,6 @@
#!/bin/bash
-. /oem/bin/exoscale-dhcp
+. /usr/bin/exoscale-dhcp
DHCP_SERVER=$(get_dhcp_ip)
KEY_URL="http://${DHCP_SERVER}/latest/public-keys"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/flatcar-setup-environment b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/flatcar-setup-environment
index 763fcb0106..6e88103287 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/flatcar-setup-environment
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/flatcar-setup-environment
@@ -18,7 +18,7 @@ sed -i -e '/^COREOS_PUBLIC_IPV4=/d' \
-e '/^COREOS_PRIVATE_IPV4=/d' \
"${ENV}"
-. /oem/bin/exoscale-dhcp
+. /usr/bin/exoscale-dhcp
DHCP_SERVER=$(get_dhcp_ip)
METADATA_URL="http://${DHCP_SERVER}/latest/"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/metadata.xml
deleted file mode 100644
index 097975e3ad..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/oem-exoscale-0.0.5-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/oem-exoscale-0.0.5-r1.ebuild
deleted file mode 100644
index f2f8f2cba9..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/oem-exoscale-0.0.5-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-#
-# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
-# Copyright (c) 2014 CoreOS, Inc.. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-# $Header:$
-#
-
-EAPI=7
-
-DESCRIPTION="OEM suite for Exoscale images"
-HOMEPAGE=""
-SRC_URI=""
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-# no source directory
-S="${WORKDIR}"
-
-src_prepare() {
- default
- sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
- "${FILESDIR}/cloud-config.yml" > "${T}/cloud-config.yml" || die
-}
-
-src_install() {
- into "/oem"
- dobin "${FILESDIR}/exoscale-dhcp"
- dobin "${FILESDIR}/exoscale-ssh-key"
- dobin "${FILESDIR}/exoscale-coreos-cloudinit"
- dobin "${FILESDIR}/flatcar-setup-environment"
-
- insinto "/oem"
- doins "${T}/cloud-config.yml"
- doins "${FILESDIR}/grub.cfg"
-}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/oem-exoscale-1.0.0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/oem-exoscale-1.0.0.ebuild
new file mode 100644
index 0000000000..b5d3a35d1e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/oem-exoscale-1.0.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Copyright (c) 2014 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="OEM suite for Exoscale"
+HOMEPAGE="https://www.exoscale.com/"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+
+SYSEXT_NAME="Exoscale"
+
+src_install() {
+ insinto /usr/share/flatcar
+ sed "s:@@OEM_VERSION_ID@@:${PVR}:g" "${FILESDIR}/cloud-config.yml" | newins - cloud-config.yml
+
+ dobin "${FILESDIR}"/{exoscale-{coreos-cloudinit,dhcp,ssh-key},flatcar-setup-environment}
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/metadata.xml
deleted file mode 100644
index 097975e3ad..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20180823-r7.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20180823-r7.ebuild
deleted file mode 100644
index defa71046a..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20180823-r7.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright (c) 2013 CoreOS, Inc.. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-# Copyright (c) 2020 Kinvolk GmbH. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit systemd
-
-DESCRIPTION="OEM suite for Google Compute Engine images"
-HOMEPAGE="https://cloud.google.com/products/compute-engine/"
-SRC_URI=""
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE=""
-
-# no source directory
-S="${WORKDIR}"
-
-RDEPEND="
- app-emulation/google-compute-engine
-"
-
-SYSEXT_NAME="Google Compute Engine"
-
-src_install() {
- systemd_dounit "${FILESDIR}/units/oem-gce.service"
- systemd_dounit "${FILESDIR}/units/oem-gce-enable-oslogin.service"
- systemd_dounit "${FILESDIR}/units/setup-oem.service"
- systemd_install_dropin "multi-user.target" "${FILESDIR}/units/10-oem-gce.conf"
- systemd_enable_service "multi-user.target" "ntpd.service"
-
- dobin "${FILESDIR}/bin/enable-oslogin"
- dobin "${FILESDIR}/bin/init.sh"
-
- # These files will be symlinked to /etc via 'setup-oem.service'
- insinto /usr/share/gce/
- doins "${FILESDIR}/files/hosts"
- doins "${FILESDIR}/files/google-cloud-sdk.sh"
-}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20190124.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20190124.ebuild
new file mode 100644
index 0000000000..444f1ee764
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20190124.ebuild
@@ -0,0 +1,34 @@
+# Copyright (c) 2013 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+# Copyright (c) 2020 Kinvolk GmbH. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit systemd
+
+DESCRIPTION="OEM suite for Google Compute Engine"
+HOMEPAGE="https://cloud.google.com/products/compute-engine/"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ ~app-emulation/google-compute-engine-${PV}
+"
+
+SYSEXT_NAME="Google Compute Engine"
+
+src_install() {
+ systemd_dounit "${FILESDIR}"/units/{oem-gce,oem-gce-enable-oslogin,setup-oem}.service
+ systemd_install_dropin multi-user.target "${FILESDIR}"/units/10-oem-gce.conf
+ systemd_enable_service multi-user.target ntpd.service
+
+ dobin "${FILESDIR}"/bin/{enable-oslogin,init.sh}
+
+ # These files will be symlinked to /etc via 'setup-oem.service'
+ insinto /usr/share/gce
+ doins "${FILESDIR}"/files/{google-cloud-sdk.sh,hosts}
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hetzner/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hetzner/metadata.xml
deleted file mode 100644
index 097975e3ad..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hetzner/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hetzner/oem-hetzner-0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hetzner/oem-hetzner-0.ebuild
index bc64cf358b..e17292a550 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hetzner/oem-hetzner-0.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hetzner/oem-hetzner-0.ebuild
@@ -5,11 +5,9 @@ EAPI=8
DESCRIPTION="OEM suite for Hetzner"
HOMEPAGE="https://hetzner.com"
-SRC_URI=""
-LICENSE="GPL-2"
+LICENSE="metapackage"
SLOT="0"
KEYWORDS="amd64 arm64"
-IUSE=""
SYSEXT_NAME="Hetzner"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/files/oem-release b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/files/oem-release
deleted file mode 100644
index 1259a0aa68..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/files/oem-release
+++ /dev/null
@@ -1,4 +0,0 @@
-ID=hyperv
-VERSION_ID=@@OEM_VERSION_ID@@
-NAME="Microsoft Hyper-V"
-BUG_REPORT_URL="https://issues.flatcar.org"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/metadata.xml
deleted file mode 100644
index 097975e3ad..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/oem-hyperv-0.2.0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/oem-hyperv-0.2.0.ebuild
index 8fb1cbdf2c..0e5a8c51c1 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/oem-hyperv-0.2.0.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/oem-hyperv-0.2.0.ebuild
@@ -3,20 +3,13 @@
EAPI=8
-DESCRIPTION="OEM suite for Hyper-V"
-HOMEPAGE=""
-SRC_URI=""
+DESCRIPTION="OEM suite for Microsoft Hyper-V"
+HOMEPAGE="https://learn.microsoft.com/windows-server/virtualization/hyper-v/"
-LICENSE="Apache-2.0"
+LICENSE="metapackage"
SLOT="0"
KEYWORDS="amd64"
-IUSE=""
-RDEPEND="
- app-emulation/hv-daemons
-"
+RDEPEND="app-emulation/hv-daemons"
SYSEXT_NAME="Microsoft Hyper-V"
-
-# no source directory
-S="${WORKDIR}"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-kubevirt/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-kubevirt/metadata.xml
deleted file mode 100644
index 097975e3ad..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-kubevirt/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-kubevirt/oem-kubevirt-0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-kubevirt/oem-kubevirt-0.ebuild
index 23056fd5fa..93a563a4a5 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-kubevirt/oem-kubevirt-0.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-kubevirt/oem-kubevirt-0.ebuild
@@ -5,11 +5,9 @@ EAPI=8
DESCRIPTION="OEM suite for KubeVirt"
HOMEPAGE="https://kubevirt.io/"
-SRC_URI=""
-LICENSE="GPL-2"
+LICENSE="metapackage"
SLOT="0"
KEYWORDS="amd64 arm64"
-IUSE=""
SYSEXT_NAME="KubeVirt"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-nutanix/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-nutanix/metadata.xml
deleted file mode 100644
index 097975e3ad..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-nutanix/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-nutanix/oem-nutanix-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-nutanix/oem-nutanix-0.0.1.ebuild
index c420f785b1..84205a86b7 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-nutanix/oem-nutanix-0.0.1.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-nutanix/oem-nutanix-0.0.1.ebuild
@@ -5,11 +5,9 @@ EAPI=8
DESCRIPTION="OEM suite for Nutanix"
HOMEPAGE="https://www.nutanix.com/"
-SRC_URI=""
-LICENSE="GPL-2"
+LICENSE="metapackage"
SLOT="0"
KEYWORDS="amd64"
-IUSE=""
SYSEXT_NAME="Nutanix"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-openstack/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-openstack/metadata.xml
deleted file mode 100644
index 097975e3ad..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-openstack/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-openstack/oem-openstack-0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-openstack/oem-openstack-0.ebuild
index d90d9fc42e..dc36d7c372 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-openstack/oem-openstack-0.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-openstack/oem-openstack-0.ebuild
@@ -3,13 +3,11 @@
EAPI=8
-DESCRIPTION="OpenStack suite for OpenStack"
+DESCRIPTION="OEM suite for OpenStack"
HOMEPAGE="https://www.openstack.org/"
-SRC_URI=""
-LICENSE="GPL-2"
+LICENSE="metapackage"
SLOT="0"
KEYWORDS="amd64 arm64"
-IUSE=""
-SYSEXT_NAME="Openstack"
+SYSEXT_NAME="OpenStack"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-proxmoxve/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-proxmoxve/metadata.xml
deleted file mode 100644
index 097975e3ad..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-proxmoxve/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-proxmoxve/oem-proxmoxve-0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-proxmoxve/oem-proxmoxve-0.ebuild
index 0b98a1ae62..50f00c9ae7 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-proxmoxve/oem-proxmoxve-0.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-proxmoxve/oem-proxmoxve-0.ebuild
@@ -5,11 +5,9 @@ EAPI=8
DESCRIPTION="OEM suite for Proxmox VE"
HOMEPAGE="https://www.proxmox.com/en/proxmox-virtual-environment/"
-SRC_URI=""
-LICENSE="GPL-2"
+LICENSE="metapackage"
SLOT="0"
KEYWORDS="amd64 arm64"
-IUSE=""
SYSEXT_NAME="Proxmox VE"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-qemu/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-qemu/metadata.xml
deleted file mode 100644
index 097975e3ad..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-qemu/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-qemu/oem-qemu-0.0.2.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-qemu/oem-qemu-0.0.2.ebuild
index e8bf2f8900..8882394464 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-qemu/oem-qemu-0.0.2.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-qemu/oem-qemu-0.0.2.ebuild
@@ -5,11 +5,9 @@ EAPI=8
DESCRIPTION="OEM suite for QEMU"
HOMEPAGE="https://www.qemu.org/"
-SRC_URI=""
-LICENSE="GPL-2"
+LICENSE="metapackage"
SLOT="0"
KEYWORDS="amd64 arm64"
-IUSE=""
SYSEXT_NAME="QEMU"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-scaleway/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-scaleway/metadata.xml
deleted file mode 100644
index 097975e3ad..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-scaleway/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-scaleway/oem-scaleway-0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-scaleway/oem-scaleway-0.ebuild
index 0b2ba075b1..52ca3112d9 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-scaleway/oem-scaleway-0.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-scaleway/oem-scaleway-0.ebuild
@@ -5,11 +5,9 @@ EAPI=8
DESCRIPTION="OEM suite for Scaleway"
HOMEPAGE="https://www.scaleway.com"
-SRC_URI=""
-LICENSE="GPL-2"
+LICENSE="metapackage"
SLOT="0"
KEYWORDS="amd64 arm64"
-IUSE=""
SYSEXT_NAME="Scaleway"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-stackit/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-stackit/metadata.xml
deleted file mode 100644
index 097975e3ad..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-stackit/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-stackit/oem-stackit-0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-stackit/oem-stackit-0.ebuild
index 52f129c501..50150a1c26 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-stackit/oem-stackit-0.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-stackit/oem-stackit-0.ebuild
@@ -6,19 +6,14 @@ EAPI=8
inherit systemd tmpfiles
DESCRIPTION="OEM suite for STACKIT"
-HOMEPAGE="https://stackit.cloud"
-SRC_URI=""
+HOMEPAGE="https://stackit.com/"
+S="${WORKDIR}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 arm64"
-IUSE=""
-RDEPEND="
- net-misc/chrony
-"
-
-S="${WORKDIR}"
+RDEPEND="net-misc/chrony"
SYSEXT_NAME="STACKIT"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/cloud-config.yml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/cloud-config.yml
index 2666663f46..0a5946be82 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/cloud-config.yml
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/cloud-config.yml
@@ -19,7 +19,7 @@ coreos:
id: vagrant
name: Vagrant
version-id: @@OEM_VERSION_ID@@
- home-url: http://www.vagrantup.com/
+ home-url: https://developer.hashicorp.com/vagrant
bug-report-url: https://github.com/coreos/coreos-overlay
ssh_authorized_keys:
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/metadata.xml
deleted file mode 100644
index 097975e3ad..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/oem-vagrant-0.0.3-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/oem-vagrant-0.0.3-r1.ebuild
deleted file mode 100644
index cdfad54362..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/oem-vagrant-0.0.3-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2013 The CoreOS Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="OEM suite for vagrant images"
-HOMEPAGE=""
-SRC_URI=""
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE=""
-
-# no source directory
-S="${WORKDIR}"
-
-src_prepare() {
- default
- sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
- "${FILESDIR}/cloud-config.yml" > "${T}/cloud-config.yml" || die
-}
-
-src_install() {
- insinto "/oem"
- doins "${T}/cloud-config.yml"
- doins -r "${FILESDIR}/box"
- doins "${FILESDIR}/grub.cfg"
-
- into "/oem"
- dobin "${FILESDIR}/flatcar-setup-environment"
-}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/oem-vagrant-1.0.0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/oem-vagrant-1.0.0.ebuild
new file mode 100644
index 0000000000..c1cd1d82ee
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/oem-vagrant-1.0.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 2013 The CoreOS Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="OEM suite for Vagrant"
+HOMEPAGE="https://developer.hashicorp.com/vagrant"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+
+SYSEXT_NAME="Vagrant"
+
+src_install() {
+ insinto /usr/share/flatcar
+ sed "s:@@OEM_VERSION_ID@@:${PVR}:g" "${FILESDIR}/cloud-config.yml" | newins - cloud-config.yml
+
+ dobin "${FILESDIR}"/flatcar-setup-environment
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/files/oem-release b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/files/oem-release
deleted file mode 100644
index 8a357cf6ff..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/files/oem-release
+++ /dev/null
@@ -1,4 +0,0 @@
-ID=virtualbox
-VERSION_ID=@@OEM_VERSION_ID@@
-NAME="Oracle VirtualBox"
-BUG_REPORT_URL="https://issues.flatcar.org"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/metadata.xml
deleted file mode 100644
index 097975e3ad..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/oem-virtualbox-0.0.1-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/oem-virtualbox-0.0.1-r1.ebuild
deleted file mode 100644
index 091cea5773..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/oem-virtualbox-0.0.1-r1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2013 CoreOS, Inc.. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="OEM suite for VirtualBox"
-HOMEPAGE=""
-SRC_URI=""
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE=""
-
-# no source directory
-S="${WORKDIR}"
-
-src_prepare() {
- default
- sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
- "${FILESDIR}/oem-release" > "${T}/oem-release" || die
-}
-
-src_install() {
- insinto "/oem"
- doins "${FILESDIR}/grub.cfg"
- doins "${T}/oem-release"
-}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/oem-virtualbox-1.0.0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/oem-virtualbox-1.0.0.ebuild
new file mode 100644
index 0000000000..3af945d0db
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/oem-virtualbox-1.0.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright (c) 2013 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="OEM suite for Oracle VirtualBox"
+HOMEPAGE="https://www.virtualbox.org/"
+
+LICENSE="metapackage"
+SLOT="0"
+KEYWORDS="amd64"
+
+SYSEXT_NAME="Oracle VirtualBox"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/metadata.xml
deleted file mode 100644
index 097975e3ad..0000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/oem-vmware-13.0.10.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/oem-vmware-13.0.10.ebuild
index 1d4d750df8..d1aa3658cf 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/oem-vmware-13.0.10.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/oem-vmware-13.0.10.ebuild
@@ -7,21 +7,16 @@ inherit systemd
DESCRIPTION="OEM suite for VMware"
HOMEPAGE="https://www.vmware.com/"
-SRC_URI=""
+S="${WORKDIR}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 arm64"
-IUSE=""
+KEYWORDS="amd64"
RDEPEND="
~app-emulation/open-vm-tools-${PV}
"
-# no source directory
-S="${WORKDIR}"
-
-# for coreos-base/common-oem-files
SYSEXT_NAME="VMware"
src_install() {
diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/profile.bashrc b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/profile.bashrc
index 332ae8c341..bcc7b1d081 100644
--- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/profile.bashrc
+++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/profile.bashrc
@@ -12,7 +12,6 @@ CROS_ADDONS_TREE="/mnt/host/source/src/third_party/coreos-overlay/coreos"
# - generic-board (board sysroot)
# - generic-prod (production image)
# - generic-dev (developer container image)
-# - generic-oem-${name} (image for OEM ${name}, like azure, qemu_uefi)
# - generic-sysext-base-${name} (sysext image ${name} built-in into
# production image, usually docker or containerd)
# - generic-sysext-extra-${name} (extra sysext image ${name}, like
@@ -43,11 +42,6 @@ flatcar_target_ref() {
name=${name%-extra-sysext-rootfs}
type_ref="generic-sysext-extra-${name}"
;;
- */*-oem-image-rootfs)
- name=${ROOT##*/}
- name=${name%-oem-image-rootfs}
- type_ref="generic-oem-${name}"
- ;;
*/*-oem-sysext-rootfs)
name=${ROOT##*/}
name=${name%-oem-sysext-rootfs}
diff --git a/sdk_container/src/third_party/portage-stable/licenses/metapackage b/sdk_container/src/third_party/portage-stable/licenses/metapackage
new file mode 100644
index 0000000000..c831839493
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/licenses/metapackage
@@ -0,0 +1,6 @@
+This is a metapackage that (itself) installs no files, therefore no
+license is needed.
+
+This does not in any way imply under which licenses the packages in it
+are distributed. Check the metapackage's dependencies for their actual
+license terms.