# # spec file for package patterns-base # # Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %bcond_with betatest Name: patterns-base Version: 6.0 Release: 0 Summary: Patterns for SUSE Linux Framework One License: MIT Group: Metapackages URL: http://en.opensuse.org/Patterns Source0: %name.rpmlintrc ExclusiveArch: x86_64 %arm32 aarch64 ppc64le s390x riscv64 %description This is an internal package that is used to create the patterns as part of the installation source setup. Installation of this package does not make sense. %package base Summary: SUSE Linux Framework One Group: Metapackages Provides: pattern() = base Provides: pattern-category() = SLFO Provides: pattern-icon() = pattern-kubic Provides: pattern-order() = 9010 Provides: pattern-visible() Obsoletes: patterns-microos-basesystem Provides: patterns-microos-basesystem Obsoletes: patterns-microos-base Provides: patterns-microos-base Requires: pattern() = bootloader # FIXME add if needed Requires: pattern() = minimal_base %if %{with betatest} # need to require it as recommends are off Requires: pattern() = update_test %endif ### openSUSE base system Requires: /usr/bin/hostname Requires: aaa_base Requires: bash Requires: btrfsprogs Requires: ca-certificates Requires: ca-certificates-mozilla Requires: coreutils Requires: coreutils-systemd Requires: glibc # FIXME re-add # Requires: (grub2-branding-openSUSE if grub2) ### Packages formerly provided by bootloader Requires: (grub2-snapper-plugin if grub2) ### Suggests: busybox-hostname Requires: NetworkManager Requires: NetworkManager-wifi Requires: iproute2 Requires: lastlog2 Requires: libnss_usrfiles2 Requires: suse-build-key Requires: pam Requires: pam-config Requires: procps Requires: rebootmgr Requires: rpm Requires: shadow Requires: systemd Requires: util-linux Requires: user(nobody) Requires: group(nobody) Requires: system-group-hardware Requires: group(wheel) Requires: group(kvm) #### Requires: btrfsmaintenance Requires: busybox Requires: chrony # curl indirectly needed by ignition via dracut's url-lib Requires: curl # probably needed for fsck.fat on efi partitions Requires: /usr/bin/gzip ## FIXME find better way to address generic control file Requires: distribution-release Requires: dosfstools Requires: glibc-locale-base Suggests: busybox-gzip Requires: iputils Requires: issue-generator Requires: (health-checker if grub2) Requires: (health-checker-plugins-MicroOS if health-checker) Requires: kbd Requires: kdump Requires: less Requires: microos-tools Requires: openssh Requires: parted Requires: snapper Requires: udev Requires: vim-small Requires: wtmpdb # people are addicted to sudo Requires: sudo # report from tr-up, jsc#PED-6989 # does not exist, FIXMERequires: systemd-email Requires: systemd-presets-branding-ALP Requires: terminfo-base Requires: timezone Conflicts: gettext-runtime-mini Conflicts: krb5-mini Requires: yast2-logs Requires: (toolbox if transactional-update) Requires: pam_pwquality Requires: supportutils Requires: which Requires: xfsprogs # jsc#SMO-79 Requires: tpm2.0-tools Requires: tpm2.0-abrmd Requires: tpm2-0-tss Requires: tpm2-tss-engine # jsc#SMO-50 %ifarch x86_64 aarch64 Requires: libmbim Requires: libmbim-glib4 Requires: libqmi-tools Requires: libqmi-glib5 %endif # jsc#CSD-121 Requires: udica # jsc#SMO-120 Requires: pam_u2f %ifarch s390x Requires: libica Requires: openCryptoki Requires: openssl-ibmca %endif # bsc#1217991 Requires: crypto-policies-scripts %description base This is the SUSE Linux Framework One runtime system. It contains only a minimal multiuser booting system. %package transactional Summary: SUSE Linux Framework One using Zypper for transactional systems Group: Metapackages Provides: pattern() = base_transactional Provides: pattern-category() = SLFO Provides: pattern-icon() = pattern-kubic Provides: pattern-order() = 9011 Provides: pattern-visible() Requires: transactional-update Requires: transactional-update-zypp-config Requires: zypp-boot-plugin Requires: pattern() = base # zypper ps is useless in transactional mode. It also checks for # /run/reboot-needed though which is created by transactional-update Requires: zypper-needs-restarting # jsc#PED-6478 (2 packages) Requires: mailx Requires: systemd-status-mail Requires: systemd-presets-branding-ALP-transactional %description transactional This is the SUSE Linux Framework One runtime system using the Zypper package manager and the transactional update tooling It contains only a minimal multiuser booting system. %package traditional Summary: SUSE Linux Framework One using Zypper Group: Metapackages Provides: pattern() = base_traditional Provides: pattern-category() = SLFO Provides: pattern-icon() = pattern-kubic Provides: pattern-order() = 9011 Provides: pattern-visible() Requires: zypper Requires: pattern() = base # zypper ps is useless in transactional mode. It also checks for # /run/reboot-needed though which is created by transactional-update Requires: zypper-needs-restarting %description traditional This is the SUSE Linux Framework One runtime system using the Zypper package manager. It contains only a minimal multiuser booting system. %package hardware Summary: Hardware Support Group: Metapackages Provides: pattern() = hardware Provides: pattern-category() = SLFO Provides: pattern-icon() = pattern-kubic Provides: pattern-order() = 9030 Provides: pattern-visible() Obsoletes: patterns-microos-hardware Provides: patterns-microos-hardware Requires: ethtool %ifnarch s390x Requires: irqbalance %endif %ifarch %ix86 x86_64 Requires: ucode-amd Requires: ucode-intel %endif Requires: fcoe-utils Requires: hwinfo Requires: kernel-firmware-all %description hardware Packages required to install SUSE Linux Framework One on real hardware. %package selinux Summary: SELinux Support Group: Metapackages Provides: pattern() = selinux Provides: pattern-category() = SLFO Provides: pattern-icon() = pattern-generic Provides: pattern-order() = 9055 Provides: pattern-visible() Obsoletes: patterns-microos-selinux Provides: patterns-microos-selinux Requires: container-selinux Requires: policycoreutils Requires: selinux-policy-targeted Requires: selinux-tools %description selinux This are packages which are required to enable SELinux on SUSE Linux Framework One %package fips Summary: FIPS 140-3 Support Group: Metapackages Provides: pattern() = fips Provides: pattern-category() = SLFO Provides: pattern-icon() = pattern-generic Provides: pattern-order() = 9055 Provides: pattern-visible() Obsoletes: patterns-microos-fips Provides: patterns-microos-fips Requires: (dracut-fips if dracut) Requires: (openssh-fips if openssh-clients) Requires: (openssh-fips if openssh-servers) Requires: (strongswan-hmac if strongswan) # needed for fips-mode-setup Requires: (crypto-policies-scripts if crypto-policies) Requires: (libopenssl-3-fips-provider if libopenssl3) # the library hmac files are no longer seperated, but were merged %description fips This are packages which are required to enable FIPS 140-3 on SUSE Linux Framework One %package salt_minion Summary: Salt Minion Group: Metapackages Provides: pattern() = salt_minion Provides: pattern-category() = SLFO Provides: pattern-icon() = pattern-generic Provides: pattern-order() = 9901 Provides: pattern-visible() Obsoletes: patterns-microos-salt_minion Provides: patterns-microos-salt_minion Requires: salt-minion %description salt_minion Packages to manage the host using Salt or management solutions which utilize Salt, e.g. SUSE Manager %package cockpit Summary: Web based remote system managemet Group: Metapackages Provides: pattern() = cockpit Provides: pattern-category() = SLFO Provides: pattern-icon() = pattern-generic Provides: pattern-order() = 9060 Provides: pattern-visible() Obsoletes: patterns-microos-cockpit Provides: patterns-microos-cockpit Requires: cockpit Requires: cockpit-system Requires: cockpit-ws Requires: (cockpit-podman if podman) Requires: (cockpit-machines if libvirt-daemon-qemu) Requires: cockpit-networkmanager Requires: (cockpit-tukit if transactional-update) Requires: cockpit-storaged Requires: libudisks2-0_btrfs Requires: libudisks2-0_lvm2 Requires: cockpit-selinux # If PackageKit pattern is installed, pull in Cockpit's PackageKit module Requires: (cockpit-packagekit if patterns-base-packagekit) %description cockpit Packages required to run the Cockpit system management service. For the web service the cockpit-ws container is required. %package kvm_host Summary: KVM Virtualization Host Group: Metapackages Provides: pattern() = kvm_host Provides: pattern-category() = SLFO Provides: pattern-icon() = pattern-generic Provides: pattern-order() = 9050 Provides: pattern-visible() Obsoletes: patterns-microos-kvm_host Provides: patterns-microos-kvm_host Requires: guestfs-tools Requires: python3-libvirt-python Requires: qemu-tools # fix issue because qemu-kvm is not present on all arch and # we would like to deprecate it for the futur (will be only # updated if already installed on the system) %ifarch %ix86 x86_64 Requires: qemu-x86 %endif %ifarch ppc ppc64 ppc64le Requires: qemu-ppc %endif %ifarch s390x Requires: qemu-s390 %endif %ifarch %arm aarch64 armv7hl Requires: qemu-arm Requires: qemu-ipxe %endif # needed for usb passthrough from the host Requires: qemu-hw-usb-host # the virtio gpu pci device for QEMU Requires: qemu-hw-display-virtio-gpu-pci # There is some missing qemu-block compared to the libvirt driver you provide: Requires: qemu-block-iscsi Requires: qemu-block-rbd Requires: qemu-block-ssh Requires: qemu-lang %ifarch %ix86 x86_64 s390x Requires: qemu-kvm %endif Requires: qemu-ksm Requires: tftp Requires: libvirt-daemon-qemu Recommends: tigervnc Recommends: virt-install Requires: netcat-openbsd Requires: gnutls Requires: libvirt-client Requires: libvirt-daemon-config-network Requires: libvirt-daemon-hooks Requires: libvirt-nss Requires: virt-top # avoid conflict with busybox Requires: lzop # You don't have any option for Audio, but this is not mandatory: #Requires: qemu-audio-pipewire #Requires: qemu-audio-pa #Requires: qemu-audio-dbus #Requires: qemu-audio-alsa %description kvm_host Packages to run virtual machines using the KVM hypervisor %package sssd-ldap Summary: LDAP client Group: Metapackages Provides: pattern() = sssd_ldap Provides: pattern-category() = SLFO Provides: pattern-icon() = pattern-generic Provides: pattern-order() = 9070 Provides: pattern-visible() Obsoletes: patterns-microos-sssd_ldap Provides: patterns-microos-sssd_ldap Requires: sssd Requires: sssd-ldap Requires: sssd-ad Requires: sssd-krb5 Requires: adcli %description sssd-ldap Packages required to enable LDAP client support via sssd on SUSE Linux Framework One. %package ima-evm Summary: IMA/EVM Support Group: Metapackages Provides: pattern() = ima_evm Provides: pattern-category() = SLFO Provides: pattern-icon() = pattern-basis-addon Provides: pattern-order() = 9080 Provides: pattern-visible() Requires: attr Requires: dracut-ima Requires: ima-evm-utils Requires: keyutils %description ima-evm Packages required to enable IMA/EVM on SUSE Linux Framework One. %package ra-agent Summary: Remote Attestation (Agent) Support Group: Metapackages Provides: pattern() = ra_agent Provides: pattern-category() = SLFO Provides: pattern-icon() = pattern-basis-addon Provides: pattern-order() = 9085 Provides: pattern-visible() %ifarch %{ix86} ia64 x86_64 %{arm} aarch64 Requires: dmidecode %endif Requires: rust-keylime Requires: pattern() = ima_evm %description ra-agent Packages required to enable remote attestation via the Rust Keylime agent on SUSE Linux Framework One. %package ra-verifier Summary: Remote Attestation (Verifier) Support Group: Metapackages Provides: pattern() = ra_verifier Provides: pattern-category() = SLFO Provides: pattern-icon() = pattern-basis-addon Provides: pattern-order() = 9086 Provides: pattern-visible() Requires: keylime-firewalld Requires: keylime-registrar Requires: keylime-tenant Requires: keylime-verifier %description ra-verifier Packages required to enable remote attestation via Keylime verifier on SUSE Linux Framework One. %package cloud Summary: Support for Cloud Group: Metapackages Provides: pattern() = cloud Provides: pattern-category() = SLFO Provides: pattern-icon() = pattern-generic Provides: pattern-order() = 9090 Provides: pattern-visible() Requires: cloud-init Requires: cloud-init-config-suse %description cloud Packages required to enable SUSE Linux Framework One in the Cloud. %package bootloader #%pattern_basetechnologies Summary: Bootloader Group: Metapackages Provides: pattern() = bootloader Provides: pattern-category() = SLFO Obsoletes: patterns-microos-bootloader Provides: patterns-microos-bootloader Requires: (grub2-snapper-plugin if snapper) # Requires: grub2 %ifarch x86_64 # XXX: not sure this really belongs here. More like a kernel # rather than bootloader related thing? Requires: biosdevname %endif %ifnarch s390x ppc64 ppc64le %if 0%{?is_opensuse} Requires: (grub2-branding-openSUSE if branding-openSUSE) %else %if 0%{?sle_version} Requires: (grub2-branding-SLE if branding-SLE) %endif %endif %endif %ifarch x86_64 Requires: grub2-x86_64-efi %endif %ifarch aarch64 Requires: grub2-arm64-efi %endif %ifarch armv7l armv7hl Requires: grub2-arm-efi Requires: grub2-arm-uboot %endif %ifarch aarch64 x86_64 Requires: mokutil Requires: shim %endif %description bootloader This pattern holds files required for booting the system %package minimal_base #%pattern_basetechnologies Summary: Minimal Appliance Base Group: Metapackages Provides: pattern() = minimal_base Provides: pattern-category() = SLFO Provides: pattern-icon() = pattern-basis Provides: pattern-order() = 5190 Provides: pattern-visible() Requires: branding # those packages are actually useless as they don't use # %_keyringpath but we need them eg for kiwi Requires: build-key Requires: distribution-release Requires: filesystem %description minimal_base This is the minimal runtime system. It is really a minimal system. It is intended as base for Appliances. %prep # empty on purpose %build # empty on purpose %install mkdir -p %{buildroot}%{_docdir}/patterns-base/ PATTERNS=' base base_transactional base_traditional hardware kvm_host sssd_ldap ima_evm ra_agent ra_verifier selinux fips salt_minion cockpit cloud bootloader minimal_base ' for i in $PATTERNS; do echo "This file marks the pattern $i to be installed." \ > %{buildroot}%{_docdir}/patterns-base/${i}.txt done %files base %dir %{_docdir}/patterns-base %{_docdir}/patterns-base/base.txt %files transactional %dir %{_docdir}/patterns-base %{_docdir}/patterns-base/base_transactional.txt %files traditional %dir %{_docdir}/patterns-base %{_docdir}/patterns-base/base_traditional.txt %files hardware %dir %{_docdir}/patterns-base %{_docdir}/patterns-base/hardware.txt %files kvm_host %dir %{_docdir}/patterns-base %{_docdir}/patterns-base/kvm_host.txt %files sssd-ldap %dir %{_docdir}/patterns-base %{_docdir}/patterns-base/sssd_ldap.txt %files ima-evm %dir %{_docdir}/patterns-base %{_docdir}/patterns-base/ima_evm.txt %files ra-agent %dir %{_docdir}/patterns-base %{_docdir}/patterns-base/ra_agent.txt %files ra-verifier %dir %{_docdir}/patterns-base %{_docdir}/patterns-base/ra_verifier.txt %files selinux %dir %{_docdir}/patterns-base %{_docdir}/patterns-base/selinux.txt %files fips %dir %{_docdir}/patterns-base %{_docdir}/patterns-base/fips.txt %files salt_minion %dir %{_docdir}/patterns-base %{_docdir}/patterns-base/salt_minion.txt %files cockpit %dir %{_docdir}/patterns-base %{_docdir}/patterns-base/cockpit.txt %files cloud %dir %{_docdir}/patterns-base %{_docdir}/patterns-base/cloud.txt %files bootloader %dir %{_docdir}/patterns-base %{_docdir}/patterns-base/bootloader.txt %files minimal_base %dir %{_docdir}/patterns-base %{_docdir}/patterns-base/minimal_base.txt %changelog