From 930347c56ebf7c80b22b8f48056c3661ac4c68a1 Mon Sep 17 00:00:00 2001 From: Lars Karlitski Date: Tue, 29 Oct 2019 03:42:26 +0100 Subject: [PATCH] blueprint: move vmdk towards lorax parity The main difference (according to image-info) is an additional package containing a gpg key which was used to verify packages. The one generated by lorax-composer doesn't have this, because it doesn't verify signatures. Also, lorax generates an image with a separate /boot partition. This is not yet addressed here, because osbuild doesn't support it yet. --- internal/blueprint/blueprint_test.go | 2 +- internal/blueprint/vmdk_output.go | 19 ++++++- .../pipelines/vmdk_empty_blueprint.json | 55 ++++++++++--------- 3 files changed, 46 insertions(+), 30 deletions(-) diff --git a/internal/blueprint/blueprint_test.go b/internal/blueprint/blueprint_test.go index 1ed0ab0a2..47b22667c 100644 --- a/internal/blueprint/blueprint_test.go +++ b/internal/blueprint/blueprint_test.go @@ -166,7 +166,7 @@ func TestFilenameFromType(t *testing.T) { { name: "vmdk", args: args{"vmdk"}, - want: "image.vmdk", + want: "disk.vmdk", want1: "application/x-vmdk", }, { diff --git a/internal/blueprint/vmdk_output.go b/internal/blueprint/vmdk_output.go index 4fcbb7883..212b351fa 100644 --- a/internal/blueprint/vmdk_output.go +++ b/internal/blueprint/vmdk_output.go @@ -5,16 +5,31 @@ import "github.com/osbuild/osbuild-composer/internal/pipeline" type vmdkOutput struct{} func (t *vmdkOutput) translate(b *Blueprint) *pipeline.Pipeline { - p := getF30Pipeline() + packages := [...]string{ + "@core", + "chrony", + "firewalld", + "grub2-pc", + "kernel", + "langpacks-en", + "open-vm-tools", + "selinux-policy-targeted", + } + excludedPackages := [...]string{ + "dracut-config-rescue", + } + p := getCustomF30PackageSet(packages[:], excludedPackages[:]) + addF30LocaleStage(p) addF30FSTabStage(p) addF30GRUB2Stage(p, b.getKernelCustomization()) + addF30FixBlsStage(p) addF30SELinuxStage(p) addF30QemuAssembler(p, "vmdk", t.getName()) return p } func (t *vmdkOutput) getName() string { - return "image.vmdk" + return "disk.vmdk" } func (t *vmdkOutput) getMime() string { diff --git a/tools/test_image_info/pipelines/vmdk_empty_blueprint.json b/tools/test_image_info/pipelines/vmdk_empty_blueprint.json index 551837d07..e7102b624 100644 --- a/tools/test_image_info/pipelines/vmdk_empty_blueprint.json +++ b/tools/test_image_info/pipelines/vmdk_empty_blueprint.json @@ -43,24 +43,22 @@ } ], "packages": [ - "@Core", + "@core", "chrony", - "kernel", - "selinux-policy-targeted", + "firewalld", "grub2-pc", - "spice-vdagent", - "qemu-guest-agent", - "xen-libs", - "langpacks-en" + "kernel", + "langpacks-en", + "open-vm-tools", + "selinux-policy-targeted" + ], + "exclude_packages": [ + "dracut-config-rescue" ], "releasever": "30", "basearch": "x86_64" } }, - { - "name": "org.osbuild.fix-bls", - "options": {} - }, { "name": "org.osbuild.locale", "options": { @@ -90,6 +88,10 @@ "kernel_opts": "ro biosdevname=0 net.ifnames=0" } }, + { + "name": "org.osbuild.fix-bls", + "options": {} + }, { "name": "org.osbuild.selinux", "options": { @@ -101,7 +103,7 @@ "name": "org.osbuild.qemu", "options": { "format": "vmdk", - "filename": "image.vmdk", + "filename": "disk.vmdk", "ptuuid": "0x14fc63d2", "root_fs_uuid": "76a22bf4-f153-4541-b6c7-0332c0dfaeac", "size": 3221225472 @@ -211,7 +213,6 @@ "NetworkManager-1.16.0-1.fc30.x86_64", "NetworkManager-libnm-1.16.0-1.fc30.x86_64", "acl-2.2.53-3.fc30.x86_64", - "alsa-lib-1.1.8-2.fc30.x86_64", "alternatives-1.11-4.fc30.x86_64", "audit-3.0-0.7.20190326git03e7489.fc30.x86_64", "audit-libs-3.0-0.7.20190326git03e7489.fc30.x86_64", @@ -269,6 +270,8 @@ "firewalld-0.6.3-2.fc30.noarch", "firewalld-filesystem-0.6.3-2.fc30.noarch", "freetype-2.9.1-7.fc30.x86_64", + "fuse-2.9.9-3.fc30.x86_64", + "fuse-common-3.4.2-3.fc30.x86_64", "fuse-libs-2.9.9-3.fc30.x86_64", "gawk-4.2.1-6.fc30.x86_64", "gdbm-libs-1.18-4.fc30.x86_64", @@ -324,14 +327,6 @@ "krb5-libs-1.17-4.fc30.x86_64", "langpacks-en-1.0-17.fc30.noarch", "less-530-4.fc30.x86_64", - "libX11-1.6.7-1.fc30.x86_64", - "libX11-common-1.6.7-1.fc30.noarch", - "libXau-1.0.9-1.fc30.x86_64", - "libXext-1.3.3-11.fc30.x86_64", - "libXfixes-5.0.3-9.fc30.x86_64", - "libXinerama-1.1.4-3.fc30.x86_64", - "libXrandr-1.5.1-9.fc30.x86_64", - "libXrender-0.9.10-9.fc30.x86_64", "libacl-2.2.53-3.fc30.x86_64", "libarchive-3.3.3-6.fc30.x86_64", "libargon2-20161029-8.fc30.x86_64", @@ -349,7 +344,9 @@ "libdb-5.3.28-37.fc30.x86_64", "libdb-utils-5.3.28-37.fc30.x86_64", "libdhash-0.5.0-42.fc30.x86_64", + "libdnet-1.12-30.fc30.x86_64", "libdnf-0.28.1-1.fc30.x86_64", + "libdrm-2.4.97-2.fc30.x86_64", "libedit-3.1-26.20181209cvs.fc30.x86_64", "libevent-2.1.8-5.fc30.x86_64", "libfdisk-2.33.2-1.fc30.x86_64", @@ -358,6 +355,7 @@ "libgcrypt-1.8.4-3.fc30.x86_64", "libgomp-9.0.1-0.10.fc30.x86_64", "libgpg-error-1.33-2.fc30.x86_64", + "libicu-63.1-2.fc30.x86_64", "libidn2-2.1.1a-1.fc30.x86_64", "libini_config-1.3.1-42.fc30.x86_64", "libkcapi-1.1.4-1.fc30.x86_64", @@ -369,6 +367,7 @@ "libmnl-1.0.4-9.fc30.x86_64", "libmodulemd1-1.8.6-3.fc30.x86_64", "libmount-2.33.2-1.fc30.x86_64", + "libmspack-0.9.1-0.2.alpha.fc30.x86_64", "libndp-1.7-3.fc30.x86_64", "libnetfilter_conntrack-1.0.7-2.fc30.x86_64", "libnfnetlink-1.0.1-15.fc30.x86_64", @@ -409,16 +408,17 @@ "libtdb-1.3.18-1.fc30.x86_64", "libtevent-0.9.39-1.fc30.x86_64", "libtirpc-1.1.4-2.rc2.fc30.1.x86_64", + "libtool-ltdl-2.4.6-29.fc30.x86_64", "libunistring-0.9.10-5.fc30.x86_64", "libusbx-1.0.22-2.fc30.x86_64", "libuser-0.62-20.fc30.x86_64", "libutempter-1.1.6-16.fc30.x86_64", "libuuid-2.33.2-1.fc30.x86_64", "libverto-0.3.0-7.fc30.x86_64", - "libxcb-1.13.1-2.fc30.x86_64", "libxcrypt-4.4.4-2.fc30.x86_64", "libxkbcommon-0.8.3-1.fc30.x86_64", "libxml2-2.9.9-2.fc30.x86_64", + "libxslt-1.1.32-4.fc30.x86_64", "libyaml-0.2.1-5.fc30.x86_64", "libzstd-1.3.8-2.fc30.x86_64", "linux-atm-libs-2.5.1-21.fc29.x86_64", @@ -437,6 +437,7 @@ "nettle-3.4.1rc1-2.fc30.x86_64", "nftables-0.9.0-5.fc30.x86_64", "npth-1.6-2.fc30.x86_64", + "open-vm-tools-10.3.10-1.fc30.x86_64", "openldap-2.4.47-1.fc30.x86_64", "openssh-7.9p1-5.fc30.x86_64", "openssh-clients-7.9p1-5.fc30.x86_64", @@ -450,6 +451,8 @@ "pam-1.3.1-17.fc30.x86_64", "parted-3.2-40.fc30.x86_64", "passwd-0.80-5.fc30.x86_64", + "pciutils-3.6.2-2.fc30.x86_64", + "pciutils-libs-3.6.2-2.fc30.x86_64", "pcre-8.43-1.fc30.x86_64", "pcre2-10.32-9.fc30.x86_64", "pigz-2.4-4.fc30.x86_64", @@ -488,7 +491,6 @@ "python3-slip-0.6.4-15.fc30.noarch", "python3-slip-dbus-0.6.4-15.fc30.noarch", "python3-unbound-1.8.3-4.fc30.x86_64", - "qemu-guest-agent-3.1.0-6.fc30.x86_64", "qrencode-libs-3.4.4-8.fc30.x86_64", "readline-8.0-2.fc30.x86_64", "rootfiles-8.1-24.fc30.noarch", @@ -504,7 +506,6 @@ "setup-2.13.3-1.fc30.noarch", "shadow-utils-4.6-8.fc30.x86_64", "shared-mime-info-1.12-2.fc30.x86_64", - "spice-vdagent-0.18.0-3.fc30.x86_64", "sqlite-libs-3.26.0-3.fc30.x86_64", "sssd-client-2.1.0-2.fc30.x86_64", "sssd-common-2.1.0-2.fc30.x86_64", @@ -517,6 +518,7 @@ "systemd-pam-241-7.gita2eaa1c.fc30.x86_64", "systemd-rpm-macros-241-7.gita2eaa1c.fc30.noarch", "systemd-udev-241-7.gita2eaa1c.fc30.x86_64", + "tar-1.32-1.fc30.x86_64", "timedatex-0.5-6.fc30.x86_64", "trousers-0.3.13-12.fc30.x86_64", "trousers-lib-0.3.13-12.fc30.x86_64", @@ -526,12 +528,11 @@ "vim-minimal-8.1.1137-1.fc30.x86_64", "which-2.21-14.fc30.x86_64", "whois-nls-5.4.2-1.fc30.noarch", - "xen-libs-4.11.1-4.fc30.x86_64", - "xen-licenses-4.11.1-4.fc30.x86_64", "xkeyboard-config-2.24-5.fc30.noarch", + "xmlsec1-1.2.27-2.fc30.x86_64", + "xmlsec1-openssl-1.2.27-2.fc30.x86_64", "xz-5.2.4-5.fc30.x86_64", "xz-libs-5.2.4-5.fc30.x86_64", - "yajl-2.1.0-12.fc30.x86_64", "zchunk-libs-1.1.1-3.fc30.x86_64", "zlib-1.2.11-15.fc30.x86_64" ],