Files
patterns-micro/patterns-micro.spec

423 lines
13 KiB
RPMSpec

#
# spec file for package patterns-micro
#
# 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-micro
Version: 6.2
Release: 0
Summary: Patterns for SUSE Linux Micro
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 defaults
Summary: SL Micro defaults
Group: Metapackages
Provides: pattern() = micro_defaults
Provides: pattern-category() = SL-Micro
Provides: pattern-icon() = pattern-kubic
Provides: pattern-order() = 9020
Obsoletes: patterns-microos-defaults
Provides: patterns-microos-defaults
Requires: audit
Requires: pattern() = transactional_base
Requires: pattern() = bootloader
Requires: suseconnect-ng
Requires: rollback-helper
# jsc#SMO-376 - pick the SL-Micro flavor
Requires: (registries-conf-suse if libcontainers-common)
# bsc#1239053, bsc#1214886
Requires: pam_pwquality
Requires: systemd-coredump
%description defaults
This provides default packages for SUSE Linux Micro which can be optionally
replaced by alternatives.
%package elemental_client
Summary: Elemental Client
Group: Metapackages
Provides: pattern() = micro_elemental_client
Provides: pattern-category() = SL-Micro
Provides: pattern-icon() = pattern-generic
Provides: pattern-order() = 9055
Provides: pattern-visible()
Requires: elemental
%description elemental_client
This are packages which are required to run Elemental Client on SL Micro
%package onlyDVD
Summary: Packages only for the DVD of SL Micro
Group: Metapackages
Provides: pattern-category() = SL-Micro
Requires: bcache-tools
Requires: cryptsetup
Requires: firewalld
Requires: iscsiuio
#extra items for DVD, not every install
Requires: ModemManager
Requires: NetworkManager-wwan
Requires: lvm2
Requires: multipath-tools
Requires: nvme-cli
Requires: open-iscsi
%ifarch %ix86 x86_64 aarch64
Requires: hyper-v
Requires: open-vm-tools
%endif
Requires: pam_pwquality
Requires: policycoreutils-python-utils
Requires: qemu-guest-agent
Requires: spice-vdagent
# Removed due to the installer not based on Linuxrc
# Requires: tftpboot-installation-openSUSE-MicroOS-%{_target_cpu}
%ifarch %ix86 x86_64
Requires: ucode-amd
Requires: ucode-intel
%endif
Requires: wpa_supplicant
Requires: man
Provides: pattern() = micro_onlyDVD
Provides: pattern-icon() = pattern-generic
Provides: pattern-order() = 9900
Requires: pattern() = cloud
Requires: pattern() = hardware
Requires: pattern() = ima_evm
Requires: pattern() = ra_agent
Requires: pattern() = sssd_ldap
%description onlyDVD
Additional packages on a SL Micro DVD.
%package alt_onlyDVD
Summary: Alternative Packages only for the DVD of SL Micro
Group: Metapackages
Provides: pattern-category() = SL-Micro
Requires: kernel-default-base
Provides: pattern() = micro_alt_onlyDVD
Provides: pattern-icon() = pattern-generic
Provides: pattern-order() = 9901
Requires: pattern() = cloud
Requires: pattern() = cockpit
Requires: pattern() = ima+evm
Requires: pattern() = ra+verifier
Requires: pattern() = selinux
Requires: pattern() = salt_minion
Requires: pattern() = sssd_ldap
Requires: pattern() = micro_elemental_client
%description alt_onlyDVD
Alternative additional packages on a SL Micro DVD.
%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
Obsoletes: patterns-base-hardware
Provides: patterns-microos-hardware
Provides: patterns-base-hardware
Requires: ethtool
%ifnarch s390x
Requires: irqbalance
%endif
Requires: fcoe-utils
Requires: hwinfo
%ifarch %ix86 x86_64
Requires: ucode-amd
Requires: ucode-intel
%endif
Requires: kernel-firmware-all
%description hardware
Packages required to install SUSE Linux Framework One on real hardware.
%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
# bsc#1224802
Requires: crypto-policies
Requires: crypto-policies-scripts
Requires: (libopenssl-3-fips-provider if libopenssl3)
# the library hmac files are no longer seperated, but were merged
Provides: patterns-base-fips = %{version}
Obsoletes: patterns-base-fips
%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
Provides: patterns-base-salt_minion = %{version}
Obsoletes: patterns-base-salt_minion
%description salt_minion
Packages to manage the host using Salt or management solutions which utilize Salt, e.g. SUSE Manager
%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
Provides: patterns-base-kvm_host = %{version}
Obsoletes: patterns-base-kvm_host
# 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 s390x
# TODO check below
# Requires: qemu-s390
%endif
%ifarch %arm aarch64 armv7hl
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-ssh
Requires: qemu-lang
Requires: qemu-ksm
Requires: netcat-openbsd
Requires: gnutls
Requires: libvirt-daemon-hooks
Requires: libvirt-daemon-driver-nwfilter
Requires: libvirt-daemon-proxy
Requires: libvirt-nss
Requires: virt-top
# dep of package got weakened to Recommends
Requires: nfs-kernel-server
# avoid conflict with busybox
Requires: lzop
Requires: pattern() = kvm_server
Requires: pattern() = kvm_tools
%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
Provides: patterns-base-sssd-ldap = %{version}
Obsoletes: patterns-base-sssd-ldap
%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
Provides: patterns-base-ima-evm = %{version}
Obsoletes: patterns-base-ima-evm
%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
Provides: patterns-base-ra-agent = %{version}
Obsoletes: patterns-base-ra-agent
%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
Provides: patterns-base-ra-verifier = %{version}
Obsoletes: patterns-base-ra-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
Provides: patterns-base-cloud = %{version}
Obsoletes: patterns-base-cloud
%description cloud
Packages required to enable SUSE Linux Framework One in the Cloud.
%prep
# empty on purpose
%build
# empty on purpose
%install
mkdir -p %{buildroot}%{_docdir}/patterns-micro/
PATTERNS='
defaults elemental_client
onlyDVD alt_onlyDVD hardware kvm_host
sssd_ldap ima_evm ra_agent ra_verifier fips salt_minion cloud
'
for i in $PATTERNS; do
echo "This file marks the pattern $i to be installed." \
> %{buildroot}%{_docdir}/patterns-micro/${i}.txt
done
%files defaults
%dir %{_docdir}/patterns-micro
%{_docdir}/patterns-micro/defaults.txt
%files elemental_client
%dir %{_docdir}/patterns-micro
%{_docdir}/patterns-micro/elemental_client.txt
%files onlyDVD
%dir %{_docdir}/patterns-micro
%{_docdir}/patterns-micro/onlyDVD.txt
%files alt_onlyDVD
%dir %{_docdir}/patterns-micro
%{_docdir}/patterns-micro/alt_onlyDVD.txt
%files hardware
%dir %{_docdir}/patterns-micro
%{_docdir}/patterns-micro/hardware.txt
%files kvm_host
%dir %{_docdir}/patterns-micro
%{_docdir}/patterns-micro/kvm_host.txt
%files sssd-ldap
%dir %{_docdir}/patterns-micro
%{_docdir}/patterns-micro/sssd_ldap.txt
%files ima-evm
%dir %{_docdir}/patterns-micro
%{_docdir}/patterns-micro/ima_evm.txt
%files ra-agent
%dir %{_docdir}/patterns-micro
%{_docdir}/patterns-micro/ra_agent.txt
%files ra-verifier
%dir %{_docdir}/patterns-micro
%{_docdir}/patterns-micro/ra_verifier.txt
%files fips
%dir %{_docdir}/patterns-micro
%{_docdir}/patterns-micro/fips.txt
%files salt_minion
%dir %{_docdir}/patterns-micro
%{_docdir}/patterns-micro/salt_minion.txt
%files cloud
%dir %{_docdir}/patterns-micro
%{_docdir}/patterns-micro/cloud.txt
%changelog