#
# 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.0
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:       systemd-coredump
Requires:       pattern() = base
Requires:	suseconnect-ng
Requires:	rollback-helper
# jsc#SMO-376 - pick the SL-Micro flavor
Requires:       (registries-conf-sl-micro if libcontainers-common)

%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:       crda
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.

%prep
# empty on purpose

%build
# empty on purpose

%install
mkdir -p %{buildroot}%{_docdir}/patterns-micro/
PATTERNS='
    defaults elemental_client
    onlyDVD alt_onlyDVD
'
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

%changelog