diff --git a/internal/blueprint/blueprint_test.go b/internal/blueprint/blueprint_test.go index 2c370836a..16723449f 100644 --- a/internal/blueprint/blueprint_test.go +++ b/internal/blueprint/blueprint_test.go @@ -124,7 +124,7 @@ func TestFilenameFromType(t *testing.T) { { name: "ext4", args: args{"ext4-filesystem"}, - want: "image.img", + want: "filesystem.img", want1: "application/octet-stream", }, { diff --git a/internal/blueprint/ext4_output.go b/internal/blueprint/ext4_output.go index d3c0a095a..928f16c73 100644 --- a/internal/blueprint/ext4_output.go +++ b/internal/blueprint/ext4_output.go @@ -5,14 +5,28 @@ import "github.com/osbuild/osbuild-composer/internal/pipeline" type ext4Output struct{} func (t *ext4Output) translate(b *Blueprint) *pipeline.Pipeline { - p := getF30Pipeline() + packages := [...]string{ + "policycoreutils", + "selinux-policy-targeted", + "kernel", + "firewalld", + "chrony", + "langpacks-en", + } + excludedPackages := [...]string{ + "dracut-config-rescue", + } + p := getCustomF30PackageSet(packages[:], excludedPackages[:]) + addF30LocaleStage(p) + addF30GRUB2Stage(p, b.getKernelCustomization()) + addF30FixBlsStage(p) addF30SELinuxStage(p) addF30RawFSAssembler(p, t.getName()) return p } func (t *ext4Output) getName() string { - return "image.img" + return "filesystem.img" } func (t *ext4Output) getMime() string { diff --git a/tools/test_image_info/pipelines/ext4_empty_blueprint.json b/tools/test_image_info/pipelines/ext4_empty_blueprint.json index b3a7925e6..a83129a77 100644 --- a/tools/test_image_info/pipelines/ext4_empty_blueprint.json +++ b/tools/test_image_info/pipelines/ext4_empty_blueprint.json @@ -43,30 +43,38 @@ } ], "packages": [ - "@Core", - "chrony", - "kernel", + "policycoreutils", "selinux-policy-targeted", - "grub2-pc", - "spice-vdagent", - "qemu-guest-agent", - "xen-libs", + "kernel", + "firewalld", + "chrony", "langpacks-en" ], + "exclude_packages": [ + "dracut-config-rescue" + ], "releasever": "30", "basearch": "x86_64" } }, - { - "name": "org.osbuild.fix-bls", - "options": {} - }, { "name": "org.osbuild.locale", "options": { "language": "en_US" } }, + { + "name": "org.osbuild.grub2", + "options": { + "root_fs_uuid": "76a22bf4-f153-4541-b6c7-0332c0dfaeac", + "boot_fs_uuid": "00000000-0000-0000-0000-000000000000", + "kernel_opts": "ro biosdevname=0 net.ifnames=0" + } + }, + { + "name": "org.osbuild.fix-bls", + "options": {} + }, { "name": "org.osbuild.selinux", "options": { @@ -77,7 +85,7 @@ "assembler": { "name": "org.osbuild.rawfs", "options": { - "filename": "image.img", + "filename": "filesystem.img", "root_fs_uuid": "76a22bf4-f153-4541-b6c7-0332c0dfaeac", "size": 3221225472 } @@ -86,16 +94,6 @@ "expected": { "bootloader": "unknown", "bootmenu": [ - { - "grub_arg": "--unrestricted", - "grub_class": "kernel", - "grub_users": "$grub_users", - "initrd": "/initramfs-0-rescue-ffffffffffffffffffffffffffffffff.img", - "linux": "/vmlinuz-0-rescue-ffffffffffffffffffffffffffffffff", - "options": "$kernelopts", - "title": "Fedora (0-rescue-ffffffffffffffffffffffffffffffff) 30 (Thirty)", - "version": "0-rescue-ffffffffffffffffffffffffffffffff" - }, { "grub_arg": "--unrestricted", "grub_class": "kernel", @@ -112,7 +110,7 @@ "audio:x:63:", "bin:x:1:", "cdrom:x:11:", - "chrony:x:992:", + "chrony:x:994:", "daemon:x:2:", "dbus:x:81:", "dialout:x:18:", @@ -132,8 +130,6 @@ "polkitd:x:995:", "render:x:998:", "root:x:0:", - "ssh_keys:x:994:", - "sshd:x:74:", "sys:x:3:", "systemd-coredump:x:997:", "systemd-journal:x:190:", @@ -143,7 +139,6 @@ "tape:x:33:", "tss:x:59:", "tty:x:5:", - "unbound:x:993:", "users:x:100:", "utempter:x:35:", "utmp:x:22:", @@ -173,19 +168,13 @@ "VERSION_ID": "30" }, "packages": [ - "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", "basesystem-11-7.fc30.noarch", "bash-5.0.2-1.fc30.x86_64", - "bind-export-libs-9.11.5-13.P4.fc30.x86_64", "brotli-1.0.7-3.fc30.x86_64", "bzip2-libs-1.0.6-29.fc30.x86_64", - "c-ares-1.15.0-3.fc30.x86_64", "ca-certificates-2018.2.26-3.fc30.noarch", "chrony-3.4-2.fc30.x86_64", "coreutils-8.31-1.fc30.x86_64", @@ -201,21 +190,10 @@ "dbus-broker-20-3.fc30.x86_64", "dbus-common-1.12.12-7.fc30.noarch", "dbus-libs-1.12.12-7.fc30.x86_64", - "deltarpm-3.6-29.fc30.x86_64", "device-mapper-1.02.154-3.fc30.x86_64", "device-mapper-libs-1.02.154-3.fc30.x86_64", - "dhcp-client-4.3.6-32.fc30.x86_64", - "dhcp-common-4.3.6-32.fc30.noarch", - "dhcp-libs-4.3.6-32.fc30.x86_64", "diffutils-3.7-2.fc30.x86_64", - "dnf-4.2.2-2.fc30.noarch", - "dnf-data-4.2.2-2.fc30.noarch", - "dnf-plugins-core-4.0.6-1.fc30.noarch", - "dnf-yum-4.2.2-2.fc30.noarch", "dracut-049-26.git20181204.fc30.x86_64", - "dracut-config-rescue-049-26.git20181204.fc30.x86_64", - "e2fsprogs-1.44.6-1.fc30.x86_64", - "e2fsprogs-libs-1.44.6-1.fc30.x86_64", "ebtables-2.0.10-31.fc30.x86_64", "elfutils-default-yama-scope-0.176-1.fc30.noarch", "elfutils-libelf-0.176-1.fc30.x86_64", @@ -229,16 +207,10 @@ "file-libs-5.36-2.fc30.x86_64", "filesystem-3.10-1.fc30.x86_64", "findutils-4.6.0-22.fc30.x86_64", - "fipscheck-1.5.0-6.fc30.x86_64", - "fipscheck-lib-1.5.0-6.fc30.x86_64", "firewalld-0.6.3-2.fc30.noarch", "firewalld-filesystem-0.6.3-2.fc30.noarch", - "freetype-2.9.1-7.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", - "geolite2-city-20190409-1.fc30.noarch", - "geolite2-country-20190409-1.fc30.noarch", "gettext-0.19.8.1-18.fc30.x86_64", "gettext-libs-0.19.8.1-18.fc30.x86_64", "glib2-2.60.1-2.fc30.x86_64", @@ -246,34 +218,20 @@ "glibc-common-2.29-9.fc30.x86_64", "glibc-langpack-en-2.29-9.fc30.x86_64", "gmp-6.1.2-10.fc30.x86_64", - "gnupg2-2.2.13-1.fc30.x86_64", - "gnupg2-smime-2.2.13-1.fc30.x86_64", "gnutls-3.6.7-1.fc30.x86_64", "gobject-introspection-1.60.1-2.fc30.x86_64", "gpg-pubkey-cfc659b9-5b6eac67", - "gpgme-1.12.0-1.fc30.x86_64", "grep-3.1-9.fc30.x86_64", - "groff-base-1.22.3-19.fc30.x86_64", "grub2-common-2.02-75.fc30.noarch", - "grub2-pc-2.02-75.fc30.x86_64", - "grub2-pc-modules-2.02-75.fc30.noarch", "grub2-tools-2.02-75.fc30.x86_64", - "grub2-tools-extra-2.02-75.fc30.x86_64", "grub2-tools-minimal-2.02-75.fc30.x86_64", "grubby-8.40-30.fc30.x86_64", "gzip-1.9-9.fc30.x86_64", "hardlink-1.3-8.fc30.x86_64", - "hostname-3.20-8.fc30.x86_64", - "hwdata-0.322-1.fc30.noarch", - "ima-evm-utils-1.1-5.fc30.x86_64", - "ipcalc-0.2.5-2.fc30.x86_64", - "iproute-5.0.0-2.fc30.x86_64", - "iproute-tc-5.0.0-2.fc30.x86_64", "ipset-6.38-2.fc30.x86_64", "ipset-libs-6.38-2.fc30.x86_64", "iptables-1.8.0-5.fc30.x86_64", "iptables-libs-1.8.0-5.fc30.x86_64", - "iputils-20180629-4.fc30.x86_64", "jansson-2.12-2.fc30.x86_64", "json-c-0.13.1-4.fc30.x86_64", "kbd-2.0.4-13.fc30.x86_64", @@ -288,35 +246,19 @@ "kpartx-0.7.9-6.git2df6110.fc30.x86_64", "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", - "libassuan-2.5.2-2.fc30.x86_64", "libattr-2.4.48-5.fc30.x86_64", - "libbasicobjects-0.1.1-42.fc30.x86_64", "libblkid-2.33.2-1.fc30.x86_64", "libcap-2.26-5.fc30.x86_64", "libcap-ng-0.7.9-7.fc30.x86_64", - "libcollection-0.7.0-42.fc30.x86_64", "libcom_err-1.44.6-1.fc30.x86_64", - "libcomps-0.1.11-1.fc30.x86_64", "libcroco-0.6.13-1.fc30.x86_64", "libcurl-7.64.0-6.fc30.x86_64", "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", - "libdnf-0.28.1-1.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", "libffi-3.1-19.fc30.x86_64", "libgcc-9.0.1-0.10.fc30.x86_64", @@ -324,75 +266,42 @@ "libgomp-9.0.1-0.10.fc30.x86_64", "libgpg-error-1.33-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", "libkcapi-hmaccalc-1.1.4-1.fc30.x86_64", - "libksba-1.3.5-9.fc30.x86_64", - "libldb-1.5.4-1.fc30.x86_64", - "libmaxminddb-1.2.0-7.fc30.x86_64", "libmetalink-0.1.3-8.fc30.x86_64", "libmnl-1.0.4-9.fc30.x86_64", - "libmodulemd1-1.8.6-3.fc30.x86_64", "libmount-2.33.2-1.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", - "libnfsidmap-2.3.3-7.rc2.fc30.x86_64", "libnftnl-1.1.1-6.fc30.x86_64", "libnghttp2-1.37.0-1.fc30.x86_64", - "libnl3-3.4.0-8.fc30.x86_64", "libnsl2-1.2.0-4.20180605git4a062cf.fc30.x86_64", - "libpath_utils-0.2.1-42.fc30.x86_64", "libpcap-1.9.0-3.fc30.x86_64", - "libpciaccess-0.14-3.fc30.x86_64", - "libpipeline-1.5.1-2.fc30.x86_64", - "libpng-1.6.36-1.fc30.x86_64", "libpsl-0.20.2-6.fc30.x86_64", "libpwquality-1.4.0-12.fc30.x86_64", - "libref_array-0.1.5-42.fc30.x86_64", - "librepo-1.9.6-2.fc30.x86_64", - "libreport-filesystem-2.10.0-1.fc30.noarch", "libseccomp-2.4.0-0.fc30.x86_64", - "libsecret-0.18.8-1.fc30.x86_64", "libselinux-2.9-1.fc30.x86_64", "libselinux-utils-2.9-1.fc30.x86_64", "libsemanage-2.9-1.fc30.x86_64", "libsepol-2.9-1.fc30.x86_64", "libsigsegv-2.11-7.fc30.x86_64", "libsmartcols-2.33.2-1.fc30.x86_64", - "libsolv-0.7.4-2.fc30.x86_64", - "libss-1.44.6-1.fc30.x86_64", "libssh-0.8.7-1.fc30.x86_64", - "libsss_autofs-2.1.0-2.fc30.x86_64", - "libsss_certmap-2.1.0-2.fc30.x86_64", - "libsss_idmap-2.1.0-2.fc30.x86_64", - "libsss_nss_idmap-2.1.0-2.fc30.x86_64", - "libsss_sudo-2.1.0-2.fc30.x86_64", "libstdc++-9.0.1-0.10.fc30.x86_64", - "libtalloc-2.1.16-1.fc30.x86_64", "libtasn1-4.13-7.fc30.x86_64", - "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", "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", - "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", "linux-firmware-20190312-94.fc30.noarch", "linux-firmware-whence-20190312-94.fc30.noarch", - "lmdb-libs-0.9.23-2.fc30.x86_64", "lua-libs-5.3.5-5.fc30.x86_64", "lz4-libs-1.8.3-2.fc30.x86_64", - "man-db-2.8.4-4.fc30.x86_64", "mkpasswd-5.4.2-1.fc30.x86_64", "mozjs60-60.4.0-5.fc30.x86_64", "mpfr-3.1.6-4.fc30.x86_64", @@ -401,11 +310,7 @@ "ncurses-libs-6.1-10.20180923.fc30.x86_64", "nettle-3.4.1rc1-2.fc30.x86_64", "nftables-0.9.0-5.fc30.x86_64", - "npth-1.6-2.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", - "openssh-server-7.9p1-5.fc30.x86_64", "openssl-1.1.1b-3.fc30.x86_64", "openssl-libs-1.1.1b-3.fc30.x86_64", "openssl-pkcs11-0.4.10-1.fc30.x86_64", @@ -413,15 +318,9 @@ "p11-kit-0.23.15-3.fc30.x86_64", "p11-kit-trust-0.23.15-3.fc30.x86_64", "pam-1.3.1-17.fc30.x86_64", - "parted-3.2-40.fc30.x86_64", - "passwd-0.80-5.fc30.x86_64", "pcre-8.43-1.fc30.x86_64", "pcre2-10.32-9.fc30.x86_64", "pigz-2.4-4.fc30.x86_64", - "pinentry-1.1.0-5.fc30.x86_64", - "plymouth-0.9.4-5.fc30.x86_64", - "plymouth-core-libs-0.9.4-5.fc30.x86_64", - "plymouth-scripts-0.9.4-5.fc30.x86_64", "policycoreutils-2.9-1.fc30.x86_64", "polkit-0.115-10.fc30.1.x86_64", "polkit-libs-0.115-10.fc30.1.x86_64", @@ -432,50 +331,29 @@ "python-pip-wheel-19.0.3-1.fc30.noarch", "python-setuptools-wheel-40.8.0-1.fc30.noarch", "python3-3.7.3-1.fc30.x86_64", - "python3-dateutil-2.8.0-1.fc30.noarch", "python3-dbus-1.2.8-5.fc30.x86_64", "python3-decorator-4.3.0-2.fc30.noarch", - "python3-distro-1.4.0-1.fc30.noarch", - "python3-dnf-4.2.2-2.fc30.noarch", - "python3-dnf-plugins-core-4.0.6-1.fc30.noarch", "python3-firewall-0.6.3-2.fc30.noarch", "python3-gobject-base-3.32.0-1.fc30.x86_64", - "python3-gpg-1.12.0-1.fc30.x86_64", - "python3-hawkey-0.28.1-1.fc30.x86_64", - "python3-libcomps-0.1.11-1.fc30.x86_64", - "python3-libdnf-0.28.1-1.fc30.x86_64", "python3-libs-3.7.3-1.fc30.x86_64", "python3-libselinux-2.9-1.fc30.x86_64", "python3-pip-19.0.3-1.fc30.noarch", - "python3-rpm-4.14.2.1-4.fc30.1.x86_64", "python3-setuptools-40.8.0-1.fc30.noarch", "python3-six-1.12.0-1.fc30.noarch", "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", "rpm-4.14.2.1-4.fc30.1.x86_64", - "rpm-build-libs-4.14.2.1-4.fc30.1.x86_64", "rpm-libs-4.14.2.1-4.fc30.1.x86_64", "rpm-plugin-selinux-4.14.2.1-4.fc30.1.x86_64", - "rpm-plugin-systemd-inhibit-4.14.2.1-4.fc30.1.x86_64", - "rpm-sign-libs-4.14.2.1-4.fc30.1.x86_64", "sed-4.5-3.fc30.x86_64", "selinux-policy-3.14.3-29.fc30.noarch", "selinux-policy-targeted-3.14.3-29.fc30.noarch", "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", - "sssd-kcm-2.1.0-2.fc30.x86_64", - "sssd-nfs-idmap-2.1.0-2.fc30.x86_64", - "sudo-1.8.27-1.fc30.x86_64", "systemd-241-7.gita2eaa1c.fc30.x86_64", "systemd-bootchart-233-4.fc30.x86_64", "systemd-libs-241-7.gita2eaa1c.fc30.x86_64", @@ -486,18 +364,12 @@ "trousers-0.3.13-12.fc30.x86_64", "trousers-lib-0.3.13-12.fc30.x86_64", "tzdata-2019a-1.fc30.noarch", - "unbound-libs-1.8.3-4.fc30.x86_64", "util-linux-2.33.2-1.fc30.x86_64", - "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", "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" ], "partition-table": null, @@ -516,7 +388,7 @@ "passwd": [ "adm:x:3:4:adm:/var/adm:/sbin/nologin", "bin:x:1:1:bin:/bin:/sbin/nologin", - "chrony:x:995:992::/var/lib/chrony:/sbin/nologin", + "chrony:x:996:994::/var/lib/chrony:/sbin/nologin", "daemon:x:2:2:daemon:/sbin:/sbin/nologin", "dbus:x:81:81:System message bus:/:/sbin/nologin", "ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin", @@ -529,14 +401,12 @@ "polkitd:x:997:995:User for polkitd:/:/sbin/nologin", "root:x:0:0:root:/root:/bin/bash", "shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown", - "sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin", "sync:x:5:0:sync:/sbin:/bin/sync", "systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin", "systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin", "systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin", "systemd-timesync:x:998:996:systemd Time Synchronization:/:/sbin/nologin", - "tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin", - "unbound:x:996:993:Unbound DNS resolver:/etc/unbound:/sbin/nologin" + "tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin" ], "rpm-verify": { "changed": {