mirror of
https://github.com/flatcar/scripts.git
synced 2026-05-04 19:56:32 +02:00
Convert remaining OEM packages to sysexts and rework how they are built
common-oem-files was a giant hack. oem-release can now be easily be generated from metadata embedded in the sysext image itself. grub.cfg is often just a couple of lines, so there's no point in having all this complex logic around generating it, especially when that logic has some exceptions anyway. It's far easier to just explicitly store each variant under build_library/oem. The list of OEMs is now generated by looking for coreos-base/oem-*/*.ebuild.
This commit is contained in:
parent
0d8e0d6b1e
commit
649e88437b
3
build_library/oem/akamai/grub.cfg
Normal file
3
build_library/oem/akamai/grub.cfg
Normal file
@ -0,0 +1,3 @@
|
||||
# Flatcar GRUB settings
|
||||
|
||||
set oem_id="akamai"
|
||||
@ -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.
|
||||
@ -1,3 +1,6 @@
|
||||
# Flatcar GRUB settings
|
||||
|
||||
set oem_id="azure"
|
||||
set linux_append="flatcar.autologin"
|
||||
|
||||
# Azure only has a serial console.
|
||||
3
build_library/oem/digitalocean/grub.cfg
Normal file
3
build_library/oem/digitalocean/grub.cfg
Normal file
@ -0,0 +1,3 @@
|
||||
# Flatcar GRUB settings
|
||||
|
||||
set oem_id="digitalocean"
|
||||
@ -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
|
||||
3
build_library/oem/hetzner/grub.cfg
Normal file
3
build_library/oem/hetzner/grub.cfg
Normal file
@ -0,0 +1,3 @@
|
||||
# Flatcar GRUB settings
|
||||
|
||||
set oem_id="hetzner"
|
||||
3
build_library/oem/kubevirt/grub.cfg
Normal file
3
build_library/oem/kubevirt/grub.cfg
Normal file
@ -0,0 +1,3 @@
|
||||
# Flatcar GRUB settings
|
||||
|
||||
set oem_id="kubevirt"
|
||||
3
build_library/oem/nutanix/grub.cfg
Normal file
3
build_library/oem/nutanix/grub.cfg
Normal file
@ -0,0 +1,3 @@
|
||||
# Flatcar GRUB settings
|
||||
|
||||
set oem_id="nutanix"
|
||||
4
build_library/oem/openstack/grub.cfg
Normal file
4
build_library/oem/openstack/grub.cfg
Normal file
@ -0,0 +1,4 @@
|
||||
# Flatcar GRUB settings
|
||||
|
||||
set oem_id="openstack"
|
||||
set linux_append="flatcar.autologin"
|
||||
4
build_library/oem/proxmoxve/grub.cfg
Normal file
4
build_library/oem/proxmoxve/grub.cfg
Normal file
@ -0,0 +1,4 @@
|
||||
# Flatcar GRUB settings
|
||||
|
||||
set oem_id="proxmoxve"
|
||||
set linux_append="flatcar.autologin"
|
||||
4
build_library/oem/qemu/grub.cfg
Normal file
4
build_library/oem/qemu/grub.cfg
Normal file
@ -0,0 +1,4 @@
|
||||
# Flatcar GRUB settings
|
||||
|
||||
set oem_id="qemu"
|
||||
set linux_append="flatcar.autologin"
|
||||
@ -1 +1,4 @@
|
||||
# Flatcar GRUB settings
|
||||
|
||||
set oem_id="scaleway"
|
||||
set linux_console="console=ttyS0,115200n8 earlycon=ttyS0,115200"
|
||||
3
build_library/oem/stackit/grub.cfg
Normal file
3
build_library/oem/stackit/grub.cfg
Normal file
@ -0,0 +1,3 @@
|
||||
# Flatcar GRUB settings
|
||||
|
||||
set oem_id="openstack"
|
||||
4
build_library/oem/vmware/grub.cfg
Normal file
4
build_library/oem/vmware/grub.cfg
Normal file
@ -0,0 +1,4 @@
|
||||
# Flatcar GRUB settings
|
||||
|
||||
set oem_id="vmware"
|
||||
set linux_append="flatcar.autologin"
|
||||
@ -20,42 +20,35 @@ get_oem_overlay_root() {
|
||||
printf '%s' "${overlay_root}"
|
||||
}
|
||||
|
||||
_get_oem_ids() {
|
||||
local arch list_var_name
|
||||
arch=${1}; shift
|
||||
list_var_name=${1}; shift
|
||||
|
||||
local overlay_root
|
||||
overlay_root=$(get_oem_overlay_root)
|
||||
|
||||
local -a ebuilds=("${overlay_root}/coreos-base/common-oem-files/common-oem-files-"*'.ebuild')
|
||||
if [[ ${#ebuilds[@]} -eq 0 ]] || [[ ! -e ${ebuilds[0]} ]]; then
|
||||
echo "No coreos-base/common-oem-files ebuilds?!" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# This defines local COMMON_OEMIDS, AMD64_ONLY_OEMIDS,
|
||||
# ARM64_ONLY_OEMIDS and OEMIDS variable. We don't use the last
|
||||
# one. Also defines global-by-default EAPI, which we make local
|
||||
# here to avoid making it global.
|
||||
local EAPI
|
||||
source "${ebuilds[0]}" flatcar-local-variables
|
||||
|
||||
local -n arch_oemids_ref="${arch^^}_ONLY_OEMIDS"
|
||||
local all_oemids=(
|
||||
"${COMMON_OEMIDS[@]}"
|
||||
"${arch_oemids_ref[@]}"
|
||||
)
|
||||
|
||||
mapfile -t "${list_var_name}" < <(printf '%s\n' "${all_oemids[@]}" | sort)
|
||||
}
|
||||
|
||||
# Gets a list of OEMs that are using sysexts.
|
||||
#
|
||||
# 1 - arch
|
||||
# 2 - name of an array variable to store the result in
|
||||
get_oem_id_list() {
|
||||
_get_oem_ids "$@"
|
||||
local arch=${1}; shift
|
||||
local -n list_var_ref=${1}; shift
|
||||
|
||||
local overlay_root dir ebuild regex
|
||||
overlay_root=$(get_oem_overlay_root)
|
||||
|
||||
for dir in "${overlay_root}"/coreos-base/oem-*; do
|
||||
for ebuild in "${dir}"/*.ebuild; do
|
||||
if [[ ! -e ${ebuild} ]]; then
|
||||
echo "No coreos-base/oem-* ebuilds?!" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check the KEYWORDS by sourcing the ebuild. We can't rely on Portage
|
||||
# because this needs to work outside the SDK. OEM ebuilds are relatively
|
||||
# boring, so this should be sufficient. This doesn't check whether the
|
||||
# KEYWORDS are stable, but that shouldn't matter.
|
||||
regex="\b${arch}\b"
|
||||
if ( set +eu; . "${ebuild}" &>/dev/null; [[ ${KEYWORDS} =~ ${regex} ]] ); then
|
||||
list_var_ref+=( "${dir##*/oem-}" )
|
||||
break
|
||||
fi
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
# Gets a list of OEM sysext descriptors.
|
||||
@ -65,19 +58,14 @@ get_oem_id_list() {
|
||||
#
|
||||
# Format: "name|metapackage|useflags"
|
||||
get_oem_sysext_matrix() {
|
||||
local arch list_var_name
|
||||
arch=${1}; shift
|
||||
list_var_name=${1}; shift
|
||||
local arch=${1}; shift
|
||||
declare -n list_var_ref=${1}; shift
|
||||
|
||||
local -a oem_ids
|
||||
_get_oem_ids "${arch}" oem_ids
|
||||
get_oem_id_list "${arch}" oem_ids
|
||||
|
||||
local -a matrix=()
|
||||
local oem_id
|
||||
for oem_id in "${oem_ids[@]}"; do
|
||||
matrix+=("oem-${oem_id}|coreos-base/oem-${oem_id}|")
|
||||
list_var_ref+=( "oem-${oem_id}|coreos-base/oem-${oem_id}|" )
|
||||
done
|
||||
|
||||
local -n matrix_ref="${list_var_name}"
|
||||
matrix_ref=("${matrix[@]}")
|
||||
}
|
||||
|
||||
@ -39,28 +39,6 @@ VALID_IMG_TYPES=(
|
||||
nutanix
|
||||
)
|
||||
|
||||
#list of oem package names, minus the oem- prefix
|
||||
VALID_OEM_PACKAGES=(
|
||||
akamai
|
||||
azure
|
||||
cloudsigma
|
||||
cloudstack
|
||||
digitalocean
|
||||
exoscale
|
||||
gce
|
||||
hetzner
|
||||
hyperv
|
||||
kubevirt
|
||||
openstack
|
||||
proxmoxve
|
||||
qemu
|
||||
scaleway
|
||||
stackit
|
||||
vagrant
|
||||
virtualbox
|
||||
vmware
|
||||
)
|
||||
|
||||
# Set at runtime to one of the above types
|
||||
VM_IMG_TYPE=DEFAULT
|
||||
|
||||
@ -82,18 +60,9 @@ VM_GENERATED_FILES=()
|
||||
# If set to 0 then a partition skeleton won't be laid out on VM_TMP_IMG
|
||||
IMG_DEFAULT_PARTITIONED_IMG=1
|
||||
|
||||
# If set install the given package name to the OEM partition
|
||||
IMG_DEFAULT_OEM_PACKAGE=
|
||||
|
||||
# Forced OEM package name overriding what may be in the format
|
||||
IMG_FORCE_OEM_PACKAGE=
|
||||
|
||||
# If set install the given package name to the OEM sysext image
|
||||
IMG_DEFAULT_OEM_SYSEXT=
|
||||
|
||||
# Forced OEM package name overriding what may be in the format
|
||||
IMG_FORCE_OEM_SYSEXT=
|
||||
|
||||
# Hook to do any final tweaks or grab data while fs is mounted.
|
||||
IMG_DEFAULT_FS_HOOK=
|
||||
|
||||
@ -123,8 +92,7 @@ IMG_DEFAULT_CPUS=2
|
||||
IMG_qemu_uefi_DISK_FORMAT=qcow2
|
||||
IMG_qemu_uefi_DISK_LAYOUT=vm
|
||||
IMG_qemu_uefi_CONF_FORMAT=qemu_uefi
|
||||
IMG_qemu_uefi_OEM_PACKAGE=common-oem-files
|
||||
IMG_qemu_uefi_OEM_SYSEXT=oem-qemu
|
||||
IMG_qemu_uefi_OEM_SYSEXT=qemu
|
||||
|
||||
## xen
|
||||
IMG_xen_CONF_FORMAT=xl
|
||||
@ -133,42 +101,37 @@ IMG_xen_CONF_FORMAT=xl
|
||||
IMG_virtualbox_DISK_FORMAT=vmdk_ide
|
||||
IMG_virtualbox_DISK_LAYOUT=vm
|
||||
IMG_virtualbox_CONF_FORMAT=ovf_virtualbox
|
||||
IMG_virtualbox_OEM_PACKAGE=oem-virtualbox
|
||||
IMG_virtualbox_OEM_SYSEXT=virtualbox
|
||||
|
||||
## vagrant
|
||||
IMG_vagrant_FS_HOOK=box
|
||||
IMG_vagrant_BUNDLE_FORMAT=box
|
||||
IMG_vagrant_DISK_FORMAT=vmdk_ide
|
||||
IMG_vagrant_DISK_LAYOUT=vagrant
|
||||
IMG_vagrant_CONF_FORMAT=vagrant
|
||||
IMG_vagrant_OEM_PACKAGE=oem-vagrant
|
||||
IMG_vagrant_OEM_SYSEXT=vagrant
|
||||
|
||||
## vagrant_parallels
|
||||
IMG_vagrant_parallels_FS_HOOK=box
|
||||
IMG_vagrant_parallels_BUNDLE_FORMAT=box
|
||||
IMG_vagrant_parallels_DISK_FORMAT=hdd
|
||||
IMG_vagrant_parallels_DISK_LAYOUT=vagrant
|
||||
IMG_vagrant_parallels_CONF_FORMAT=vagrant_parallels
|
||||
IMG_vagrant_parallels_OEM_PACKAGE=oem-vagrant
|
||||
IMG_vagrant_parallels_OEM_SYSEXT=vagrant
|
||||
|
||||
## vmware
|
||||
IMG_vmware_DISK_FORMAT=vmdk_scsi
|
||||
IMG_vmware_DISK_LAYOUT=vm
|
||||
IMG_vmware_CONF_FORMAT=vmx
|
||||
IMG_vmware_OEM_PACKAGE=common-oem-files
|
||||
IMG_vmware_OEM_SYSEXT=oem-vmware
|
||||
IMG_vmware_OEM_SYSEXT=vmware
|
||||
|
||||
## vmware_ova
|
||||
IMG_vmware_ova_BUNDLE_FORMAT=ova
|
||||
IMG_vmware_ova_DISK_FORMAT=vmdk_stream
|
||||
IMG_vmware_ova_DISK_LAYOUT=vm
|
||||
IMG_vmware_ova_CONF_FORMAT=ovf_vmware
|
||||
IMG_vmware_ova_BUNDLE_FORMAT=ova
|
||||
IMG_vmware_ova_OEM_PACKAGE=common-oem-files
|
||||
IMG_vmware_ova_OEM_SYSEXT=oem-vmware
|
||||
IMG_vmware_ova_OEM_SYSEXT=vmware
|
||||
|
||||
## vmware_raw
|
||||
IMG_vmware_raw_OEM_PACKAGE=common-oem-files
|
||||
IMG_vmware_raw_OEM_SYSEXT=oem-vmware
|
||||
IMG_vmware_raw_OEM_SYSEXT=vmware
|
||||
|
||||
## parallels
|
||||
IMG_parallels_BUNDLE_FORMAT=pvm_tgz
|
||||
@ -178,23 +141,19 @@ IMG_parallels_CONF_FORMAT=pvs
|
||||
|
||||
## ami
|
||||
IMG_ami_vmdk_DISK_FORMAT=vmdk_stream
|
||||
IMG_ami_vmdk_OEM_PACKAGE=common-oem-files
|
||||
IMG_ami_vmdk_SYSEXT=oem-ami
|
||||
IMG_ami_vmdk_DISK_LAYOUT=vm
|
||||
IMG_ami_OEM_PACKAGE=common-oem-files
|
||||
IMG_ami_OEM_SYSEXT=oem-ami
|
||||
IMG_ami_vmdk_OEM_SYSEXT=ami
|
||||
IMG_ami_DISK_LAYOUT=vm
|
||||
IMG_ami_OEM_SYSEXT=ami
|
||||
|
||||
## openstack
|
||||
IMG_openstack_DISK_FORMAT=qcow2
|
||||
IMG_openstack_DISK_LAYOUT=vm
|
||||
IMG_openstack_OEM_PACKAGE=common-oem-files
|
||||
IMG_openstack_OEM_SYSEXT=oem-openstack
|
||||
IMG_openstack_OEM_SYSEXT=openstack
|
||||
|
||||
## openstack but without a resized root partition for more flexibility
|
||||
IMG_openstack_mini_DISK_FORMAT=qcow2
|
||||
IMG_openstack_mini_OEM_PACKAGE=common-oem-files
|
||||
IMG_openstack_mini_OEM_SYSEXT=oem-openstack
|
||||
IMG_openstack_mini_OEM_SYSEXT=openstack
|
||||
|
||||
## pxe, which is an cpio image
|
||||
IMG_pxe_DISK_FORMAT=cpio
|
||||
@ -211,83 +170,71 @@ IMG_iso_MEM=2048
|
||||
## gce, image tarball
|
||||
IMG_gce_DISK_LAYOUT=vm
|
||||
IMG_gce_CONF_FORMAT=gce
|
||||
IMG_gce_OEM_PACKAGE=common-oem-files
|
||||
IMG_gce_OEM_SYSEXT=oem-gce
|
||||
IMG_gce_OEM_SYSEXT=gce
|
||||
|
||||
## cloudstack
|
||||
IMG_cloudstack_OEM_PACKAGE=oem-cloudstack
|
||||
IMG_cloudstack_OEM_SYSEXT=cloudstack
|
||||
IMG_cloudstack_vhd_DISK_FORMAT=vhd
|
||||
IMG_cloudstack_vhd_OEM_PACKAGE=oem-cloudstack
|
||||
IMG_cloudstack_vhd_OEM_SYSEXT=cloudstack
|
||||
|
||||
## digitalocean
|
||||
IMG_digitalocean_OEM_PACKAGE=common-oem-files
|
||||
IMG_digitalocean_OEM_SYSEXT=oem-digitalocean
|
||||
IMG_digitalocean_OEM_SYSEXT=digitalocean
|
||||
|
||||
## exoscale
|
||||
IMG_exoscale_DISK_FORMAT=qcow2
|
||||
IMG_exoscale_OEM_PACKAGE=oem-exoscale
|
||||
IMG_exoscale_OEM_SYSEXT=exoscale
|
||||
|
||||
## azure
|
||||
IMG_azure_DISK_FORMAT=vhd_fixed
|
||||
IMG_azure_DISK_LAYOUT=azure
|
||||
IMG_azure_OEM_PACKAGE=common-oem-files
|
||||
IMG_azure_OEM_SYSEXT=oem-azure
|
||||
IMG_azure_OEM_SYSEXT=azure
|
||||
|
||||
## hetzner
|
||||
IMG_hetzner_DISK_LAYOUT=vm
|
||||
IMG_hetzner_OEM_PACKAGE=common-oem-files
|
||||
IMG_hetzner_OEM_SYSEXT=oem-hetzner
|
||||
IMG_hetzner_OEM_SYSEXT=hetzner
|
||||
|
||||
## hyper-v
|
||||
IMG_hyperv_DISK_FORMAT=vhd
|
||||
IMG_hyperv_OEM_PACKAGE=common-oem-files
|
||||
IMG_hyperv_OEM_SYSEXT=oem-hyperv
|
||||
IMG_hyperv_OEM_SYSEXT=hyperv
|
||||
|
||||
## hyper-v vhdx
|
||||
IMG_hyperv_vhdx_DISK_FORMAT=vhdx
|
||||
IMG_hyperv_vhdx_OEM_PACKAGE=common-oem-files
|
||||
IMG_hyperv_vhdx_OEM_SYSEXT=oem-hyperv
|
||||
IMG_hyperv_vhdx_OEM_SYSEXT=hyperv
|
||||
|
||||
## cloudsigma
|
||||
IMG_cloudsigma_DISK_FORMAT=qcow2
|
||||
IMG_cloudsigma_OEM_PACKAGE=oem-cloudsigma
|
||||
IMG_cloudsigma_OEM_SYSEXT=cloudsigma
|
||||
|
||||
## scaleway
|
||||
IMG_scaleway_DISK_FORMAT=qcow2
|
||||
IMG_scaleway_DISK_LAYOUT=vm
|
||||
IMG_scaleway_OEM_PACKAGE=common-oem-files
|
||||
IMG_scaleway_OEM_SYSEXT=oem-scaleway
|
||||
IMG_scaleway_OEM_SYSEXT=scaleway
|
||||
IMG_scaleway_DISK_EXTENSION=qcow2
|
||||
|
||||
## stackit
|
||||
IMG_stackit_DISK_FORMAT=qcow2
|
||||
IMG_stackit_DISK_LAYOUT=vm
|
||||
IMG_stackit_OEM_PACKAGE=common-oem-files
|
||||
IMG_stackit_OEM_SYSEXT=oem-stackit
|
||||
IMG_stackit_OEM_SYSEXT=stackit
|
||||
|
||||
## kubevirt
|
||||
IMG_kubevirt_DISK_FORMAT=qcow2
|
||||
IMG_kubevirt_DISK_LAYOUT=vm
|
||||
IMG_kubevirt_OEM_PACKAGE=common-oem-files
|
||||
IMG_kubevirt_OEM_SYSEXT=oem-kubevirt
|
||||
IMG_kubevirt_OEM_SYSEXT=kubevirt
|
||||
IMG_kubevirt_DISK_EXTENSION=qcow2
|
||||
|
||||
## akamai (Linode)
|
||||
IMG_akamai_DISK_LAYOUT=vm
|
||||
IMG_akamai_OEM_PACKAGE=common-oem-files
|
||||
IMG_akamai_OEM_SYSEXT=oem-akamai
|
||||
IMG_akamai_OEM_SYSEXT=akamai
|
||||
|
||||
# proxmoxve
|
||||
IMG_proxmoxve_DISK_FORMAT=qcow2
|
||||
IMG_proxmoxve_DISK_LAYOUT=vm
|
||||
IMG_proxmoxve_OEM_PACKAGE=common-oem-files
|
||||
IMG_proxmoxve_OEM_SYSEXT=oem-proxmoxve
|
||||
IMG_proxmoxve_OEM_SYSEXT=proxmoxve
|
||||
|
||||
## nutanix
|
||||
IMG_nutanix_DISK_FORMAT=qcow2
|
||||
IMG_nutanix_DISK_LAYOUT=vm
|
||||
IMG_nutanix_OEM_PACKAGE=common-oem-files
|
||||
IMG_nutanix_OEM_SYSEXT=oem-nutanix
|
||||
IMG_nutanix_OEM_SYSEXT=nutanix
|
||||
|
||||
###########################################################
|
||||
|
||||
@ -320,18 +267,6 @@ set_vm_type() {
|
||||
return 1
|
||||
}
|
||||
|
||||
# Validate and set the oem package, colon delimited USE optional
|
||||
set_vm_oem_pkg() {
|
||||
local oem_pkg="${1}" valid_pkg
|
||||
for valid_pkg in "${VALID_OEM_PACKAGES[@]}"; do
|
||||
if [[ "${oem_pkg}" == "${valid_pkg}" ]]; then
|
||||
IMG_FORCE_OEM_PACKAGE="oem-${oem_pkg}"
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
# Validate and set source vm image path
|
||||
set_vm_paths() {
|
||||
local src_dir="${1}"; shift
|
||||
@ -365,8 +300,7 @@ _get_vm_opt() {
|
||||
local opt="$1"
|
||||
local type_opt="IMG_${VM_IMG_TYPE}_${opt}"
|
||||
local default_opt="IMG_DEFAULT_${opt}"
|
||||
local force_opt="IMG_FORCE_${opt}"
|
||||
echo "${!force_opt:-${!type_opt:-${!default_opt}}}"
|
||||
echo "${!type_opt:-${!default_opt}}"
|
||||
}
|
||||
|
||||
# Translate source image names to output names.
|
||||
@ -455,42 +389,6 @@ setup_disk_image() {
|
||||
fi
|
||||
}
|
||||
|
||||
# If the current type defines a oem package install it to the given fs image.
|
||||
install_oem_package() {
|
||||
local oem_pkg=$(_get_vm_opt OEM_PACKAGE)
|
||||
local oem_use=$(_get_vm_opt OEM_USE)
|
||||
# The "${VM_IMG_TYPE}-oem-image-rootfs" directory name is
|
||||
# important - it is used to determine the package target in
|
||||
# coreos/base/profile.bashrc
|
||||
local oem_tmp="${VM_TMP_DIR}/${VM_IMG_TYPE}-oem-image-rootfs"
|
||||
|
||||
if [[ -z "${oem_pkg}" ]]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Split into two steps because we want to always install $oem_pkg from
|
||||
# the ebuild (build_packages doesn't handle it) *but* we never want to
|
||||
# build anything else from source here. emerge doesn't have a way to
|
||||
# enforce this in a single command.
|
||||
info "Building ${oem_pkg}"
|
||||
USE="${oem_use}" emerge-${BOARD} \
|
||||
--nodeps --buildpkgonly --usepkg n \
|
||||
--verbose "${oem_pkg}"
|
||||
|
||||
local getbinpkg
|
||||
if [[ ${FLAGS_getbinpkg} -eq ${FLAGS_TRUE} ]]; then
|
||||
getbinpkg=--getbinpkg
|
||||
fi
|
||||
|
||||
info "Installing ${oem_pkg} to OEM partition"
|
||||
USE="${oem_use}" emerge-${BOARD} \
|
||||
--root="${oem_tmp}" --sysroot="${oem_tmp}" \
|
||||
--usepkgonly ${getbinpkg} \
|
||||
--verbose --jobs=2 "${oem_pkg}"
|
||||
sudo rsync -a "${oem_tmp}/oem/" "${VM_TMP_ROOT}/oem/"
|
||||
sudo rm -rf "${oem_tmp}"
|
||||
}
|
||||
|
||||
# Install the prebuilt OEM sysext file into the OEM partition.
|
||||
# The sysext should have been built by 'build_image oem_sysext'.
|
||||
install_oem_sysext() {
|
||||
@ -500,7 +398,7 @@ install_oem_sysext() {
|
||||
return 0
|
||||
fi
|
||||
|
||||
local prebuilt_sysext_filename="${oem_sysext}.raw"
|
||||
local prebuilt_sysext_filename="oem-${oem_sysext}.raw"
|
||||
local prebuilt_sysext_path="${FLAGS_from}/${prebuilt_sysext_filename}"
|
||||
local version="${FLATCAR_VERSION}"
|
||||
|
||||
@ -509,34 +407,27 @@ install_oem_sysext() {
|
||||
fi
|
||||
|
||||
local installed_sysext_oem_dir='/oem/sysext'
|
||||
local installed_sysext_file_prefix="${oem_sysext}-${version}"
|
||||
local installed_sysext_file_prefix="oem-${oem_sysext}-${version}"
|
||||
local installed_sysext_filename="${installed_sysext_file_prefix}.raw"
|
||||
local installed_sysext_abspath="${installed_sysext_oem_dir}/${installed_sysext_filename}"
|
||||
|
||||
info "Installing ${oem_sysext} sysext from prebuilt image"
|
||||
info "Installing oem-${oem_sysext} sysext from prebuilt image"
|
||||
sudo install -Dpm 0644 \
|
||||
"${prebuilt_sysext_path}" \
|
||||
"${VM_TMP_ROOT}${installed_sysext_abspath}" ||
|
||||
die "Could not install ${oem_sysext} sysext"
|
||||
die "Could not install oem-${oem_sysext} sysext"
|
||||
|
||||
# Mark the installed sysext as active.
|
||||
sudo touch "${VM_TMP_ROOT}${installed_sysext_oem_dir}/active-${oem_sysext}"
|
||||
}
|
||||
sudo touch "${VM_TMP_ROOT}${installed_sysext_oem_dir}/active-oem-${oem_sysext}"
|
||||
|
||||
# Any other tweaks required?
|
||||
run_fs_hook() {
|
||||
local fs_hook=$(_get_vm_opt FS_HOOK)
|
||||
if [[ -n "${fs_hook}" ]]; then
|
||||
info "Running ${fs_hook} fs hook"
|
||||
_run_${fs_hook}_fs_hook "$@"
|
||||
fi
|
||||
}
|
||||
# Extract metadata from the sysext and write it to oem-release. Chop off the
|
||||
# oem- prefix from SYSEXT_ID because that's how it has traditionally looked.
|
||||
sudo systemd-dissect --json=short "${prebuilt_sysext_path}" | jq -r '.sysextRelease | .[]' |
|
||||
sed -n -r -e "s/^SYSEXT_ID=oem-/SYSEXT_ID=/" -e "s/^SYSEXT_//p" |
|
||||
sudo install -m0644 /dev/stdin "${VM_TMP_ROOT}/oem/oem-release"
|
||||
|
||||
_run_box_fs_hook() {
|
||||
# Copy basic Vagrant configs from OEM
|
||||
mkdir -p "${VM_TMP_DIR}/box"
|
||||
cp -R "${VM_TMP_ROOT}/oem/box/." "${VM_TMP_DIR}/box"
|
||||
sudo rm -fr "${VM_TMP_ROOT}/oem/box"
|
||||
# Copy the OEM-specific grub.cfg.
|
||||
sudo install -m0644 "${BUILD_LIBRARY_DIR}/oem/${oem_sysext}/grub.cfg" "${VM_TMP_ROOT}/oem/grub.cfg"
|
||||
}
|
||||
|
||||
# Write the vm disk image to the target directory in the proper format
|
||||
@ -980,11 +871,17 @@ EOF
|
||||
VM_GENERATED_FILES+=( "$ovf" "${VM_README}" )
|
||||
}
|
||||
|
||||
_copy_vagrant_files() {
|
||||
local oem_sysext=$(_get_vm_opt OEM_SYSEXT)
|
||||
cp -r "${BUILD_LIBRARY_DIR}/oem/${oem_sysext}/build/box" "${VM_TMP_DIR}/"
|
||||
}
|
||||
|
||||
_write_vagrant_conf() {
|
||||
local vm_mem="${1:-$(_get_vm_opt MEM)}"
|
||||
local ovf="${VM_TMP_DIR}/box/box.ovf"
|
||||
local mac="${VM_TMP_DIR}/box/base_mac.rb"
|
||||
|
||||
_copy_vagrant_files
|
||||
"${BUILD_LIBRARY_DIR}/virtualbox_ovf.sh" \
|
||||
--vm_name "$VM_NAME" \
|
||||
--disk_vmdk "${VM_DST_IMG}" \
|
||||
@ -997,6 +894,7 @@ _write_vagrant_parallels_conf() {
|
||||
local vm_mem="${1:-$(_get_vm_opt MEM)}"
|
||||
local pvs=$(_dst_path ".pvs")
|
||||
|
||||
_copy_vagrant_files
|
||||
"${BUILD_LIBRARY_DIR}/parallels_pvs.sh" \
|
||||
--vm_name "$VM_NAME" \
|
||||
--disk_image "$VM_DST_IMG" \
|
||||
|
||||
1
changelog/changes/2026-04-29-oem-sysexts.md
Normal file
1
changelog/changes/2026-04-29-oem-sysexts.md
Normal file
@ -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.
|
||||
@ -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
|
||||
|
||||
@ -1,158 +0,0 @@
|
||||
# Copyright (c) 2023 The Flatcar Maintainers.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# The hack below is there in order to avoid excessive duplication of
|
||||
# OEM IDs around the place. This ebuild serves as a Gentoo ebuild and
|
||||
# as a bash file to be sourced in order to get arch-specific
|
||||
# information about possible OEM IDs. The latter role is assumed when
|
||||
# the ebuild is sourced with first argument being
|
||||
# 'flatcar-local-variables'. Due to the requirements imposed by the
|
||||
# section 7.3.1 in Package Manager Specification (that says that EAPI
|
||||
# assignment must be the first non-comment, non-blank line in the
|
||||
# file), shell scripts wanting to source this ebuild for geting OEM
|
||||
# IDs, may need to declare EAPI as local, if it finds it suitable. The
|
||||
# role of sourced script is used by our image-changes job. All this
|
||||
# fluff needs to happen before we define or invoke any other
|
||||
# Gentoo-specific variables or functions like "DEPEND" or "inherit"
|
||||
# that may mess up sourcing.
|
||||
#
|
||||
# This can't be done with a separate shell file in FILESDIR, because
|
||||
# portage moves the ebuild into some temporary directory where
|
||||
# FILESDIR, although defined, does not even exist at first - it shows
|
||||
# up during the invocation of any src_ functions. Probably a security
|
||||
# measure or something.
|
||||
|
||||
if [[ ${1:-} = 'flatcar-local-variables' ]]; then
|
||||
local -a COMMON_OEMIDS ARM64_ONLY_OEMIDS AMD64_ONLY_OEMIDS OEMIDS
|
||||
fi
|
||||
|
||||
COMMON_OEMIDS=(
|
||||
akamai
|
||||
ami
|
||||
azure
|
||||
hetzner
|
||||
openstack
|
||||
proxmoxve
|
||||
qemu
|
||||
scaleway
|
||||
stackit
|
||||
kubevirt
|
||||
)
|
||||
|
||||
ARM64_ONLY_OEMIDS=(
|
||||
)
|
||||
|
||||
AMD64_ONLY_OEMIDS=(
|
||||
digitalocean
|
||||
gce
|
||||
hyperv
|
||||
vmware
|
||||
nutanix
|
||||
)
|
||||
|
||||
OEMIDS=(
|
||||
"${COMMON_OEMIDS[@]}"
|
||||
"${ARM64_ONLY_OEMIDS[@]}"
|
||||
"${AMD64_ONLY_OEMIDS[@]}"
|
||||
)
|
||||
|
||||
if [[ ${1:-} = 'flatcar-local-variables' ]]; then
|
||||
return 0
|
||||
else
|
||||
unset COMMON_OEMIDS ARM64_ONLY_OEMIDS AMD64_ONLY_OEMIDS
|
||||
fi
|
||||
|
||||
DESCRIPTION='Common OEM files'
|
||||
HOMEPAGE='https://www.flatcar.org/'
|
||||
|
||||
LICENSE='Apache-2.0'
|
||||
SLOT='0'
|
||||
KEYWORDS='amd64 arm64'
|
||||
IUSE="${OEMIDS[*]}"
|
||||
REQUIRED_USE="^^ ( ${OEMIDS[*]} )"
|
||||
|
||||
# No source directory.
|
||||
S="${WORKDIR}"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="${DEPEND}"
|
||||
BDEPEND="
|
||||
app-portage/gentoolkit
|
||||
"
|
||||
|
||||
src_compile() {
|
||||
local oemid package ebuild version name homepage lines oemid_cmdline
|
||||
|
||||
for oemid in "${OEMIDS[@]}"; do
|
||||
if use "${oemid}"; then break; fi
|
||||
done
|
||||
|
||||
package="coreos-base/oem-${oemid}"
|
||||
ebuild=$(equery which "${package}")
|
||||
version=${ebuild##*"oem-${oemid}-"}
|
||||
version=${version%%'.ebuild'}
|
||||
if [[ -z "${version}" ]]; then
|
||||
die "Could not deduce a version from ebuild ${ebuild##*/} (${ebuild})"
|
||||
fi
|
||||
name=$(source <(grep -F 'SYSEXT_NAME=' "${ebuild}"); echo "${SYSEXT_NAME}")
|
||||
if [[ -z "${name}" ]]; then
|
||||
die "Missing SYSEXT_NAME variable in ${ebuild##*/}"
|
||||
fi
|
||||
# We need to prefix the HOMEPAGE variable with SYSEXT_, because
|
||||
# portage marks HOMEPAGE as readonly and this gets propagated to
|
||||
# subshells, so sourcing a snippet with HOMEPAGE=foo won't
|
||||
# overwrite the readonly variable.
|
||||
homepage=$(source <(grep -F 'HOMEPAGE=' "${ebuild}" | sed -e 's/^/SYSEXT_/'); echo "${SYSEXT_HOMEPAGE}")
|
||||
lines=(
|
||||
"ID=${oemid}"
|
||||
"VERSION_ID=${version}"
|
||||
"NAME=\"${name}\""
|
||||
)
|
||||
if [[ -n "${homepage}" ]]; then
|
||||
lines+=( "HOME_URL=\"${homepage}\"" )
|
||||
fi
|
||||
lines+=(
|
||||
'BUG_REPORT_URL="https://issues.flatcar.org"'
|
||||
)
|
||||
|
||||
{
|
||||
printf '%s\n' "${lines[@]}"
|
||||
if [[ -e "${FILESDIR}/${oemid}/oem-release.frag" ]]; then
|
||||
cat "${FILESDIR}/${oemid}/oem-release.frag"
|
||||
fi
|
||||
} >"${T}/oem-release"
|
||||
|
||||
oemid_cmdline="${oemid}"
|
||||
|
||||
# In this specific case, the OEM ID from the oem-release file ('ami')
|
||||
# is different from the OEM ID kernel command line parameter ('ec2')
|
||||
# because some services like Afterburn or Ignition expects 'ec2|aws' value.
|
||||
if [[ "${oemid}" == "ami" ]]; then
|
||||
oemid_cmdline="ec2"
|
||||
fi
|
||||
|
||||
# STACKIT is running on top of OpenStack, so the `oem_cmdline` has to be `openstack` for Ignition/Afterburn integration but the `oemid` has to stay `stackit` to load the correct `oem-stackit` sysext image.
|
||||
if [[ "${oemid}" == "stackit" ]]; then
|
||||
oemid_cmdline="openstack"
|
||||
fi
|
||||
|
||||
lines=(
|
||||
'# Flatcar GRUB settings'
|
||||
''
|
||||
"set oem_id=\"${oemid_cmdline}\""
|
||||
)
|
||||
{
|
||||
printf '%s\n' "${lines[@]}"
|
||||
if [[ -e "${FILESDIR}/${oemid}/grub.cfg.frag" ]]; then
|
||||
cat "${FILESDIR}/${oemid}/grub.cfg.frag"
|
||||
fi
|
||||
} >"${T}/grub.cfg"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto "/oem"
|
||||
doins "${T}/grub.cfg"
|
||||
doins "${T}/oem-release"
|
||||
}
|
||||
@ -1 +0,0 @@
|
||||
set linux_append="flatcar.autologin"
|
||||
@ -1 +0,0 @@
|
||||
set linux_append="flatcar.autologin"
|
||||
@ -1 +0,0 @@
|
||||
set linux_append="flatcar.autologin"
|
||||
@ -1 +0,0 @@
|
||||
set linux_append="flatcar.autologin"
|
||||
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
||||
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
||||
@ -5,11 +5,9 @@ EAPI=8
|
||||
|
||||
DESCRIPTION="OEM suite for Akamai (previously Linode)"
|
||||
HOMEPAGE="https://www.linode.com"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="GPL-2"
|
||||
LICENSE="metapackage"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm64"
|
||||
IUSE=""
|
||||
|
||||
SYSEXT_NAME="Akamai"
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
||||
@ -7,23 +7,19 @@ inherit systemd
|
||||
|
||||
DESCRIPTION="OEM suite for Amazon Machine Images"
|
||||
HOMEPAGE="http://aws.amazon.com/ec2/"
|
||||
SRC_URI=""
|
||||
S="${WORKDIR}"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
~app-emulation/amazon-ssm-agent-${PV}
|
||||
coreos-base/flatcar-eks
|
||||
~app-emulation/amazon-ssm-agent-${PV}
|
||||
coreos-base/flatcar-eks
|
||||
"
|
||||
|
||||
# for coreos-base/common-oem-files
|
||||
SYSEXT_NAME="Amazon EC2"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
src_install() {
|
||||
systemd_dounit "${FILESDIR}/setup-oem.service"
|
||||
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
||||
@ -7,12 +7,11 @@ inherit systemd tmpfiles
|
||||
|
||||
DESCRIPTION="OEM suite for Azure"
|
||||
HOMEPAGE="https://azure.microsoft.com/"
|
||||
SRC_URI=""
|
||||
S="${WORKDIR}"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
~app-emulation/wa-linux-agent-${PV}
|
||||
@ -22,10 +21,8 @@ RDEPEND="
|
||||
sys-fs/inotify-tools
|
||||
"
|
||||
|
||||
# for coreos-base/common-oem-files
|
||||
SYSEXT_NAME="Microsoft Azure"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
src_install() {
|
||||
systemd_enable_service multi-user.target chronyd.service
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
||||
@ -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"
|
||||
}
|
||||
@ -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
|
||||
}
|
||||
@ -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
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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/"
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
||||
@ -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"
|
||||
}
|
||||
@ -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}
|
||||
}
|
||||
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
||||
@ -3,13 +3,11 @@
|
||||
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="DigitalOcean suite for DigitalOcean"
|
||||
DESCRIPTION="OEM suite for DigitalOcean"
|
||||
HOMEPAGE="https://www.digitalocean.com/"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="GPL-2"
|
||||
LICENSE="metapackage"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm64"
|
||||
IUSE=""
|
||||
KEYWORDS="amd64"
|
||||
|
||||
SYSEXT_NAME="DigitalOcean"
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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/"
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
||||
@ -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"
|
||||
}
|
||||
22
sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/oem-exoscale-1.0.0.ebuild
vendored
Normal file
22
sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/oem-exoscale-1.0.0.ebuild
vendored
Normal file
@ -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}
|
||||
}
|
||||
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
||||
@ -1,42 +0,0 @@
|
||||
# Copyright (c) 2013 CoreOS, Inc.. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# Copyright (c) 2020 Kinvolk GmbH. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit systemd
|
||||
|
||||
DESCRIPTION="OEM suite for Google Compute Engine images"
|
||||
HOMEPAGE="https://cloud.google.com/products/compute-engine/"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64"
|
||||
IUSE=""
|
||||
|
||||
# no source directory
|
||||
S="${WORKDIR}"
|
||||
|
||||
RDEPEND="
|
||||
app-emulation/google-compute-engine
|
||||
"
|
||||
|
||||
SYSEXT_NAME="Google Compute Engine"
|
||||
|
||||
src_install() {
|
||||
systemd_dounit "${FILESDIR}/units/oem-gce.service"
|
||||
systemd_dounit "${FILESDIR}/units/oem-gce-enable-oslogin.service"
|
||||
systemd_dounit "${FILESDIR}/units/setup-oem.service"
|
||||
systemd_install_dropin "multi-user.target" "${FILESDIR}/units/10-oem-gce.conf"
|
||||
systemd_enable_service "multi-user.target" "ntpd.service"
|
||||
|
||||
dobin "${FILESDIR}/bin/enable-oslogin"
|
||||
dobin "${FILESDIR}/bin/init.sh"
|
||||
|
||||
# These files will be symlinked to /etc via 'setup-oem.service'
|
||||
insinto /usr/share/gce/
|
||||
doins "${FILESDIR}/files/hosts"
|
||||
doins "${FILESDIR}/files/google-cloud-sdk.sh"
|
||||
}
|
||||
34
sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20190124.ebuild
vendored
Normal file
34
sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20190124.ebuild
vendored
Normal file
@ -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}
|
||||
}
|
||||
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
||||
@ -5,11 +5,9 @@ EAPI=8
|
||||
|
||||
DESCRIPTION="OEM suite for Hetzner"
|
||||
HOMEPAGE="https://hetzner.com"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="GPL-2"
|
||||
LICENSE="metapackage"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm64"
|
||||
IUSE=""
|
||||
|
||||
SYSEXT_NAME="Hetzner"
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
ID=hyperv
|
||||
VERSION_ID=@@OEM_VERSION_ID@@
|
||||
NAME="Microsoft Hyper-V"
|
||||
BUG_REPORT_URL="https://issues.flatcar.org"
|
||||
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
||||
@ -3,20 +3,13 @@
|
||||
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="OEM suite for Hyper-V"
|
||||
HOMEPAGE=""
|
||||
SRC_URI=""
|
||||
DESCRIPTION="OEM suite for Microsoft Hyper-V"
|
||||
HOMEPAGE="https://learn.microsoft.com/windows-server/virtualization/hyper-v/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
LICENSE="metapackage"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
app-emulation/hv-daemons
|
||||
"
|
||||
RDEPEND="app-emulation/hv-daemons"
|
||||
|
||||
SYSEXT_NAME="Microsoft Hyper-V"
|
||||
|
||||
# no source directory
|
||||
S="${WORKDIR}"
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
||||
@ -5,11 +5,9 @@ EAPI=8
|
||||
|
||||
DESCRIPTION="OEM suite for KubeVirt"
|
||||
HOMEPAGE="https://kubevirt.io/"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="GPL-2"
|
||||
LICENSE="metapackage"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm64"
|
||||
IUSE=""
|
||||
|
||||
SYSEXT_NAME="KubeVirt"
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
||||
@ -5,11 +5,9 @@ EAPI=8
|
||||
|
||||
DESCRIPTION="OEM suite for Nutanix"
|
||||
HOMEPAGE="https://www.nutanix.com/"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="GPL-2"
|
||||
LICENSE="metapackage"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64"
|
||||
IUSE=""
|
||||
|
||||
SYSEXT_NAME="Nutanix"
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
||||
@ -3,13 +3,11 @@
|
||||
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="OpenStack suite for OpenStack"
|
||||
DESCRIPTION="OEM suite for OpenStack"
|
||||
HOMEPAGE="https://www.openstack.org/"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="GPL-2"
|
||||
LICENSE="metapackage"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm64"
|
||||
IUSE=""
|
||||
|
||||
SYSEXT_NAME="Openstack"
|
||||
SYSEXT_NAME="OpenStack"
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
||||
@ -5,11 +5,9 @@ EAPI=8
|
||||
|
||||
DESCRIPTION="OEM suite for Proxmox VE"
|
||||
HOMEPAGE="https://www.proxmox.com/en/proxmox-virtual-environment/"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="GPL-2"
|
||||
LICENSE="metapackage"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm64"
|
||||
IUSE=""
|
||||
|
||||
SYSEXT_NAME="Proxmox VE"
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
||||
@ -5,11 +5,9 @@ EAPI=8
|
||||
|
||||
DESCRIPTION="OEM suite for QEMU"
|
||||
HOMEPAGE="https://www.qemu.org/"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="GPL-2"
|
||||
LICENSE="metapackage"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm64"
|
||||
IUSE=""
|
||||
|
||||
SYSEXT_NAME="QEMU"
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
||||
@ -5,11 +5,9 @@ EAPI=8
|
||||
|
||||
DESCRIPTION="OEM suite for Scaleway"
|
||||
HOMEPAGE="https://www.scaleway.com"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="GPL-2"
|
||||
LICENSE="metapackage"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm64"
|
||||
IUSE=""
|
||||
|
||||
SYSEXT_NAME="Scaleway"
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
||||
@ -6,19 +6,14 @@ EAPI=8
|
||||
inherit systemd tmpfiles
|
||||
|
||||
DESCRIPTION="OEM suite for STACKIT"
|
||||
HOMEPAGE="https://stackit.cloud"
|
||||
SRC_URI=""
|
||||
HOMEPAGE="https://stackit.com/"
|
||||
S="${WORKDIR}"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
net-misc/chrony
|
||||
"
|
||||
|
||||
S="${WORKDIR}"
|
||||
RDEPEND="net-misc/chrony"
|
||||
|
||||
SYSEXT_NAME="STACKIT"
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ coreos:
|
||||
id: vagrant
|
||||
name: Vagrant
|
||||
version-id: @@OEM_VERSION_ID@@
|
||||
home-url: http://www.vagrantup.com/
|
||||
home-url: https://developer.hashicorp.com/vagrant
|
||||
bug-report-url: https://github.com/coreos/coreos-overlay
|
||||
|
||||
ssh_authorized_keys:
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
||||
@ -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"
|
||||
}
|
||||
21
sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/oem-vagrant-1.0.0.ebuild
vendored
Normal file
21
sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/oem-vagrant-1.0.0.ebuild
vendored
Normal file
@ -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
|
||||
}
|
||||
@ -1,4 +0,0 @@
|
||||
ID=virtualbox
|
||||
VERSION_ID=@@OEM_VERSION_ID@@
|
||||
NAME="Oracle VirtualBox"
|
||||
BUG_REPORT_URL="https://issues.flatcar.org"
|
||||
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
||||
@ -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"
|
||||
}
|
||||
@ -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"
|
||||
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
||||
@ -7,21 +7,16 @@ inherit systemd
|
||||
|
||||
DESCRIPTION="OEM suite for VMware"
|
||||
HOMEPAGE="https://www.vmware.com/"
|
||||
SRC_URI=""
|
||||
S="${WORKDIR}"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm64"
|
||||
IUSE=""
|
||||
KEYWORDS="amd64"
|
||||
|
||||
RDEPEND="
|
||||
~app-emulation/open-vm-tools-${PV}
|
||||
"
|
||||
|
||||
# no source directory
|
||||
S="${WORKDIR}"
|
||||
|
||||
# for coreos-base/common-oem-files
|
||||
SYSEXT_NAME="VMware"
|
||||
|
||||
src_install() {
|
||||
|
||||
@ -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}
|
||||
|
||||
6
sdk_container/src/third_party/portage-stable/licenses/metapackage
vendored
Normal file
6
sdk_container/src/third_party/portage-stable/licenses/metapackage
vendored
Normal file
@ -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.
|
||||
Loading…
x
Reference in New Issue
Block a user