diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 9f0d09083a8..260b8ba0bee 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -189,25 +189,15 @@ jobs:
images_out="images"
- has_packet=0
- has_pxe=0
- formats="${IMAGE_FORMATS}"
- for format in "${formats}";do
- [[ "${format}" = 'packet' ]] || [[ "${format}" = 'equinix_metal' ]] && has_packet=1
- [[ "${format}" = 'pxe' ]] && has_pxe=1
- done
-
- [[ ${has_packet} -eq 1 ]] && [[ ${has_pxe} -eq 0 ]] && set -- 'pxe' "${@}"
- if echo "$formats" | tr ' ' '\n' | grep -q '^vmware'; then
- formats=$(echo "$formats" | tr ' ' '\n' | sed '/vmware.*/d')
- formats+=" vmware vmware_insecure vmware_ova vmware_raw"
+ printf -v formats "%s\n" ${formats}
+ if grep -q '^vmware' <<< "${formats}"; then
+ formats=$(grep -v '^vmware' <<< "${formats}")
+ printf -v formats "%s\n" ${formats} vmware vmware_ova vmware_raw
fi
- if echo "$formats" | tr ' ' '\n' | grep -q -P '^(ami|aws)'; then
- formats=$(echo "$formats" | tr ' ' '\n' | sed '/ami.*/d' | sed '/aws/d')
- formats+=" ami ami_vmdk"
+ if printf "%s\n" $formats | grep -q '^ami\|^aws'; then
+ formats=$(grep -v '^ami\|^aws' <<< "${formats}")
+ printf -v formats "%s\n" ${formats} ami ami_vmdk
fi
- # Keep compatibility with SDK scripts where "equinix_metal" remains unknown.
- formats=$(echo "$formats" | tr ' ' '\n' | sed 's/equinix_metal/packet/g')
for format in ${formats}; do
if [ "${format}" = qemu ] || [ "${format}" = qemu_uefi_secure ]; then
diff --git a/build_library/check_root b/build_library/check_root
index 4b1bf255f60..62ee2c710a7 100755
--- a/build_library/check_root
+++ b/build_library/check_root
@@ -107,7 +107,6 @@ IGNORE_SHEBANG = (
"*/python[0-9].[0-9][0-9]/cgi.py",
"*/usr/lib64/modules/*/source/scripts/*",
"*/usr/lib/modules/*/source/scripts/*",
- "*/usr/share/nova-agent/*/etc/gentoo/nova-agent",
"*/tmp/*",
"*/Documentation/*",
"*/doc/*",
diff --git a/build_library/disk_layout.json b/build_library/disk_layout.json
index 2106b0f7377..7b30e4d5b11 100644
--- a/build_library/disk_layout.json
+++ b/build_library/disk_layout.json
@@ -98,14 +98,6 @@
"blocks":"33845248"
}
},
- "onmetal":{
- "7":{
- "label":"config-2",
- "fs_label":"config-2",
- "type":"data",
- "fs_type":"ext2"
- }
- },
"container":{
"1":{
"type":"blank"
diff --git a/build_library/extra_sysexts.sh b/build_library/extra_sysexts.sh
index 85ae7096fc3..444b3eb9a67 100644
--- a/build_library/extra_sysexts.sh
+++ b/build_library/extra_sysexts.sh
@@ -11,19 +11,3 @@ EXTRA_SYSEXTS=(
"python|dev-lang/python,dev-python/pip"
"zfs|sys-fs/zfs"
)
-
-_get_unversioned_sysext_packages_unsorted() {
- for sysext in "${EXTRA_SYSEXTS[@]}"; do
- IFS="|" read -r _ PACKAGE_ATOMS _ <<< "$sysext"
-
- IFS=,
- for atom in $PACKAGE_ATOMS; do
- qatom "$atom" -F "%{CATEGORY}/%{PN}"
- done
- unset IFS
- done
-}
-
-get_unversioned_sysext_packages() {
- _get_unversioned_sysext_packages_unsorted | sort | uniq
-}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/grub.cfg b/build_library/oem/akamai/grub.cfg
similarity index 54%
rename from sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/grub.cfg
rename to build_library/oem/akamai/grub.cfg
index d42817d100b..f91c71700b0 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/grub.cfg
+++ b/build_library/oem/akamai/grub.cfg
@@ -1,3 +1,3 @@
# Flatcar GRUB settings
-set oem_id="vagrant"
+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 d2a6607394d..7b18156766d 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 48d22ee8865..7fcbdad686d 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 00000000000..a595676b611
--- /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 d292e2faf0a..8366e12a550 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/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/files/grub.cfg b/build_library/oem/hetzner/grub.cfg
similarity index 52%
rename from sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/files/grub.cfg
rename to build_library/oem/hetzner/grub.cfg
index 8e05a0e0643..5bd68c28633 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/files/grub.cfg
+++ b/build_library/oem/hetzner/grub.cfg
@@ -1,3 +1,3 @@
# Flatcar GRUB settings
-set oem_id="rackspace"
+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 00000000000..4698c8d916d
--- /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 00000000000..7e91086e0b8
--- /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 00000000000..c450d1b465e
--- /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 00000000000..5db100dbbd1
--- /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 00000000000..2cd3a0a3105
--- /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 0b87566bceb..f9939237722 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 00000000000..b91b5a747e3
--- /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 70%
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
index 7bed8e36438..b58b5bf492e 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/Vagrantfile
+++ b/build_library/oem/vagrant/build/box/Vagrantfile
@@ -1,11 +1,8 @@
# -*- mode: ruby -*-
# # vi: set ft=ruby :
-if Vagrant::VERSION < "1.6.0"
- raise "Need at least vagrant version 1.6.0, please update"
-end
+Vagrant.require_version ">= 2.2.5"
-require_relative 'change_host_name.rb'
require_relative 'configure_networks.rb'
require_relative 'base_mac.rb'
@@ -27,6 +24,10 @@ Vagrant.configure("2") do |config|
# Fix docker not being able to resolve private registry in VirtualBox
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
+
+ if File.exist?("config.ign")
+ vb.customize ["guestproperty", "set", :id, "/Ignition/Config", File.read("config.ign")]
+ end
end
config.vm.provider :vmware_fusion do |vf|
@@ -38,4 +39,9 @@ Vagrant.configure("2") do |config|
prl.check_guest_tools = false
prl.functional_psf = false
end
- end
+
+ if File.exist?("user-data")
+ config.vm.provision :file, :source => "user-data", :destination => "/tmp/vagrantfile-user-data"
+ config.vm.provision :shell, :inline => "mv /tmp/vagrantfile-user-data /var/lib/flatcar-vagrant/", :privileged => true
+ end
+end
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/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-virtualbox/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-virtualbox/files/box/configure_networks.rb b/build_library/oem/vagrant/build/box/configure_networks.rb
similarity index 54%
rename from sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/box/configure_networks.rb
rename to build_library/oem/vagrant/build/box/configure_networks.rb
index 4788bd1b19f..be1eba73970 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/box/configure_networks.rb
+++ b/build_library/oem/vagrant/build/box/configure_networks.rb
@@ -1,8 +1,9 @@
# -*- mode: ruby -*-
# # vi: set ft=ruby :
-# NOTE: This monkey-patching is done to disable to old cloud config based
-# configure_networks built into the upstream vagrant project
+# NOTE: This monkey-patching is done to force cloud-init over NetworkManager.
+# Vagrant attempts to detect cloud-init, but Flatcar doesn't have an executable
+# under that name, only coreos-cloudinit.
require Vagrant.source_root.join("plugins/guests/coreos/cap/configure_networks.rb")
@@ -11,6 +12,7 @@ module GuestCoreOS
module Cap
class ConfigureNetworks
def self.configure_networks(machine, networks)
+ configure_networks_cloud_init(machine, networks)
end
end
end
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/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-key/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 00000000000..d58568ab54c
--- /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 7d50efc4bed..4042f12abf5 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}|${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/sysext_prod_builder b/build_library/sysext_prod_builder
index 8e570806303..5406c884d7d 100755
--- a/build_library/sysext_prod_builder
+++ b/build_library/sysext_prod_builder
@@ -15,6 +15,7 @@ SCRIPT_ROOT="$(cd "$(dirname "$(readlink -f "$0")")/../"; pwd)"
assert_inside_chroot
switch_to_strict_mode
+. "${BUILD_LIBRARY_DIR}/toolchain_util.sh" || exit 1
. "${BUILD_LIBRARY_DIR}/build_image_util.sh" || exit 1
# Create a sysext from a package and install it to the OS image.
diff --git a/build_library/test_oem_pkgs b/build_library/test_oem_pkgs
deleted file mode 100755
index b6c1230c09b..00000000000
--- a/build_library/test_oem_pkgs
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/bash
-
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-SCRIPT_ROOT=$(readlink -f $(dirname "$0")/..)
-. "${SCRIPT_ROOT}/common.sh" || exit 1
-. "${BUILD_LIBRARY_DIR}/vm_image_util.sh" || exit 1
-
-# We're invoked only by build_image, which runs in the chroot
-assert_inside_chroot
-
-# Die on any errors
-switch_to_strict_mode
-
-# all of this is amd64 only right now
-BOARD="amd64-usr"
-
-oem_uses() {
- local vm oem="$1"
- for vm in "${VALID_IMG_TYPES[@]}"; do
- local oem_var="IMG_${vm}_OEM_PACKAGE"
- local use_var="IMG_${vm}_OEM_USE"
- if [[ "${!oem_var}" == "${oem}" && -n "${!use_var}" ]]; then
- echo "${!use_var}"
- fi
- done | sort -u
-}
-
-for oem in "${VALID_OEM_PACKAGES[@]/#/oem-}"; do
- uses=( $(oem_uses "${oem}") )
- if [[ ${#uses} -eq 0 ]]; then
- uses=( "" )
- fi
-
- for use in "${uses[@]}"; do
- info "Checking ${oem}${use:+[${use}]}"
- USE="${use}" emerge-${BOARD} --usepkg --getbinpkg \
- --emptytree --pretend --verbose "coreos-base/${oem}"
- done
-done
diff --git a/build_library/virtualbox_ovf.sh b/build_library/virtualbox_ovf.sh
index 75083fbc5af..87ae54e38cd 100755
--- a/build_library/virtualbox_ovf.sh
+++ b/build_library/virtualbox_ovf.sh
@@ -6,9 +6,9 @@
SCRIPT_ROOT=$(readlink -f $(dirname "$0")/..)
. "${SCRIPT_ROOT}/common.sh" || exit 1
-DEFINE_string vm_name "CoreOS" "Name for this VM"
+DEFINE_string vm_name "Flatcar" "Name for this VM"
DEFINE_string disk_vmdk "" "Disk image to reference, only basename is used."
-DEFINE_integer memory_size 1024 "Memory size in MB"
+DEFINE_integer memory_size 2048 "Memory size in MB"
DEFINE_string output_ovf "" "Path to write ofv file to, required."
DEFINE_string output_vagrant "" "Path to write Vagrantfile to, optional."
@@ -90,12 +90,12 @@ if [[ -n "${FLAGS_output_ovf}" ]]; then
virtualbox-2.2
-
- 1 virtual CPU
+ 2 virtual CPUs
Number of virtual CPUs
- 1 virtual CPU
+ 2 virtual CPUs
1
3
- 1
+ 2
-
MegaBytes
@@ -108,21 +108,20 @@ if [[ -n "${FLAGS_output_ovf}" ]]; then
-
0
- ideController0
- IDE Controller
- ideController0
+ virtioSCSIController0
+ VirtioSCSI Controller
+ virtioSCSIController0
3
- PIIX4
- 5
+ VirtioSCSI
+ 20
-
- 1
- ideController1
- IDE Controller
- ideController1
+ 0
+ usb
+ USB Controller
+ usb
4
- PIIX4
- 5
+ 23
-
true
@@ -130,7 +129,6 @@ if [[ -n "${FLAGS_output_ovf}" ]]; then
NAT
Ethernet adapter on 'NAT'
5
- E1000
10
-
@@ -144,137 +142,47 @@ if [[ -n "${FLAGS_output_ovf}" ]]; then
17
-
+
Complete VirtualBox machine configuration in VirtualBox format
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
diff --git a/build_library/vm_image_util.sh b/build_library/vm_image_util.sh
index 4d4ab65af4f..32399068c2a 100644
--- a/build_library/vm_image_util.sh
+++ b/build_library/vm_image_util.sh
@@ -23,56 +23,22 @@ VALID_IMG_TYPES=(
kubevirt
openstack
openstack_mini
- packet
parallels
proxmoxve
pxe
qemu_uefi
- rackspace
- rackspace_onmetal
- rackspace_vhd
scaleway
stackit
vagrant
vagrant_parallels
- vagrant_virtualbox
- vagrant_vmware_fusion
virtualbox
vmware
- vmware_insecure
vmware_ova
vmware_raw
xen
nutanix
)
-#list of oem package names, minus the oem- prefix
-VALID_OEM_PACKAGES=(
- akamai
- azure
- cloudsigma
- cloudstack
- digitalocean
- exoscale
- gce
- hetzner
- hyperv
- kubevirt
- openstack
- packet
- proxmoxve
- qemu
- rackspace
- rackspace-onmetal
- scaleway
- stackit
- vagrant
- vagrant-key
- vagrant-virtualbox
- virtualbox
- vmware
-)
-
# Set at runtime to one of the above types
VM_IMG_TYPE=DEFAULT
@@ -94,24 +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=
-
-# USE flags for the OEM package
-IMG_DEFAULT_OEM_USE=
-
-# Forced USE flags for the OEM package
-IMG_FORCE_OEM_USE=
-
# 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=
@@ -141,9 +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_USE=qemu
-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
@@ -152,67 +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
-
-## vagrant_virtualbox
-IMG_vagrant_virtualbox_FS_HOOK=box
-IMG_vagrant_virtualbox_BUNDLE_FORMAT=box
-IMG_vagrant_virtualbox_DISK_FORMAT=vmdk_ide
-IMG_vagrant_virtualbox_DISK_LAYOUT=vagrant
-IMG_vagrant_virtualbox_CONF_FORMAT=vagrant
-IMG_vagrant_virtualbox_OEM_PACKAGE=oem-vagrant-virtualbox
-
-## vagrant_vmware
-IMG_vagrant_vmware_fusion_FS_HOOK=box
-IMG_vagrant_vmware_fusion_BUNDLE_FORMAT=box
-IMG_vagrant_vmware_fusion_DISK_FORMAT=vmdk_scsi
-IMG_vagrant_vmware_fusion_DISK_LAYOUT=vagrant
-IMG_vagrant_vmware_fusion_CONF_FORMAT=vagrant_vmware_fusion
-IMG_vagrant_vmware_fusion_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_USE=vmware
-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_USE=vmware
-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_USE=vmware
-IMG_vmware_raw_OEM_PACKAGE=common-oem-files
-IMG_vmware_raw_OEM_SYSEXT=oem-vmware
-
-## vmware_insecure
-IMG_vmware_insecure_DISK_FORMAT=vmdk_scsi
-IMG_vmware_insecure_DISK_LAYOUT=vm
-IMG_vmware_insecure_CONF_FORMAT=vmware_zip
-IMG_vmware_insecure_OEM_PACKAGE=oem-vagrant-key
+IMG_vmware_raw_OEM_SYSEXT=vmware
## parallels
IMG_parallels_BUNDLE_FORMAT=pvm_tgz
@@ -222,27 +141,19 @@ IMG_parallels_CONF_FORMAT=pvs
## ami
IMG_ami_vmdk_DISK_FORMAT=vmdk_stream
-IMG_ami_vmdk_OEM_USE=ami
-IMG_ami_vmdk_OEM_PACKAGE=common-oem-files
-IMG_ami_vmdk_SYSEXT=oem-ami
IMG_ami_vmdk_DISK_LAYOUT=vm
-IMG_ami_OEM_USE=ami
-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_USE=openstack
-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_USE=openstack
-IMG_openstack_mini_OEM_SYSEXT=oem-openstack
+IMG_openstack_mini_OEM_SYSEXT=openstack
## pxe, which is an cpio image
IMG_pxe_DISK_FORMAT=cpio
@@ -259,110 +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_USE=gce
-IMG_gce_OEM_SYSEXT=oem-gce
-
-## rackspace
-IMG_rackspace_OEM_PACKAGE=oem-rackspace
-IMG_rackspace_vhd_DISK_FORMAT=vhd
-IMG_rackspace_vhd_OEM_PACKAGE=oem-rackspace
-
-## rackspace onmetal
-IMG_rackspace_onmetal_DISK_FORMAT=qcow2
-IMG_rackspace_onmetal_DISK_LAYOUT=onmetal
-IMG_rackspace_onmetal_OEM_PACKAGE=oem-rackspace-onmetal
+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_USE=digitalocean
-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_USE=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_USE=hetzner
-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_USE=hyperv
-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_USE=hyperv
-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
-
-## packet
-IMG_packet_OEM_PACKAGE=common-oem-files
-IMG_packet_OEM_SYSEXT=oem-packet
-IMG_packet_OEM_USE=packet
+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_USE=scaleway
-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_USE=stackit
-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_USE=kubevirt
-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_USE=akamai
-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_USE=proxmoxve
-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_USE=nutanix
-IMG_nutanix_OEM_PACKAGE=common-oem-files
-IMG_nutanix_OEM_SYSEXT=oem-nutanix
+IMG_nutanix_OEM_SYSEXT=nutanix
###########################################################
@@ -395,20 +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%:*}" oem_use="${1##*:}"
- local valid_pkg
- for valid_pkg in "${VALID_OEM_PACKAGES[@]}"; do
- if [[ "${oem_pkg}" == "${valid_pkg}" ]]; then
- IMG_FORCE_OEM_PACKAGE="oem-${oem_pkg}"
- IMG_FORCE_OEM_USE="${oem_use}"
- return 0
- fi
- done
- return 1
-}
-
# Validate and set source vm image path
set_vm_paths() {
local src_dir="${1}"; shift
@@ -442,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.
@@ -532,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() {
@@ -577,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}"
@@ -586,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
@@ -922,15 +736,6 @@ You can pass extra kernel parameters with -append, for example:
When using -nographic or -serial you must also enable the serial console:
./$(basename "${script}") -nographic -append 'console=ttyS0,115200n8'
EOF
- local packetipxe="$(_dst_dir)/flatcar_production_packet.ipxe"
- cat > "$packetipxe" < "${VM_TMP_DIR}/insecure_ssh_key" < "${VM_README}" < "${VM_TMP_DIR}"/box/metadata.json < "${VM_TMP_DIR}"/box/metadata.json
mv "${image}" "${VM_TMP_DIR}/box"
tar -czf "${box}" -C "${VM_TMP_DIR}/box" .
- cat >"${json}" < "${json}"
+
VM_GENERATED_FILES+=( "${box}" "${json}" )
}
diff --git a/build_library/write_hdd.sh b/build_library/write_hdd.sh
index f6da7f94c35..85c892f3495 100755
--- a/build_library/write_hdd.sh
+++ b/build_library/write_hdd.sh
@@ -6,6 +6,7 @@
SCRIPT_ROOT=$(readlink -f $(dirname "$0")/..)
. "${SCRIPT_ROOT}/common.sh" || exit 1
+. "${BUILD_LIBRARY_DIR}/toolchain_util.sh" || exit 1
. "${BUILD_LIBRARY_DIR}/build_image_util.sh" || exit 1
DEFINE_string input_disk_image "" "Disk image to convert from, required."
diff --git a/build_packages b/build_packages
index 6f69b75d300..21b3945bc95 100755
--- a/build_packages
+++ b/build_packages
@@ -291,6 +291,10 @@ fi
export KBUILD_BUILD_USER="${BUILD_USER:-build}"
export KBUILD_BUILD_HOST="${BUILD_HOST:-pony-truck.infra.kinvolk.io}"
+# Gather a list of packages we build with --buildpkgonly to prevent them from
+# getting cleaned by `eclean --deep packages` below.
+eclean_excludes=$(mktemp) || die_notrace "Couldn't create temporary exclusions file for eclean"
+
# Build sysext packages from an array of sysext definitions.
# Usage: build_sysext_packages "description" "${SYSEXT_ARRAY[@]}"
# Array format: "name|packages|useflags|arches"
@@ -307,6 +311,7 @@ build_sysext_packages() {
info "Building packages for $sysext_name sysext with USE=$useflags"
IFS=,
+ qatom -F "%{CATEGORY}/%{PN}" ${package_atoms} >> "${eclean_excludes}"
for package in $package_atoms; do
# --buildpkgonly does not install dependencies, so we install them
# separately before building the binary package
@@ -375,13 +380,8 @@ if [[ "${FLAGS_usepkgonly}" -eq "${FLAGS_FALSE}" ]]; then
fi
fi
-exclusions_file=$(mktemp)
-if [ ! -f "$exclusions_file" ]; then
- die_notrace "Couldn't create temporary exclusions file $exclusions_file for eclean"
-fi
-get_unversioned_sysext_packages > "$exclusions_file"
-eclean-"$BOARD" -d --exclude-file="$exclusions_file" packages
-rm -f "$exclusions_file"
+eclean-"$BOARD" --deep --exclude-file="${eclean_excludes}" packages
+rm -f "${eclean_excludes}"
# run eclean again, this time without the --deep option, to clean old versions
# of sysext packages (those, for which .ebuild file no longer exists)
eclean-"$BOARD" packages
diff --git a/build_sysext b/build_sysext
index 89dab47defd..b53a209566b 100755
--- a/build_sysext
+++ b/build_sysext
@@ -22,7 +22,7 @@ default_install_root_basename='install-root'
DEFINE_string board "${DEFAULT_BOARD}" \
"The board to build a sysext for."
DEFINE_string metapkgs '' \
- "Comma-separated list of meta-packages to build from source and install into sysext image."
+ "Comma-separated list of binary meta-packages to install into the sysext image."
DEFINE_string squashfs_base '' \
"The path to the squashfs base image. Defaults to the most current image built in '${default_imagedir}/${FLATCAR_PRODUCTION_IMAGE_SYSEXT_BASE}'."
DEFINE_string image_builddir '' \
@@ -93,8 +93,8 @@ switch_to_strict_mode -uo pipefail
# Validate command line parameters
-SYSEXTNAME="${1:-}"
-if [[ -z "${SYSEXTNAME}" ]]; then
+SYSEXT_ID="${1:-}"
+if [[ -z "${SYSEXT_ID}" ]]; then
die "No sysext name provided."
fi
shift
@@ -206,9 +206,9 @@ if [ "$VERSION_BOARD" != "$FLATCAR_VERSION" ]; then
fi
if [[ -n "${FLAGS_metapkgs}" ]]; then
- mapfile -t metapkgs < <(tr ',' '\n' <<<"${FLAGS_metapkgs}")
- "emerge-${FLAGS_board}" --nodeps --buildpkgonly --usepkg n --verbose "${metapkgs[@]}"
- set -- "${metapkgs[@]}" "${@}"
+ IFS=,
+ set -- ${FLAGS_metapkgs} "${@}"
+ unset IFS
fi
if [[ ${#} -lt 1 ]]; then
@@ -216,7 +216,7 @@ if [[ ${#} -lt 1 ]]; then
show_help_if_requested -h
fi
-info "Building '${SYSEXTNAME}' sysext with (meta-)packages '${@}' in '${BUILD_DIR}' using '${FLAGS_compression}' compression".
+info "Building '${SYSEXT_ID}' sysext with (meta-)packages '${@}' in '${BUILD_DIR}' using '${FLAGS_compression}' compression".
for package; do
echo "Installing package into sysext image: $package"
@@ -232,6 +232,13 @@ for package; do
"${package}"
done
+# If there's only one package, grab its metadata for the sysext.
+unset PVR HOMEPAGE SYSEXT_NAME
+if [[ ${#} -eq 1 ]]; then
+ CPV=$(portageq best_version "${BUILD_DIR}/${FLAGS_install_root_basename}" "$1")
+ IFS=$'\n' read -r -d '' PVR HOMEPAGE SYSEXT_NAME < <(portageq metadata "${BUILD_DIR}/${FLAGS_install_root_basename}" installed "${CPV}" PVR HOMEPAGE SYSEXT_NAME; printf '\0')
+fi
+
# Make squashfs generation more reproducible.
export SOURCE_DATE_EPOCH=$(stat -c '%Y' "${BUILD_DIR}/fs-root/usr/lib/os-release")
@@ -240,16 +247,16 @@ umount "${BUILD_DIR}/${FLAGS_install_root_basename}"
umount "${BUILD_DIR}/fs-root"
if [[ "$FLAGS_generate_pkginfo" = "${FLAGS_TRUE}" ]] ; then
- info " Creating pkginfo squashfs '${BUILD_DIR}/${SYSEXTNAME}_pkginfo.raw'"
+ info " Creating pkginfo squashfs '${BUILD_DIR}/${SYSEXT_ID}_pkginfo.raw'"
mkdir -p "${BUILD_DIR}/img-pkginfo/var/db"
cp -R "${BUILD_DIR}/${FLAGS_install_root_basename}/var/db/pkg" "${BUILD_DIR}/img-pkginfo/var/db/"
- mksquashfs "${BUILD_DIR}/img-pkginfo" "${BUILD_DIR}/${SYSEXTNAME}_pkginfo.raw" \
+ mksquashfs "${BUILD_DIR}/img-pkginfo" "${BUILD_DIR}/${SYSEXT_ID}_pkginfo.raw" \
-noappend -xattrs-exclude '^btrfs.' -comp zstd -Xcompression-level 22 -b 512k
fi
-info "Writing ${SYSEXTNAME}_packages.txt"
+info "Writing ${SYSEXT_ID}_packages.txt"
ROOT="${BUILD_DIR}/${FLAGS_install_root_basename}" PORTAGE_CONFIGROOT="/build/${FLAGS_board}" \
- equery --no-color list --format '$cpv::$repo' '*' > "${BUILD_DIR}/${SYSEXTNAME}_packages.txt"
+ equery --no-color list --format '$cpv::$repo' '*' > "${BUILD_DIR}/${SYSEXT_ID}_packages.txt"
if [[ "${FLAGS_strip_binaries}" = "${FLAGS_TRUE}" ]]; then
@@ -282,15 +289,18 @@ for entry in "${BUILD_DIR}/${FLAGS_install_root_basename}"/*; do
info " Removing ${entry##*/}"
rm -rf "${entry}"
done
-mkdir -p "${BUILD_DIR}/${FLAGS_install_root_basename}/usr/lib/extension-release.d"
-version_field="${VERSION_FIELD_OVERRIDE:-VERSION_ID=${FLATCAR_VERSION_ID}}"
-all_fields=(
- 'ID=flatcar'
- "${version_field}"
- "ARCHITECTURE=${ARCH}"
- "EXTENSION_RELOAD_MANAGER=1"
-)
-printf '%s\n' "${all_fields[@]}" >"${BUILD_DIR}/${FLAGS_install_root_basename}/usr/lib/extension-release.d/extension-release.${SYSEXTNAME}"
+
+grep . </dev/null)" = y ]; then attr -R -r overlay.opaque {}; fi' \;
@@ -325,7 +335,7 @@ systemd-repart \
--certificate="${SYSEXT_SIGNING_KEY_DIR}/sysexts.crt" \
--make-ddi=sysext \
--copy-source="${BUILD_DIR}/${FLAGS_install_root_basename}" \
- "${BUILD_DIR}/${SYSEXTNAME}.raw"
+ "${BUILD_DIR}/${SYSEXT_ID}.raw"
rm -rf "${BUILD_DIR}"/{fs-root,"${FLAGS_install_root_basename}",workdir}
@@ -335,10 +345,10 @@ systemd-dissect --read-only \
--mount \
--mkdir \
--image-policy='root=encrypted+unprotected+absent:usr=encrypted+unprotected+absent' \
- "${BUILD_DIR}/${SYSEXTNAME}.raw" \
+ "${BUILD_DIR}/${SYSEXT_ID}.raw" \
"${BUILD_DIR}/img-rootfs"
-write_contents "${BUILD_DIR}/img-rootfs" "${BUILD_DIR}/${SYSEXTNAME}_contents.txt"
-write_contents_with_technical_details "${BUILD_DIR}/img-rootfs" "${BUILD_DIR}/${SYSEXTNAME}_contents_wtd.txt"
-write_disk_space_usage_in_paths "${BUILD_DIR}/img-rootfs" "${BUILD_DIR}/${SYSEXTNAME}_disk_usage.txt"
+write_contents "${BUILD_DIR}/img-rootfs" "${BUILD_DIR}/${SYSEXT_ID}_contents.txt"
+write_contents_with_technical_details "${BUILD_DIR}/img-rootfs" "${BUILD_DIR}/${SYSEXT_ID}_contents_wtd.txt"
+write_disk_space_usage_in_paths "${BUILD_DIR}/img-rootfs" "${BUILD_DIR}/${SYSEXT_ID}_disk_usage.txt"
systemd-dissect --umount --rmdir "${BUILD_DIR}/img-rootfs"
diff --git a/changelog/bugfixes/2026-04-28-virtualbox.md b/changelog/bugfixes/2026-04-28-virtualbox.md
new file mode 100644
index 00000000000..9990aa1a49a
--- /dev/null
+++ b/changelog/bugfixes/2026-04-28-virtualbox.md
@@ -0,0 +1 @@
+- Fixed booting the VirtualBox image, which was broken since upstream Ignition changed how their VirtualBox support works. The Vagrant VirtualBox image was unaffected.
diff --git a/changelog/changes/2026-04-23-equinix-metal.md b/changelog/changes/2026-04-23-equinix-metal.md
new file mode 100644
index 00000000000..7316a5b5444
--- /dev/null
+++ b/changelog/changes/2026-04-23-equinix-metal.md
@@ -0,0 +1 @@
+- Dropped support for Equinix Metal (Packet). The servers are due to be switched off on June 30th 2026.
diff --git a/changelog/changes/2026-04-23-rackspace.md b/changelog/changes/2026-04-23-rackspace.md
new file mode 100644
index 00000000000..89e4d29988b
--- /dev/null
+++ b/changelog/changes/2026-04-23-rackspace.md
@@ -0,0 +1 @@
+- Dropped support for Rackspace, including OnMetal. Rackspace-specific images are no longer built or published. Flatcar only had community level support for Rackspace, and the Flatcar team is no longer confident that this support actually works. Rackspace themselves have pivoted from being an independent cloud provider to being a management platform for other clouds.
diff --git a/changelog/changes/2026-04-27-vagrant-virtualbox.md b/changelog/changes/2026-04-27-vagrant-virtualbox.md
new file mode 100644
index 00000000000..ab5e86dcbd1
--- /dev/null
+++ b/changelog/changes/2026-04-27-vagrant-virtualbox.md
@@ -0,0 +1 @@
+- Dropped the Vagrant VirtualBox image because the regular Vagrant image also targets VirtualBox. The only difference between them was that the former was geared for provisioning with Ignition and Afterburn rather than cloud-config and Vagrant itself. The Ignition support was broken when it was dropped by upsteam. A single image can handle Ignition, cloud-config, and Vagrant. The Afterburn support has been dropped entirely.
diff --git a/changelog/changes/2026-04-27-vmware-insecure.md b/changelog/changes/2026-04-27-vmware-insecure.md
new file mode 100644
index 00000000000..a593f178e21
--- /dev/null
+++ b/changelog/changes/2026-04-27-vmware-insecure.md
@@ -0,0 +1 @@
+- Dropped the VMware "insecure" image. This was added a long time ago, and it is not clear to the current Flatcar team what purpose it served. It included the Vagrant insecure SSH key but without the other Vagrant files. If you want to use Vagrant, then do so with VirtualBox or Parallels. If you want to deploy onto VMware quickly, then use the OVA image.
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 00000000000..c625eca6f16
--- /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/changelog/changes/2026-04-29-vagrant.md b/changelog/changes/2026-04-29-vagrant.md
new file mode 100644
index 00000000000..764ff08c94b
--- /dev/null
+++ b/changelog/changes/2026-04-29-vagrant.md
@@ -0,0 +1 @@
+- Refreshed the Vagrant and Vagrant Parallels images for use with recent Vagrant releases, adding implicit support for provisioning with Ignition (VirtualBox only) or cloud-config. Vagrant 2.2.5 is now required. See the revised documentation for further details.
diff --git a/changelog/changes/2026-05-06-ovf-refresh.md b/changelog/changes/2026-05-06-ovf-refresh.md
new file mode 100644
index 00000000000..6b6f4880eee
--- /dev/null
+++ b/changelog/changes/2026-05-06-ovf-refresh.md
@@ -0,0 +1 @@
+- Refreshed the VirtualBox OVF (which is also used by the Vagrant image) so that VMs are configured with modern hardware, including a VirtIO storage controller and UEFI. The clock is configured for UTC rather than local time.
diff --git a/ci-automation/test.sh b/ci-automation/test.sh
index 24ba85bb19e..c8db48edd01 100644
--- a/ci-automation/test.sh
+++ b/ci-automation/test.sh
@@ -27,7 +27,7 @@
#
# 1. Architecture (ARCH) of the TARGET vm images ("arm64", "amd64").
# 2. Image type to be tested. One of:
-# ami, azure, azure_pro, digitalocean, gce, gce_pro, packet, qemu, qemu_uefi, vmware
+# ami, azure, azure_pro, digitalocean, gce, gce_pro, qemu, qemu_uefi, vmware
#
# OPTIONAL INPUT:
#
diff --git a/ci-automation/vms.sh b/ci-automation/vms.sh
index 26f98ee4e15..1f4074dbdbe 100644
--- a/ci-automation/vms.sh
+++ b/ci-automation/vms.sh
@@ -79,28 +79,16 @@ function _vm_build_impl() {
apply_local_patches
- # automatically add PXE to formats if we build for Equinix Metal (packet).
- local has_packet=0
- local has_pxe=0
- for format; do
- [[ "${format}" = 'packet' ]] || [[ "${format}" = 'equinix_metal' ]] && has_packet=1
- [[ "${format}" = 'pxe' ]] && has_pxe=1
- done
-
- [[ ${has_packet} -eq 1 ]] && [[ ${has_pxe} -eq 0 ]] && set -- 'pxe' "${@}"
-
# Convert platform names (also used to find the test scripts) to image formats they entail
- formats="$*"
- if echo "$formats" | tr ' ' '\n' | grep -q '^vmware'; then
- formats=$(echo "$formats" | tr ' ' '\n' | sed '/vmware.*/d')
- formats+=" vmware vmware_insecure vmware_ova vmware_raw"
+ printf -v formats "%s\n" ${formats}
+ if grep -q '^vmware' <<< "${formats}"; then
+ formats=$(grep -v '^vmware' <<< "${formats}")
+ printf -v formats "%s\n" ${formats} vmware vmware_ova vmware_raw
fi
- if echo "$formats" | tr ' ' '\n' | grep -q -P '^(ami|aws)'; then
- formats=$(echo "$formats" | tr ' ' '\n' | sed '/ami.*/d' | sed '/aws/d')
- formats+=" ami ami_vmdk"
+ if printf "%s\n" $formats | grep -q '^ami\|^aws'; then
+ formats=$(grep -v '^ami\|^aws' <<< "${formats}")
+ printf -v formats "%s\n" ${formats} ami ami_vmdk
fi
- # Keep compatibility with SDK scripts where "equinix_metal" remains unknown.
- formats=$(echo "$formats" | tr ' ' '\n' | sed 's/equinix_metal/packet/g')
source sdk_lib/sdk_container_common.sh
diff --git a/image_to_vm.sh b/image_to_vm.sh
index ded310ae5b6..c9d392c07b1 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/pkg_auto/impl/for-shellcheck/globals b/pkg_auto/impl/for-shellcheck/globals
index f2060a0238c..ed5974c2c20 100644
--- a/pkg_auto/impl/for-shellcheck/globals
+++ b/pkg_auto/impl/for-shellcheck/globals
@@ -56,7 +56,6 @@ LISTING_KINDS=(
['hetzner']='oem-hetzner_packages.txt'
['kubevirt']='oem-kubevirt_packages.txt'
['openstack']='oem-openstack_packages.txt'
- ['packet']='oem-packet_packages.txt'
['prod']='flatcar_production_image_packages.txt'
['proxmoxve']='oem-proxmoxve_packages.txt'
['qemu']='oem-qemu_packages.txt'
diff --git a/sdk_container/src/third_party/coreos-overlay/README.md b/sdk_container/src/third_party/coreos-overlay/README.md
index 150fb7b6493..363fdfb20a3 100644
--- a/sdk_container/src/third_party/coreos-overlay/README.md
+++ b/sdk_container/src/third_party/coreos-overlay/README.md
@@ -23,13 +23,12 @@ gets built into a developer image and is not OEM specific.
gets built into the Container Linux SDK.
`coreos-devel/board-packages` is everything that could be built into a
-development or production image, plus any OEM specific packages.
+development or production image.
`coreos-base/oem-*` are the OEM specific packages. They mostly install things
-that belong in the OEM partition. Any RDEPENDS from these packages should
-be copied to the RDEPENDS in `board-packages` to ensure they are built.
+that belong in the OEM partition.
-`coreos-base/coreos-oem-*` are metapackages for OEM specific ACIs.
+`coreos-base/coreos-oem-*` are metapackages for OEM specific ACIs.
# Updating
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/Manifest b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/Manifest
index 07cb0e1d699..7aeb05363e4 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/Manifest
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/Manifest
@@ -1,3 +1,2 @@
DIST afterburn-5.10.0-vendor.tar.gz 21824451 BLAKE2B fe263d51ce29ac6cee2d3974153ee73acca9f40abc80747cf40ab7ee69638a66fa3861f288033a976ecacaaf047611f547364e4abb9ed6a729cd7d77b498441e SHA512 ac186e88a9ced2195f80540ad686ce34352c9d854439afabc31ec0838c12e4f8614e273370b3778137a435b7fc088a040106ea29b7ed8df3c70caeac7a0bb6ec
DIST afterburn-5.10.0.tar.gz 133765 BLAKE2B 3297a99d744a446532f8811f4d68741fafac32d47b6e7fcc63d5f7ec8f126462f76f3dbf5674e4267ae393c245f01c8a4ff2daaafa783cef44dededfdaa1c3eb SHA512 4f1f61b385d109451908c996336a6491323ac531d730a974ec23ef30d90fba75f07f530936dcccd35239e6a394a93e633db21dafd599a374bea9f342fd221c83
-DIST hostname-0.4.2.crate 12983 BLAKE2B a72e015d1bfd99828a9b1402a745968d578343c81301549cca0d5a4a5814a51c1eb58f7ed937ed75a6a6be385c340bf662d5d51cf401aa21809d1c893ff207f2 SHA512 57d7688fd7e724fe95b2d275d7cd11056e829318ff9683b59617575d94d5951eeb328ef2426bb16f4172bea461d0248cece573f212b6d2d8d3d0252981def4a6
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-5.10.0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-5.10.0-r1.ebuild
similarity index 100%
rename from sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-5.10.0.ebuild
rename to sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-5.10.0-r1.ebuild
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-9999.ebuild
index fbd3b48bcd3..2b59f6d0f63 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-9999.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-9999.ebuild
@@ -3,12 +3,8 @@
EAPI=8
-# This crate is required by our patch but missing from the vendor tarball.
-CRATES="hostname@0.4.2"
-
inherit cargo systemd
-SRC_URI="${CARGO_CRATE_URIS}"
DESCRIPTION="A tool for collecting instance metadata from various providers"
HOMEPAGE="https://github.com/coreos/afterburn"
@@ -16,7 +12,7 @@ if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/coreos/afterburn.git"
inherit git-r3
else
- SRC_URI+=" https://github.com/coreos/afterburn/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ SRC_URI="https://github.com/coreos/afterburn/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
https://github.com/coreos/afterburn/releases/download/v${PV}/${P}-vendor.tar.gz"
KEYWORDS="amd64 arm64"
ECARGO_VENDOR="${WORKDIR}/vendor"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/0001-Revert-remove-cl-legacy-feature.patch b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/0001-Revert-remove-cl-legacy-feature.patch
index ebaeab91e9f..cd03da47388 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/0001-Revert-remove-cl-legacy-feature.patch
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/0001-Revert-remove-cl-legacy-feature.patch
@@ -5,73 +5,14 @@ Subject: [PATCH 1/3] Revert "*: remove cl-legacy feature"
This reverts commit 3e4b623b390ab756a6be963eec7198b3e7f44e20.
-(dpark: Re-add hostname crate and its dependencies, as they are not
- included by default in 5.5.)
-
Signed-off-by: Mathieu Tortuyaux
Signed-off-by: Dongsu Park
----
- Cargo.lock | 33 ++++++++++-
- Cargo.toml | 4 ++
- src/metadata.rs | 8 +++
- src/providers/mod.rs | 2 +
- src/providers/vagrant_virtualbox/mod.rs | 79 +++++++++++++++++++++++++
- src/util/cmdline.rs | 4 ++
- 6 files changed, 129 insertions(+), 1 deletion(-)
- create mode 100644 src/providers/vagrant_virtualbox/mod.rs
-diff --git a/Cargo.lock b/Cargo.lock
-index a4b7224..c2e3cc9 100644
---- a/Cargo.lock
-+++ b/Cargo.lock
-@@ -31,6 +31,7 @@ dependencies = [
- "base64 0.22.1",
- "cfg-if",
- "clap",
-+ "hostname",
- "ipnetwork",
- "libflate",
- "libsystemd",
-@@ -812,6 +813,17 @@ dependencies = [
- "digest",
- ]
-
-+[[package]]
-+name = "hostname"
-+version = "0.4.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "617aaa3557aef3810a6369d0a99fac8a080891b68bd9f9812a1eeda0c0730cbd"
-+dependencies = [
-+ "cfg-if",
-+ "libc",
-+ "windows-link 0.2.0",
-+]
-+
- [[package]]
- name = "http"
- version = "1.3.1"
-@@ -2478,6 +2490,16 @@ version = "0.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65"
-
-+[[package]]
-+name = "windows"
-+version = "0.62.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9579d0e6970fd5250aa29aba5994052385ff55cf7b28a059e484bb79ea842e42"
-+dependencies = [
-+ "windows-core",
-+ "windows-targets 0.52.6",
-+]
-+
- [[package]]
- name = "windows-registry"
- version = "0.5.3"
diff --git a/Cargo.toml b/Cargo.toml
index 0929be8..7cd4b91 100644
--- a/Cargo.toml
+++ b/Cargo.toml
-@@ -33,11 +33,15 @@ path = "src/main.rs"
+@@ -33,6 +33,9 @@ path = "src/main.rs"
# We assume we're being delivered via e.g. RPM which supports split debuginfo
debug = true
@@ -81,25 +22,10 @@ index 0929be8..7cd4b91 100644
[dependencies]
anyhow = "1.0"
base64 = "0.22"
- cfg-if = "1.0"
- clap = { version = "4", "default-features" = false, "features" = ["std", "cargo", "derive", "error-context", "help", "suggestions", "usage", "wrap_help"] }
-+hostname = "0.4.0"
- ipnetwork = ">= 0.17, < 0.22"
- libflate = "2.1"
- libsystemd = ">= 0.2.1, < 0.8.0"
diff --git a/src/metadata.rs b/src/metadata.rs
index 94f9238..2ad1c8e 100644
--- a/src/metadata.rs
+++ b/src/metadata.rs
-@@ -35,6 +35,8 @@ use crate::providers::packet::PacketProvider;
- use crate::providers::powervs::PowerVSProvider;
- use crate::providers::proxmoxve;
- use crate::providers::scaleway::ScalewayProvider;
-+#[cfg(feature = "cl-legacy")]
-+use crate::providers::vagrant_virtualbox::VagrantVirtualboxProvider;
- use crate::providers::upcloud::UpCloudProvider;
- use crate::providers::vmware::VmwareProvider;
- use crate::providers::vultr::VultrProvider;
@@ -60,6 +62,10 @@ pub fn fetch_metadata(provider: &str) -> Result box_result!(ConfigDrive::try_new()?),
"digitalocean" => box_result!(DigitalOceanProvider::try_new()?),
@@ -111,114 +37,6 @@ index 94f9238..2ad1c8e 100644
"gcp" => box_result!(GcpProvider::try_new()?),
"hetzner" => box_result!(HetznerProvider::try_new()?),
// IBM Cloud - VPC Generation 2.
-@@ -73,6 +79,8 @@ pub fn fetch_metadata(provider: &str) -> Result box_result!(PowerVSProvider::try_new()?),
- "proxmoxve" => proxmoxve::try_config_drive_else_leave(),
- "scaleway" => box_result!(ScalewayProvider::try_new()?),
-+ #[cfg(feature = "cl-legacy")]
-+ "vagrant-virtualbox" => box_result!(VagrantVirtualboxProvider::new()),
- "upcloud" => box_result!(UpCloudProvider::try_new()?),
- "vmware" => box_result!(VmwareProvider::try_new()?),
- "vultr" => box_result!(VultrProvider::try_new()?),
-diff --git a/src/providers/mod.rs b/src/providers/mod.rs
-index e17d551..6fe44b6 100644
---- a/src/providers/mod.rs
-+++ b/src/providers/mod.rs
-@@ -40,6 +40,8 @@ pub mod packet;
- pub mod powervs;
- pub mod proxmoxve;
- pub mod scaleway;
-+#[cfg(feature = "cl-legacy")]
-+pub mod vagrant_virtualbox;
- pub mod upcloud;
- pub mod vmware;
- pub mod vultr;
-
-diff --git a/src/providers/vagrant_virtualbox/mod.rs b/src/providers/vagrant_virtualbox/mod.rs
-new file mode 100644
-index 0000000..d7a9e0e
---- /dev/null
-+++ b/src/providers/vagrant_virtualbox/mod.rs
-@@ -0,0 +1,79 @@
-+// Copyright 2017 CoreOS, Inc.
-+//
-+// Licensed under the Apache License, Version 2.0 (the "License");
-+// you may not use this file except in compliance with the License.
-+// You may obtain a copy of the License at
-+//
-+// http://www.apache.org/licenses/LICENSE-2.0
-+//
-+// Unless required by applicable law or agreed to in writing, software
-+// distributed under the License is distributed on an "AS IS" BASIS,
-+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+// See the License for the specific language governing permissions and
-+// limitations under the License.
-+
-+//! vagrant/virtualbox metadata fetcher
-+
-+use std::collections::HashMap;
-+use std::net::IpAddr;
-+use std::thread;
-+use std::time::Duration;
-+
-+use anyhow::{anyhow,Context,Result};
-+use slog_scope::info;
-+
-+use crate::providers::MetadataProvider;
-+
-+#[derive(Clone, Copy, Debug)]
-+pub struct VagrantVirtualboxProvider;
-+
-+impl VagrantVirtualboxProvider {
-+ pub fn new() -> Self {
-+ Self
-+ }
-+
-+ fn get_ip() -> Result {
-+ let max_attempts = 30;
-+ for _ in 0..max_attempts {
-+ if let Some(iface) = Self::find_eth1() {
-+ for a in iface.ips {
-+ if let IpAddr::V4(a) = a.ip() {
-+ return Ok(format!("{}", a));
-+ }
-+ }
-+ }
-+ info!("eth1 not found or is lacking an ipv4 address; waiting 2 seconds");
-+ thread::sleep(Duration::from_secs(2));
-+ }
-+ Err(anyhow!("eth1 was not found!"))
-+ }
-+
-+ fn find_eth1() -> Option {
-+ pnet_datalink::interfaces()
-+ .into_iter()
-+ .find(|i| i.name == "eth1")
-+ }
-+
-+ /// Get the hostname from local system settings.
-+ fn system_hostname() -> Result {
-+ let hostname = hostname::get()
-+ .context("unable to get hostname")?
-+ .to_string_lossy()
-+ .into_owned();
-+ Ok(hostname)
-+ }
-+}
-+
-+impl MetadataProvider for VagrantVirtualboxProvider {
-+ fn attributes(&self) -> Result> {
-+ let hostname = Self::system_hostname()?;
-+ let ip = Self::get_ip()?;
-+
-+ let attributes = maplit::hashmap! {
-+ "VAGRANT_VIRTUALBOX_HOSTNAME".to_string() => hostname,
-+ "VAGRANT_VIRTUALBOX_PRIVATE_IPV4".to_string() => ip,
-+ };
-+
-+ Ok(attributes)
-+ }
-+}
diff --git a/src/util/cmdline.rs b/src/util/cmdline.rs
index d07cfeb..2e96ce4 100644
--- a/src/util/cmdline.rs
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/coreos-metadata.service b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/coreos-metadata.service
index ad64b983b47..73b01829a76 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/coreos-metadata.service
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/coreos-metadata.service
@@ -14,9 +14,6 @@ ConditionKernelCommandLine=|coreos.oem.id=gce
ConditionKernelCommandLine=|flatcar.oem.id=openstack
ConditionKernelCommandLine=|coreos.oem.id=openstack
-ConditionKernelCommandLine=|flatcar.oem.id=packet
-ConditionKernelCommandLine=|coreos.oem.id=packet
-
ConditionKernelCommandLine=|flatcar.oem.id=scaleway
ConditionKernelCommandLine=|flatcar.oem.id=hetzner
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 6bdfa95ca07..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r11.ebuild
+++ /dev/null
@@ -1,159 +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
- packet
- 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 'OEM_NAME=' "${ebuild}"); echo "${OEM_NAME}")
- if [[ -z "${name}" ]]; then
- die "Missing OEM_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 4f9e06c2c8c..00000000000
--- 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/packet/grub.cfg.frag b/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/packet/grub.cfg.frag
deleted file mode 100644
index 45ca3913a13..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/packet/grub.cfg.frag
+++ /dev/null
@@ -1,6 +0,0 @@
-set linux_append="flatcar.autologin"
-
-if [ "$grub_cpu" = i386 ] || [ "$grub_cpu" = x86_64 ]; then
- set gfxpayload="1024x768x8,1024x768"
- set linux_console="console=tty0 console=ttyS1,115200n8"
-fi
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 4f9e06c2c8c..00000000000
--- 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 4f9e06c2c8c..00000000000
--- 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 4f9e06c2c8c..00000000000
--- 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 7c900b19e8e..00000000000
--- 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/coreos-cloudinit/Manifest b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/Manifest
index c64fd2e1f0d..e98ef1e4c8a 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/Manifest
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/Manifest
@@ -1 +1 @@
-DIST coreos-cloudinit-1c1d7f4ae6b933350d7fd36e882dda170123cccc.tar.gz 310707 BLAKE2B 13cb6b452c71285983b6446ec4a40e24a862fe029744b0c66c39e7d0e69616343d70717e94f94ef152ab5a23bdef096bc46df4593ee679a340ef292b81d9df17 SHA512 b3fd07e1e5b26e530cd36cc33d06e5eeeb707ec3c0fef5126c51a4a8d7d68eed2b74aebb0777030fc595dcae3c22f9dffde8ceed914db7ce8323cf4ad22b9710
+DIST coreos-cloudinit-fb088ff8d30c316435c901351f3b03604cfc8a9b.tar.gz 312824 BLAKE2B 71495cc5ee9e6752a5b2bb1be8ddcd5f0adc9be6fec99587a1a73ffe215783770cb388529acb2f65c23aacb1bd0fabb53d6c8080ef5e6f909eceffd81be8b488 SHA512 44e2c8665b33ac811bea3047a895b444c14322a0ea4536bea8cbfbdb355c38ea91670cdf0409f9c53856a7e889188233cbc790a735225e337b188e7a3059c442
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/coreos-cloudinit-1.14.0-r10.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/coreos-cloudinit-1.14.0-r11.ebuild
similarity index 100%
rename from sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/coreos-cloudinit-1.14.0-r10.ebuild
rename to sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/coreos-cloudinit-1.14.0-r11.ebuild
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/coreos-cloudinit-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/coreos-cloudinit-9999.ebuild
index c7e59e1bc33..298463b4154 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/coreos-cloudinit-9999.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/coreos-cloudinit-9999.ebuild
@@ -14,7 +14,7 @@ if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/flatcar/coreos-cloudinit.git"
inherit git-r3
else
- EGIT_VERSION="1c1d7f4ae6b933350d7fd36e882dda170123cccc" # main
+ EGIT_VERSION="fb088ff8d30c316435c901351f3b03604cfc8a9b"
SRC_URI="https://github.com/flatcar/coreos-cloudinit/archive/${EGIT_VERSION}.tar.gz -> ${PN}-${EGIT_VERSION}.tar.gz"
S="${WORKDIR}/${PN}-${EGIT_VERSION}"
KEYWORDS="amd64 arm64"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-container/Manifest b/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-container/Manifest
deleted file mode 100644
index b1077281b9b..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-container/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST nova-agent-container-0.0.1.tar.gz 6634988 SHA256 ccaea8ea597111d5b89649e9fb03f6a9fdf8530e69c18c8af6e059d7ac20a029 SHA512 71468307ed8d87fafcaf44d1cb48b5499a42e9902a61d97d6ea191fed3e0e81cc8c3beb61839449f5ec87f54717801d2aa56df848bfa2b6602419360e3196005 WHIRLPOOL 0989323868fcf751c8aa4381130c0607cb19f8271c531018ee7bc12676b89e0f908f3999a7da6462c4654673eed822f427ed24d93da4e46d3ea0ddf7a8cc6eed
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-container/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-container/metadata.xml
deleted file mode 100644
index 097975e3adc..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-container/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-container/nova-agent-container-0.0.1-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-container/nova-agent-container-0.0.1-r1.ebuild
deleted file mode 100644
index f7d01e11e74..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-container/nova-agent-container-0.0.1-r1.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2013 CoreOS, Inc.. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="nova agent for rackspace images"
-HOMEPAGE="https://github.com/coreos/nova-agent-container"
-SRC_URI="${HOMEPAGE}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-src_install() {
- dodir /oem/nova-agent
- rsync -aq "${S}/" "${D}/oem/nova-agent/" || die
-}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-watcher/Manifest b/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-watcher/Manifest
deleted file mode 100644
index cec1b060487..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-watcher/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST nova-agent-watcher-f750d8e5e91a7e7e22e26c9d241d27b1b7563d70.tar.gz 217622 BLAKE2B 73c2975faba141cb5d259adf0f8ae8a9bbe7e89fd94e9a66577ad67798c5a740d2e25b8d826ee1241b3ebfb783df5ea42bf747bc5d6b12fe5f2624950d367e00 SHA512 0e684f95328c253734f9f5feac9340d403f4f50b5e87cc4a5eab95dde2a13a5eef9c967bbede7b315757063a9b2aef557a5370b489e0a781a072eec0c4b2e25c
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-watcher/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-watcher/metadata.xml
deleted file mode 100644
index 0bdb255dd6f..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-watcher/metadata.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
- coreos/nova-agent-watcher
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-watcher/nova-agent-watcher-0.0.7-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-watcher/nova-agent-watcher-0.0.7-r2.ebuild
deleted file mode 120000
index 9723e177c8c..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-watcher/nova-agent-watcher-0.0.7-r2.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-nova-agent-watcher-9999.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-watcher/nova-agent-watcher-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-watcher/nova-agent-watcher-9999.ebuild
deleted file mode 100644
index 068ab472ffc..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-watcher/nova-agent-watcher-9999.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (c) 2014 CoreOS, Inc.. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-COREOS_GO_PACKAGE="github.com/coreos/nova-agent-watcher"
-COREOS_GO_GO111MODULE="off"
-inherit coreos-go
-
-DESCRIPTION="Watches for changes from Nova and reapplies them with coreos-cloudinit"
-HOMEPAGE="https://github.com/coreos/nova-agent-watcher"
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://github.com/coreos/nova-agent-watcher.git"
- inherit git-r3
-else
- EGIT_VERSION="f750d8e5e91a7e7e22e26c9d241d27b1b7563d70"
- SRC_URI="https://github.com/coreos/nova-agent-watcher/archive/${EGIT_VERSION}.tar.gz -> ${PN}-${EGIT_VERSION}.tar.gz"
- S="${WORKDIR}/${PN}-${EGIT_VERSION}"
- KEYWORDS="amd64 arm64"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-src_install() {
- into /oem
- dobin scripts/gentoo-to-networkd
- dobin "${GOBIN}"/nova-agent-watcher
-}
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 097975e3adc..00000000000
--- 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 c0e36a012e9..ba2edcb27b8 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=""
-OEM_NAME="Akamai"
+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 097975e3adc..00000000000
--- 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 ef95036c9ff..dfb1733cb11 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,22 +7,18 @@ 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
-OEM_NAME="Amazon EC2"
-
-S="${WORKDIR}"
+SYSEXT_NAME="Amazon EC2"
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 097975e3adc..00000000000
--- 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 d32ccde9450..535b1b6c816 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
-OEM_NAME="Microsoft Azure"
+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 097975e3adc..00000000000
--- 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 4ddf25036f2..00000000000
--- 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 00000000000..cb745c34596
--- /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 7301934316c..ea30f7695bc 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 53d1c2aacd8..4ee93ad98f7 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 9116acd7c2a..daa38cb89b3 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 b9c77dfa68b..e1b59c68e39 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 097975e3adc..00000000000
--- 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 c7fe81d4c8a..00000000000
--- 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 00000000000..fc825e77fad
--- /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 097975e3adc..00000000000
--- 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 6a1cbc3f37f..6b1b9e22d5e 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"
-OEM_NAME="DigitalOcean"
+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 f8602081f2c..9f8a7582d7b 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 bd6be82f0f3..5aa938dba89 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 85ae4521af3..8153f1bf653 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 763fcb0106f..6e881032871 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 097975e3adc..00000000000
--- 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 f2f8f2cba99..00000000000
--- 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 00000000000..b5d3a35d1ee
--- /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 097975e3adc..00000000000
--- 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 5baa71325b6..00000000000
--- 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
-"
-
-OEM_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 00000000000..444f1ee7649
--- /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 097975e3adc..00000000000
--- 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 78251ef2499..e17292a550d 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=""
-OEM_NAME="Hetzner"
+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 1259a0aa689..00000000000
--- 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 097975e3adc..00000000000
--- 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 99dd94e836e..0e5a8c51c1b 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"
-OEM_NAME="Microsoft Hyper-V"
-
-# no source directory
-S="${WORKDIR}"
+SYSEXT_NAME="Microsoft Hyper-V"
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 097975e3adc..00000000000
--- 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 d1db3eb58d7..93a563a4a5d 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=""
-OEM_NAME="KubeVirt"
+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 097975e3adc..00000000000
--- 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 c466e609c80..84205a86b71 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=""
-OEM_NAME="Nutanix"
+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 097975e3adc..00000000000
--- 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 88e7440230c..dc36d7c3727 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=""
-OEM_NAME="Openstack"
+SYSEXT_NAME="OpenStack"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/metadata.xml
deleted file mode 100644
index 097975e3adc..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/oem-packet-0.2.2-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/oem-packet-0.2.2-r2.ebuild
deleted file mode 100644
index f746b6de876..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/oem-packet-0.2.2-r2.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2020 Kinvolk GmbH. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="Equinix Metal suite for Equinix Metal"
-HOMEPAGE="https://www.equinix.com/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 arm64"
-IUSE=""
-
-OEM_NAME="Equinix Metal"
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 097975e3adc..00000000000
--- 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 bb7fa6e0629..50f00c9ae73 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=""
-OEM_NAME="Proxmox VE"
+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 097975e3adc..00000000000
--- 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 fb19d212a01..8882394464e 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=""
-OEM_NAME="QEMU"
+SYSEXT_NAME="QEMU"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/files/cloud-config.yml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/files/cloud-config.yml
deleted file mode 100644
index c051c235bc2..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/files/cloud-config.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-#cloud-config
-
-coreos:
- units:
- - name: user-configdrive.service.d/netconf.conf
- runtime: yes
- content: |
- [Service]
- ExecStart=
- ExecStart=/usr/bin/coreos-cloudinit --oem=rackspace-onmetal
- - name: ping-out.service
- runtime: yes
- enable: yes
- content: |
- [Unit]
- After=user-config.target
-
- [Service]
- Type=oneshot
- RemainAfterExit=yes
- ExecStart=/usr/bin/sh -c "ping -A -c1 $(ip route | awk '/default/ { print $3 }')"
-
- [Install]
- WantedBy=user-config.target
- - name: media-configdrive.mount
- command: start
- runtime: yes
- content: |
- [Unit]
- Wants=user-configdrive.service
- Before=user-configdrive.service
-
- [Mount]
- What=/dev/disk/by-label/config-2
- Where=/media/configdrive
- Options=ro
- oem:
- id: onmetal
- name: Rackspace OnMetal
- version-id: @@OEM_VERSION_ID@@
- home-url: http://www.rackspace.com/
- bug-report-url: https://issues.flatcar.org
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/files/grub.cfg
deleted file mode 100644
index 9519ecd9690..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/files/grub.cfg
+++ /dev/null
@@ -1,13 +0,0 @@
-# Flatcar GRUB settings
-
-set oem_id="rackspace-onmetal"
-
-# Rackspace wanted a longer timeout, I forget why. (15 seconds)
-set timeout=15
-
-# Switch default console to ttyS4, only applies to Linux since
-# GRUB needs exact IO ports for non-standard serial devices.
-set linux_console="console=ttyS4,115200n8 8250.nr_uarts=5"
-
-# Blacklist MEI, the firmware is just plain broken.
-set linux_append="modprobe.blacklist=mei_me net.ifnames=0"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/metadata.xml
deleted file mode 100644
index 097975e3adc..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/oem-rackspace-onmetal-0.0.8-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/oem-rackspace-onmetal-0.0.8-r2.ebuild
deleted file mode 100644
index e6752e3a63b..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/oem-rackspace-onmetal-0.0.8-r2.ebuild
+++ /dev/null
@@ -1,27 +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 Rackspace Teeth 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-rackspace/files/cloud-config.yml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/files/cloud-config.yml
deleted file mode 100644
index 4b5310c1ba1..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/files/cloud-config.yml
+++ /dev/null
@@ -1,37 +0,0 @@
-#cloud-config
-
-coreos:
- units:
- - name: nova-agent-auto.service
- command: restart
- runtime: yes
- content: |
- [Unit]
- After=dbus.service
- [Service]
- Environment=HOME=/root
- ExecStartPre=/bin/mount -t proc none /oem/nova-agent/proc
- ExecStartPre=/bin/mount -t xenfs none /oem/nova-agent/proc/xen
- ExecStartPre=/bin/mount --bind /dev /oem/nova-agent/dev
- ExecStartPre=/bin/mount --bind /sys /oem/nova-agent/sys
- ExecStart=/usr/bin/chroot /oem/nova-agent/ /usr/share/nova-agent/0.0.1.38/sbin/nova-agent -o - -n -l info /usr/share/nova-agent/nova-agent.py
- ExecStopPost=/bin/umount -f /oem/nova-agent/sys
- ExecStopPost=/bin/umount -f /oem/nova-agent/dev
- ExecStopPost=/bin/umount -f /oem/nova-agent/proc/xen
- ExecStopPost=/bin/umount -f /oem/nova-agent/proc
- - name: nova-agent-watcher.service
- command: restart
- runtime: yes
- content: |
- [Unit]
- After=dbus.service
-
- [Service]
- ExecStart=/oem/bin/nova-agent-watcher -watch-dir=/oem/nova-agent -scripts-dir=/oem/bin/
-
- oem:
- id: rackspace
- name: Rackspace Cloud Servers
- version-id: @@OEM_VERSION_ID@@
- home-url: https://www.rackspace.com/cloud/servers/
- bug-report-url: https://issues.flatcar.org
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/files/flatcar-setup-environment b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/files/flatcar-setup-environment
deleted file mode 100755
index 2e5f9c1bd01..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/files/flatcar-setup-environment
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/bash -e
-
-ENV=$1
-
-if [ -z "$ENV" ]; then
- echo usage: $0 /etc/environment
- exit 1
-fi
-# test for rw
-touch $ENV
-if [ $? -ne 0 ]; then
- echo exiting, unable to modify: $ENV
- exit 1
-fi
-
-sed -i -e '/^COREOS_PUBLIC_IPV4=/d' \
- -e '/^COREOS_PRIVATE_IPV4=/d' \
- "${ENV}"
-
-# We spin loop until the nova-agent sets up the ip addresses
-function get_ip () {
- IF=$1
- IP=
- while [ 1 ]; do
- IP=$(ifconfig $IF | awk '/inet /{print $2}')
- if [ "$IP" != "" ]; then
- break
- fi
- sleep .1
- done
- echo $IP
-}
-
-echo COREOS_PUBLIC_IPV4=$(get_ip eth0) >> $ENV
-echo COREOS_PRIVATE_IPV4=$(get_ip eth1) >> $ENV
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/metadata.xml
deleted file mode 100644
index 097975e3adc..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/oem-rackspace-0.0.4-r3.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/oem-rackspace-0.0.4-r3.ebuild
deleted file mode 100644
index f36e73fa141..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/oem-rackspace-0.0.4-r3.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
-# Copyright (c) 2013 CoreOS, Inc.. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-# $Header:$
-#
-
-EAPI=7
-
-DESCRIPTION="oem suite for rackspace images"
-HOMEPAGE=""
-SRC_URI=""
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-RDEPEND="
- coreos-base/nova-agent-container
- coreos-base/nova-agent-watcher
-"
-
-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"
-
- into "/oem"
- dobin "${FILESDIR}/flatcar-setup-environment"
-}
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 097975e3adc..00000000000
--- 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 a178f940f91..52ca3112d99 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=""
-OEM_NAME="Scaleway"
+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 097975e3adc..00000000000
--- 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 19fa7df6e26..50150a1c260 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,21 +6,16 @@ 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"
-OEM_NAME="STACKIT"
+SYSEXT_NAME="STACKIT"
src_install() {
systemd_install_dropin chronyd.service "${FILESDIR}"/chronyd-overwrite.conf
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/files/cloud-config.yml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/files/cloud-config.yml
deleted file mode 100644
index 9fd8f6a4341..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/files/cloud-config.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-#cloud-config
-
-ssh_authorized_keys:
- - ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/metadata.xml
deleted file mode 100644
index 097975e3adc..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/oem-vagrant-key-0.0.3-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/oem-vagrant-key-0.0.3-r1.ebuild
deleted file mode 100644
index 019f35f0bca..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/oem-vagrant-key-0.0.3-r1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2013 The CoreOS Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="OEM suite for login access via Vagrant's ssh key."
-HOMEPAGE=""
-SRC_URI=""
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE=""
-
-# no source directory
-S="${WORKDIR}"
-
-src_install() {
- insinto "/oem"
- doins "${FILESDIR}/cloud-config.yml"
- doins "${FILESDIR}/grub.cfg"
-}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/box/Vagrantfile b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/box/Vagrantfile
deleted file mode 100644
index e5c4a2fe7bf..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/box/Vagrantfile
+++ /dev/null
@@ -1,31 +0,0 @@
-# -*- mode: ruby -*-
-# # vi: set ft=ruby :
-
-if Vagrant::VERSION < "1.6.0"
- raise "Need at least vagrant version 1.6.0, please update"
-end
-
-require_relative 'change_host_name.rb'
-require_relative 'configure_networks.rb'
-require_relative 'base_mac.rb'
-
-Vagrant.configure("2") do |config|
- # always use Vagrants insecure key
- config.ssh.insert_key = false
-
- # SSH in as the default 'core' user, it has the vagrant ssh key.
- config.ssh.username = "core"
-
- # Disable the base shared folder, guest additions are unavailable.
- config.vm.synced_folder ".", "/vagrant", disabled: true
-
- config.vm.provider :virtualbox do |vb|
- # Guest Additions are unavailable.
- vb.check_guest_additions = false
- vb.functional_vboxsf = false
-
- # Fix docker not being able to resolve private registry in VirtualBox
- vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
- vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
- end
-end
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/box/change_host_name.rb b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/box/change_host_name.rb
deleted file mode 100644
index a4d5654b048..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/box/change_host_name.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-# -*- mode: ruby -*-
-# # vi: set ft=ruby :
-
-# NOTE: This monkey-patching is done to disable to old cloud config based
-# change_host_name built into the upstream vagrant project
-
-require Vagrant.source_root.join("plugins/guests/coreos/cap/change_host_name.rb")
-
-module VagrantPlugins
- module GuestCoreOS
- module Cap
- class ChangeHostName
- def self.change_host_name(machine, name)
- end
- end
- end
- end
-end
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/grub.cfg
deleted file mode 100644
index 22ef469458e..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/grub.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-# Flatcar GRUB settings
-
-set oem_id="vagrant-virtualbox"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/metadata.xml
deleted file mode 100644
index 097975e3adc..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/metadata.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/oem-vagrant-virtualbox-0.0.2-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/oem-vagrant-virtualbox-0.0.2-r1.ebuild
deleted file mode 100644
index 10ed3ddb438..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/oem-vagrant-virtualbox-0.0.2-r1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2017 The CoreOS Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="OEM suite for vagrant images (virtualbox)"
-HOMEPAGE=""
-SRC_URI=""
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE=""
-
-# no source directory
-S="${WORKDIR}"
-
-src_install() {
- insinto "/oem"
- doins -r "${FILESDIR}/box"
- doins "${FILESDIR}/grub.cfg"
-}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/base_mac.rb b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/base_mac.rb
deleted file mode 100644
index 1f26796e070..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/base_mac.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file must be rewritten with a real value for VirtualBox
-Vagrant.configure("2") do |config|
- config.vm.base_mac = "080027000000"
-end
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/change_host_name.rb b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/change_host_name.rb
deleted file mode 100644
index bae625e2350..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/change_host_name.rb
+++ /dev/null
@@ -1,37 +0,0 @@
-# -*- mode: ruby -*-
-# # vi: set ft=ruby :
-
-# NOTE: This monkey-patching of the coreos guest plugin is a terrible
-# hack that needs to be removed once the upstream plugin works with
-# alpha CoreOS images.
-
-require 'tempfile'
-require Vagrant.source_root.join("plugins/guests/coreos/cap/change_host_name.rb")
-
-CLOUD_CONFIG = <
-
-
-
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 cdfad543621..00000000000
--- 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 00000000000..c1cd1d82eea
--- /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 8a357cf6ffd..00000000000
--- 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 097975e3adc..00000000000
--- 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 091cea57739..00000000000
--- 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 00000000000..3af945d0dbc
--- /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 097975e3adc..00000000000
--- 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 7fc289026bc..d1aa3658cfa 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,22 +7,17 @@ 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
-OEM_NAME="VMware"
+SYSEXT_NAME="VMware"
src_install() {
local unit_dir
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-devel/board-packages/board-packages-0.0.1-r17.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-devel/board-packages/board-packages-0.0.1-r18.ebuild
similarity index 100%
rename from sdk_container/src/third_party/coreos-overlay/coreos-devel/board-packages/board-packages-0.0.1-r17.ebuild
rename to sdk_container/src/third_party/coreos-overlay/coreos-devel/board-packages/board-packages-0.0.1-r18.ebuild
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-devel/board-packages/board-packages-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-devel/board-packages/board-packages-0.0.1.ebuild
index e89d4114449..471793e05ff 100644
--- a/sdk_container/src/third_party/coreos-overlay/coreos-devel/board-packages/board-packages-0.0.1.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-devel/board-packages/board-packages-0.0.1.ebuild
@@ -2,47 +2,23 @@
# Distributed under the terms of the GNU General Public License v2
# $Header: $
-EAPI=7
+EAPI=8
-DESCRIPTION="Meta ebuild for building all binary packages."
-HOMEPAGE="http://coreos.com/docs/sdk/"
-SRC_URI=""
+DESCRIPTION="Meta ebuild for building all binary packages"
+HOMEPAGE="https://www.flatcar.org/"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 arm64"
-IUSE=""
-# Depend on everything OEMs need, but not the OEMs themselves.
-# This makes the built packages available for image_vm_util.sh but
-# avoids copying the oem specific files (e.g. grub configs) before
-# the oem partition is set up.
-DEPEND=""
RDEPEND="
- amd64? (
- app-emulation/google-compute-engine
- app-emulation/open-vm-tools
- coreos-base/nova-agent-container
- coreos-base/nova-agent-watcher
- )
- sys-boot/grub
- sys-boot/shim
- sys-boot/shim-signed
app-containers/containerd
app-containers/docker
app-containers/docker-buildx
app-containers/docker-cli
- app-containers/incus
- app-emulation/amazon-ssm-agent
- app-emulation/hv-daemons
- app-emulation/wa-linux-agent
coreos-base/coreos
coreos-base/coreos-dev
- coreos-base/flatcar-eks
- net-misc/chrony
- sys-fs/zfs
- app-containers/podman
- net-misc/passt
- dev-lang/python
- dev-python/pip
- "
+ sys-boot/grub
+ sys-boot/shim
+ sys-boot/shim-signed
+"
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 332ae8c3413..bcc7b1d0815 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/coreos-overlay/sys-apps/baselayout/baselayout-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-9999.ebuild
index ca9aaf1d64c..1ff5db96a49 100644
--- a/sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-9999.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-9999.ebuild
@@ -118,9 +118,6 @@ pkg_postinst() {
done
# Create a compatibility symlink for OEM.
ln -sfT ../../oem "${ROOT}/usr/share/oem"
- # Also create the directory to avoid having dangling
- # symlinks.
- mkdir -p "${ROOT}/oem"
# pam situation was messed up big time, create some
# symlinks to point to just a single place
diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/0017-docs-Add-re-added-platforms-to-docs-to-pass-tests.patch b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/0016-docs-Add-re-added-platforms-to-docs-to-pass-tests.patch
similarity index 90%
rename from sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/0017-docs-Add-re-added-platforms-to-docs-to-pass-tests.patch
rename to sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/0016-docs-Add-re-added-platforms-to-docs-to-pass-tests.patch
index 1065f45d67f..c29e3cc5181 100644
--- a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/0017-docs-Add-re-added-platforms-to-docs-to-pass-tests.patch
+++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/0016-docs-Add-re-added-platforms-to-docs-to-pass-tests.patch
@@ -21,12 +21,10 @@ index 897eeabd..2a861637 100644
* [DigitalOcean] (`digitalocean`) - Ignition will read its configuration from the droplet userdata. Cloud SSH keys and network configuration are handled separately.
* [Exoscale] (`exoscale`) - Ignition will read its configuration from the instance userdata. Cloud SSH keys are handled separately.
* [Google Cloud] (`gcp`) - Ignition will read its configuration from the instance metadata entry named "user-data". Cloud SSH keys are handled separately.
-@@ -31,6 +32,9 @@ Ignition is currently supported for the following platforms:
+@@ -31,6 +32,7 @@ Ignition is currently supported for the following platforms:
* [Equinix Metal] (`packet`) - Ignition will read its configuration from the instance userdata. Cloud SSH keys are handled separately.
* [IBM Power Systems Virtual Server] (`powervs`) - Ignition will read its configuration from the instance userdata. Cloud SSH keys are handled separately.
* [QEMU] (`qemu`) - Ignition will read its configuration from the 'opt/com.coreos/config' key on the QEMU Firmware Configuration Device (available in QEMU 2.4.0 and higher).
-+* `rackspace` - Ignition will read its configuration from the instance userdata. Cloud SSH keys are handled separately.
-+* `rackspace-onmetal` - Ignition will read its configuration from the instance userdata. Cloud SSH keys are handled separately.
+* `vagrant` - Ignition will read its configuration from the instance userdata. Cloud SSH keys are handled separately.
* [Scaleway] (`scaleway`) - Ignition will read its configuration from the instance userdata. Cloud SSH keys are handled separately.
* [UpCloud] (`upcloud`) - Ignition will read its configuration from the instance userdata fetched from the metadata service (which is NOT enabled by default, make sure you enable it if you use custom images). Cloud SSH keys are handled separately.
diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/0016-revert-internal-oem-drop-noop-OEMs.patch b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/0016-revert-internal-oem-drop-noop-OEMs.patch
deleted file mode 100644
index cf576c5fbba..00000000000
--- a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/0016-revert-internal-oem-drop-noop-OEMs.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 60a6c5a81e06fbaed6939ac925937ca941f0732e Mon Sep 17 00:00:00 2001
-From: Mathieu Tortuyaux
-Date: Tue, 20 Feb 2024 10:25:24 +0100
-Subject: [PATCH 16/19] revert: internal/oem: drop noop OEMs
-
-This reverts: https://github.com/flatcar/ignition/commit/26828f92e00060aa8ebf2197545ad602af237132
-
-Signed-off-by: Mathieu Tortuyaux
----
- internal/providers/metal/metal.go | 16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
-diff --git a/internal/providers/metal/metal.go b/internal/providers/metal/metal.go
-index 27c923d4..ae259f8f 100644
---- a/internal/providers/metal/metal.go
-+++ b/internal/providers/metal/metal.go
-@@ -26,10 +26,26 @@ import (
- )
-
- func init() {
-+ platform.Register(platform.Provider{
-+ Name: "cloudsigma",
-+ Fetch: fetchConfig,
-+ })
- platform.Register(platform.Provider{
- Name: "metal",
- Fetch: fetchConfig,
- })
-+ platform.Register(platform.Provider{
-+ Name: "rackspace",
-+ Fetch: fetchConfig,
-+ })
-+ platform.Register(platform.Provider{
-+ Name: "rackspace-onmetal",
-+ Fetch: fetchConfig,
-+ })
-+ platform.Register(platform.Provider{
-+ Name: "vagrant",
-+ Fetch: fetchConfig,
-+ })
- }
-
- func fetchConfig(f *resource.Fetcher) (types.Config, report.Report, error) {
---
-2.51.0
-
diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/0018-usr-share-oem-oem.patch b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/0017-usr-share-oem-oem.patch
similarity index 100%
rename from sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/0018-usr-share-oem-oem.patch
rename to sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/0017-usr-share-oem-oem.patch
diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/0019-internal-exec-stages-mount-Mount-oem.patch b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/0018-internal-exec-stages-mount-Mount-oem.patch
similarity index 100%
rename from sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/0019-internal-exec-stages-mount-Mount-oem.patch
rename to sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/0018-internal-exec-stages-mount-Mount-oem.patch
diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/ignition-2.24.0-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/ignition-2.24.0-r3.ebuild
similarity index 100%
rename from sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/ignition-2.24.0-r2.ebuild
rename to sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/ignition-2.24.0-r3.ebuild
diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/ignition-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/ignition-9999.ebuild
index 63750b14966..0d3d12faa81 100644
--- a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/ignition-9999.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/ignition-9999.ebuild
@@ -31,10 +31,9 @@ else
"${FILESDIR}/0013-Partially-revert-drop-OEM-URI-support.patch"
"${FILESDIR}/0014-config-Support-oem-schema-in-newer-config-spec-versi.patch"
"${FILESDIR}/0015-translation-support-OEM-and-oem.patch"
- "${FILESDIR}/0016-revert-internal-oem-drop-noop-OEMs.patch"
- "${FILESDIR}/0017-docs-Add-re-added-platforms-to-docs-to-pass-tests.patch"
- "${FILESDIR}/0018-usr-share-oem-oem.patch"
- "${FILESDIR}/0019-internal-exec-stages-mount-Mount-oem.patch"
+ "${FILESDIR}/0016-docs-Add-re-added-platforms-to-docs-to-pass-tests.patch"
+ "${FILESDIR}/0017-usr-share-oem-oem.patch"
+ "${FILESDIR}/0018-internal-exec-stages-mount-Mount-oem.patch"
)
fi
diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/Manifest b/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/Manifest
index 3d27149da6c..d693efd2eae 100644
--- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/Manifest
+++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/Manifest
@@ -1 +1 @@
-DIST bootengine-003a67d93a99705391a0a1fa825f018b074d8e8b.tar.gz 37805 BLAKE2B 25abb7cf425a02c330245c7efc63406ee823fd9921afd39f9b413eda1451fa48ed150dd104cb550f9b81e7445b4c9e50a0ec55077dbf6de0c712cbcb7339dd67 SHA512 a9246398a560a7bbdb7b1d714012fdca65a2475843cfcb5fd20551086165623d248c577b6170fb32a75709a67014b33581c415e4c5410202e29a57e6a0ff6d88
+DIST bootengine-32aede10a3d9e20036ead7e2dc45242f0f273f45.tar.gz 37819 BLAKE2B 4f69f3373d6098516072391767ce14b00ff4226fab275ca8e0998edf2b05f4eb5f4b1ae9a0bf8851c60206602a57a61f0a195ddf7871588e84c2f32310a9ca91 SHA512 1b791e65dc9ce3b8e322262ae588e546b25977902be96cbe2a62bd67ee703362b4c327430ff918011819f8d91f9ce7340efd86122c1b24da3eccfa729ba356f0
diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-0.0.38-r42.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-0.0.38-r43.ebuild
similarity index 100%
rename from sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-0.0.38-r42.ebuild
rename to sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-0.0.38-r43.ebuild
diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-9999.ebuild
index 2857e0ab741..daf63846c67 100644
--- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-9999.ebuild
+++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-9999.ebuild
@@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/flatcar/bootengine.git"
inherit git-r3
else
- EGIT_VERSION="003a67d93a99705391a0a1fa825f018b074d8e8b" # flatcar-master
+ EGIT_VERSION="32aede10a3d9e20036ead7e2dc45242f0f273f45"
SRC_URI="https://github.com/flatcar/bootengine/archive/${EGIT_VERSION}.tar.gz -> ${PN}-${EGIT_VERSION}.tar.gz"
S="${WORKDIR}/${PN}-${EGIT_VERSION}"
KEYWORDS="amd64 arm arm64 x86"
diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/amd64_defconfig-6.12 b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/amd64_defconfig-6.12
index c19cbac2136..23cacc9adf5 100644
--- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/amd64_defconfig-6.12
+++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/amd64_defconfig-6.12
@@ -108,6 +108,7 @@ CONFIG_TCG_INFINEON=m
CONFIG_TCG_NSC=m
CONFIG_UPROBE_EVENTS=y
CONFIG_USB_OHCI_HCD_SSB=y
+CONFIG_VBOXGUEST=m
CONFIG_VFIO_PCI_IGD=y
CONFIG_VFIO_PCI_VGA=y
CONFIG_VHOST_VSOCK=m
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 00000000000..c8318394935
--- /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.