From 90b74e29b3ebdda08ed4b8eb278a22a99326014e Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Wed, 13 Sep 2023 16:08:57 +0200 Subject: [PATCH] overlay coreos-base/oem-vmware: Update to be sysext-ready Ignition files are not necessary any more. Grub config file and oem-releas file are now provided by the coreos-base/oem-common-files package. We install drop-in files for systemd units instead of providing our own copies. This is where we set up PrivateTmp option and create symlinks for /etc. There's also manglefs.sh script, that will be executed by the build_sysext utility. It drops unnecessary stuff like translations, debugging symbols and development files. --- .../coreos-base/oem-vmware/files/base/README | 4 -- .../oem-vmware/files/base/base.ign | 25 ------------ .../oem-vmware/files/flatcar-fixups.conf | 3 ++ .../coreos-base/oem-vmware/files/grub.cfg | 4 -- .../coreos-base/oem-vmware/files/manglefs.sh | 37 ++++++++++++++++++ .../coreos-base/oem-vmware/files/oem-release | 5 --- .../files/open-vm-tools-sysext-upholds.conf | 2 + .../oem-vmware/files/units/vmtoolsd.service | 13 ------- .../oem-vmware/oem-vmware-12.3.0-r1.ebuild | 38 +++++++++++++++++++ .../oem-vmware/oem-vmware-12.3.0.ebuild | 35 ----------------- 10 files changed, 80 insertions(+), 86 deletions(-) delete mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/base/README delete mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/base/base.ign create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/flatcar-fixups.conf delete mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/grub.cfg create mode 100755 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/manglefs.sh delete mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/oem-release create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/open-vm-tools-sysext-upholds.conf delete mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/units/vmtoolsd.service create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/oem-vmware-12.3.0-r1.ebuild delete mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/oem-vmware-12.3.0.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/base/README b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/base/README deleted file mode 100644 index 97bd5f6738..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/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 guestinfo. diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/base/base.ign b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/base/base.ign deleted file mode 100644 index cd57bdbb54..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/base/base.ign +++ /dev/null @@ -1,25 +0,0 @@ -{ - "ignition": { - "version": "2.1.0" - }, - "storage": { - "files": [ - { - "filesystem": "root", - "path": "/etc/systemd/system/vmtoolsd.service", - "contents": { - "source": "oem:///units/vmtoolsd.service" - }, - "mode": 292 - } - ] - }, - "systemd": { - "units": [ - { - "name": "vmtoolsd.service", - "enabled": true - } - ] - } -} diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/flatcar-fixups.conf b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/flatcar-fixups.conf new file mode 100644 index 0000000000..49b5e1365d --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/flatcar-fixups.conf @@ -0,0 +1,3 @@ +[Service] +PrivateTmp=true +ExecStartPre=/usr/bin/ln -sfrT /usr/share/flatcar/oem-vmware/vmware-tools /etc/vmware-tools diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/grub.cfg deleted file mode 100644 index d58568ab54..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/grub.cfg +++ /dev/null @@ -1,4 +0,0 @@ -# Flatcar GRUB settings - -set oem_id="vmware" -set linux_append="flatcar.autologin" diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/manglefs.sh b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/manglefs.sh new file mode 100755 index 0000000000..a0e17ca6ec --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/manglefs.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +set -euo pipefail + +rootfs=${1} + +cd "${rootfs}" + +# Move stuff out of /etc. The systemd unit files are patched to create +# symlinks from /etc to those directories. +mkdir -p usr/lib/pam.d +mv etc/pam.d/vmtoolsd usr/lib/pam.d/vmtoolsd +mkdir -p usr/share/flatcar/oem-vmware +mv etc/vmware-tools usr/share/flatcar/oem-vmware/vmware-tools + +files_to_drop=( + # Development stuff. + usr/bin/dnet-config + usr/bin/*xslt-config + usr/bin/xmlsec1-config + usr/lib64/*Conf.sh +) + +dirs_to_drop=( + # Debugging symbols. + usr/lib/debug/ + # Translations. + usr/share/open-vm-tools/messages/ + # Development stuff. + usr/include/ + usr/lib64/cmake/ + usr/lib64/pkgconfig/ + usr/share/aclocal/ +) + +rm -f "${files_to_drop[@]}" +rm -rf "${dirs_to_drop[@]}" diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/oem-release b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/oem-release deleted file mode 100644 index 9d6442280a..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/oem-release +++ /dev/null @@ -1,5 +0,0 @@ -ID=vmware -VERSION_ID=@@OEM_VERSION_ID@@ -NAME="VMware" -HOME_URL="https://www.vmware.com/" -BUG_REPORT_URL="https://issues.flatcar.org" diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/open-vm-tools-sysext-upholds.conf b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/open-vm-tools-sysext-upholds.conf new file mode 100644 index 0000000000..86184f717f --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/open-vm-tools-sysext-upholds.conf @@ -0,0 +1,2 @@ +[Unit] +Upholds=vmtoolsd.service vgauthd.service diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/units/vmtoolsd.service b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/units/vmtoolsd.service deleted file mode 100644 index 0b989953d2..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/units/vmtoolsd.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=VMware Tools Agent -Documentation=https://github.com/vmware/open-vm-tools -ConditionVirtualization=vmware - -[Service] -ExecStartPre=/usr/bin/ln -sfT /oem/vmware-tools /etc/vmware-tools -ExecStart=/oem/bin/vmtoolsd -TimeoutStopSec=5 -PrivateTmp=true - -[Install] -WantedBy=multi-user.target diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/oem-vmware-12.3.0-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/oem-vmware-12.3.0-r1.ebuild new file mode 100644 index 0000000000..7fc289026b --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/oem-vmware-12.3.0-r1.ebuild @@ -0,0 +1,38 @@ +# Copyright (c) 2014 CoreOS, Inc.. All rights reserved. +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit systemd + +DESCRIPTION="OEM suite for VMware" +HOMEPAGE="https://www.vmware.com/" +SRC_URI="" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 arm64" +IUSE="" + +RDEPEND=" + ~app-emulation/open-vm-tools-${PV} +" + +# no source directory +S="${WORKDIR}" + +# for coreos-base/common-oem-files +OEM_NAME="VMware" + +src_install() { + local unit_dir + unit_dir=$(systemd_get_systemunitdir) + unit_dir=${unit_dir#"${EPREFIX}"} + local tool + for tool in vmtoolsd vgauthd; do + insinto "${unit_dir}/${tool}.service.d" + doins "${FILESDIR}/flatcar-fixups.conf" + done + insinto "${unit_dir}/multi-user.target.d" + doins "${FILESDIR}/open-vm-tools-sysext-upholds.conf" +} diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/oem-vmware-12.3.0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/oem-vmware-12.3.0.ebuild deleted file mode 100644 index fb9fa22575..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/oem-vmware-12.3.0.ebuild +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright (c) 2014 CoreOS, Inc.. All rights reserved. -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DESCRIPTION="OEM suite for VMware" -HOMEPAGE="https://github.com/flatcar/coreos-overlay/tree/main/coreos-base" -SRC_URI="" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64" -IUSE="" - -DEPEND=" - ~app-emulation/open-vm-tools-${PV} - " -RDEPEND="${DEPEND}" - -# 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}/units" -}