612 lines
18 KiB
RPMSpec
612 lines
18 KiB
RPMSpec
#
|
|
# 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: 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
|