From 5cfbf6e1eb436f76808e8cd8afbaebc417cb8b31 Mon Sep 17 00:00:00 2001 From: Mathieu Tortuyaux Date: Wed, 29 Nov 2023 12:11:49 +0100 Subject: [PATCH] coreos-base/oem-gce: migrate gce to sysext format Signed-off-by: Mathieu Tortuyaux --- build_library/vm_image_util.sh | 4 +- ...r4.ebuild => common-oem-files-0-r5.ebuild} | 1 + .../files/gce/grub.cfg.frag} | 4 -- .../coreos-base/misc-files/files/oems/gce | 13 +++++ .../coreos-base/oem-gce/files/base/README | 4 -- .../coreos-base/oem-gce/files/base/base.ign | 57 ------------------- .../coreos-base/oem-gce/files/oem-release | 5 -- .../oem-gce/files/units/10-oem-gce.conf | 2 + .../units/oem-gce-enable-oslogin.service | 2 +- .../oem-gce/files/units/setup-oem.service | 12 ++++ .../oem-gce/oem-gce-20180823-r5.ebuild | 33 ----------- .../oem-gce/oem-gce-20180823-r6.ebuild | 35 ++++++++++++ 12 files changed, 67 insertions(+), 105 deletions(-) rename sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/{common-oem-files-0-r4.ebuild => common-oem-files-0-r5.ebuild} (99%) rename sdk_container/src/third_party/coreos-overlay/coreos-base/{oem-gce/files/grub.cfg => common-oem-files/files/gce/grub.cfg.frag} (80%) create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/misc-files/files/oems/gce delete mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/base/README delete mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/base/base.ign delete mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/oem-release create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/10-oem-gce.conf create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/setup-oem.service delete mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20180823-r5.ebuild create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20180823-r6.ebuild diff --git a/build_library/vm_image_util.sh b/build_library/vm_image_util.sh index 3606a7211d..a82759496b 100644 --- a/build_library/vm_image_util.sh +++ b/build_library/vm_image_util.sh @@ -256,8 +256,10 @@ IMG_iso_MEM=2048 ## gce, image tarball IMG_gce_DISK_LAYOUT=vm IMG_gce_CONF_FORMAT=gce -IMG_gce_OEM_PACKAGE=oem-gce +IMG_gce_OEM_PACKAGE=common-oem-files IMG_gce_OEM_ACI=gce +IMG_gce_OEM_USE=gce +IMG_gce_OEM_SYSEXT=oem-gce ## rackspace IMG_rackspace_OEM_PACKAGE=oem-rackspace diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r4.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r5.ebuild similarity index 99% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r4.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r5.ebuild index 67336f3219..f353d713de 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r4.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r5.ebuild @@ -31,6 +31,7 @@ fi COMMON_OEMIDS=( ami azure + gce openstack packet qemu diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/gce/grub.cfg.frag similarity index 80% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/grub.cfg rename to sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/gce/grub.cfg.frag index 8366e12a55..d292e2faf0 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/grub.cfg +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/gce/grub.cfg.frag @@ -1,7 +1,3 @@ -# 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/misc-files/files/oems/gce b/sdk_container/src/third_party/coreos-overlay/coreos-base/misc-files/files/oems/gce new file mode 100644 index 0000000000..4f4deb00af --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/misc-files/files/oems/gce @@ -0,0 +1,13 @@ +/etc/systemd/system/multi-user.target.wants/oem-cloudinit.service +/etc/systemd/system/multi-user.target.wants/oem-gce.service +/etc/systemd/system/oem-cloudinit.service +/etc/systemd/system/oem-gce-enable-oslogin.service +/etc/systemd/system/oem-gce.service +/etc/systemd/system/sysinit.target.wants/oem-gce-enable-oslogin.service +/oem/base/ +/oem/bin/ +/oem/files/ +/oem/flatcar-oem-gce.aci +/oem/units/ +/var/lib/flatcar-oem-gce +/var/lib/flatcar-oem-gce.img diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/base/README b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/base/README deleted file mode 100644 index d128309fef..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/base/README +++ /dev/null @@ -1,4 +0,0 @@ -These Ignition configs are part of the OEM configuration. Do not modify -them. If you want to write an Ignition config directly to disk, put it in -../config.ign and it will be applied at first boot instead of a config -in userdata. diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/base/base.ign b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/base/base.ign deleted file mode 100644 index ee30505752..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/base/base.ign +++ /dev/null @@ -1,57 +0,0 @@ -{ - "ignition": { - "version": "2.2.0" - }, - "storage": { - "files": [ - { - "filesystem": "root", - "path": "/etc/systemd/system/oem-gce.service", - "contents": { - "source": "oem:///units/oem-gce.service" - }, - "mode": 292 - }, - { - "filesystem": "root", - "path": "/etc/systemd/system/oem-gce-enable-oslogin.service", - "contents": { - "source": "oem:///units/oem-gce-enable-oslogin.service" - }, - "mode": 292 - }, - { - "filesystem": "root", - "path": "/etc/hosts", - "contents": { - "source": "oem:///files/hosts" - }, - "mode": 292 - }, - { - "filesystem": "root", - "path": "/etc/profile.d/google-cloud-sdk.sh", - "contents": { - "source": "oem:///files/google-cloud-sdk.sh" - }, - "mode": 292 - } - ] - }, - "systemd": { - "units": [ - { - "name": "coreos-metadata-sshkeys@.service", - "enabled": true - }, - { - "name": "oem-gce.service", - "enabled": true - }, - { - "name": "oem-gce-enable-oslogin.service", - "enabled": true - } - ] - } -} diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/oem-release b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/oem-release deleted file mode 100644 index 92a20acf95..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/oem-release +++ /dev/null @@ -1,5 +0,0 @@ -ID=gce -VERSION_ID=@@OEM_VERSION_ID@@ -NAME="Google Compute Engine" -HOME_URL="https://cloud.google.com/products/compute-engine/" -BUG_REPORT_URL="https://issues.flatcar.org" diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/10-oem-gce.conf b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/10-oem-gce.conf new file mode 100644 index 0000000000..69909d6ea3 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/10-oem-gce.conf @@ -0,0 +1,2 @@ +[Unit] +Upholds=oem-gce-enable-oslogin.service setup-oem.service diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/oem-gce-enable-oslogin.service b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/oem-gce-enable-oslogin.service index 8b09d5dd69..6ffe2d37ec 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/oem-gce-enable-oslogin.service +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/oem-gce-enable-oslogin.service @@ -10,7 +10,7 @@ Before=sshd.socket Type=oneshot RemainAfterExit=true -ExecStart=/oem/bin/enable-oslogin +ExecStart=/usr/bin/enable-oslogin [Install] WantedBy=sysinit.target diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/setup-oem.service b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/setup-oem.service new file mode 100644 index 0000000000..ac7aafedb3 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/setup-oem.service @@ -0,0 +1,12 @@ +[Unit] +Description=Setup OEM +Before=oem-gce-enable-oslogin.service +DefaultDependencies=false + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=-/usr/bin/ln --symbolic --force /usr/share/gce/hosts /etc/hosts +ExecStart=-/usr/bin/ln --symbolic /usr/share/gce/google-cloud-sdk.sh /etc/profile.d/google-cloud-sdk.sh +[Install] +WantedBy=sysinit.target diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20180823-r5.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20180823-r5.ebuild deleted file mode 100644 index e3d66ecfa6..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20180823-r5.ebuild +++ /dev/null @@ -1,33 +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 Google Compute Engine 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}/oem-release" > "${T}/oem-release" || die -} - -src_install() { - insinto "/oem" - doins "${FILESDIR}/grub.cfg" - doins "${T}/oem-release" - doins -r "${FILESDIR}/base" - doins -r "${FILESDIR}/files" - doins -r "${FILESDIR}/units" - exeinto "/oem/bin" - doexe "${FILESDIR}/bin/enable-oslogin" -} diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20180823-r6.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20180823-r6.ebuild new file mode 100644 index 0000000000..0fec59b6f3 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20180823-r6.ebuild @@ -0,0 +1,35 @@ +# 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}" + +OEM_NAME="Google Compute Engine" + +src_install() { + 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" + + dobin "${FILESDIR}/bin/enable-oslogin" + + # 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" +}