# # spec file for package patterns-aeon # # Copyright (c) 2024 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-aeon Version: 5.0 Release: 0 Summary: Patterns for openSUSE Aeon 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: openSUSE Aeon Group: Metapackages Provides: pattern() = aeon_base Provides: pattern-category() = Aeon Provides: pattern-icon() = pattern-kubic Provides: pattern-order() = 9200 Provides: pattern-visible() %if %{with betatest} # need to require it as recommends are off Requires: pattern() = update_test %endif ### Aeon_base pattern replaces MicroOS with a collection of other patterns but only if the user installed the GNOME one Obsoletes: (patterns-microos-base if patterns-microos-desktop-gnome) Obsoletes: patterns-microos-desktop-gnome Obsoletes: (patterns-microos-base-zypper if patterns-microos-desktop-gnome) Obsoletes: (patterns-microos-basesystem if patterns-microos-desktop-gnome) Obsoletes: (patterns-microos-defaults if patterns-microos-desktop-gnome) Obsoletes: (patterns-microos-desktop-common if patterns-microos-desktop-gnome) Obsoletes: (patterns-microos-hardware if patterns-microos-desktop-gnome) Obsoletes: (patterns-microos-selinux if patterns-microos-desktop-gnome) ### Packages formerly provided by minimal_base Requires: branding Requires: build-key Requires: distribution-release Requires: filesystem ### Packages formerly provided by 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 ### Packages formerly provided by base/basesystem Requires: /usr/bin/hostname Requires: aaa_base Requires: bash Requires: branding-openSUSE Requires: btrfsprogs Requires: ca-certificates Requires: ca-certificates-mozilla Requires: coreutils Requires: glibc Suggests: busybox-hostname Requires: NetworkManager Requires: NetworkManager-bluetooth Requires: NetworkManager-wifi Requires: iproute2 Requires: lastlog2 Requires: libnss_usrfiles2 Requires: openSUSE-build-key Requires: pam Requires: pam-config Requires: procps Requires: rebootmgr Requires: rpm Requires: shadow Requires: systemd Requires: util-linux Requires: group(nobody) Requires: user(nobody) #### 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 Requires: Aeon-release Requires: dosfstools Requires: glibc-locale-base Suggests: busybox-gzip Requires: health-checker Requires: health-checker-plugins-MicroOS Requires: iputils Requires: issue-generator %ifnarch %{arm} Requires: kdump %endif Requires: less Requires: microos-tools Requires: openssh Requires: snapper Requires: vim-small Requires: wtmpdb # people are addicted to sudo Requires: sudo Requires: systemd-presets-branding-Aeon Requires: terminfo-base Requires: timezone Conflicts: gettext-runtime-mini Conflicts: krb5-mini Obsoletes: suse-build-key < 12.1 Requires: yast2-logs ### Packages formerly provided by base_zypper Requires: transactional-update Requires: transactional-update-zypp-config Requires: zypper # 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 ### Packages formerly provided by defaults Requires: audit Requires: systemd-coredump ### Packages formerly provided by hardware Requires: ethtool %ifnarch s390x Requires: irqbalance %endif Requires: fcoe-utils Requires: hwinfo ### Packages formerly provided by selinux Requires: container-selinux Requires: policycoreutils Requires: selinux-policy-targeted Requires: selinux-tools ### Packages formerly provided by x11 Requires: xf86-input-libinput Requires: xorg-x11-fonts-core Requires: xorg-x11-server # Recommend something other than xdm, default to lightdm Recommends: (gdm or lightdm or sddm) Recommends: dejavu-fonts Recommends: libyui-qt Recommends: libyui-qt-pkg Recommends: noto-sans-fonts Recommends: tigervnc Recommends: x11-tools Recommends: xdmbgrd Recommends: xorg-x11-Xvnc Recommends: xorg-x11-driver-video Recommends: xorg-x11-essentials Recommends: xorg-x11-fonts Recommends: xorg-x11-server-extra Recommends: xterm Recommends: xtermset Recommends: yast2-control-center Suggests: lightdm # bsc#1071953 %ifnarch s390 s390x Recommends: xf86-input-vmmouse Recommends: xf86-input-wacom %endif ### Packages formerly provided by desktop-common # PipeWire is the default sound server Requires: gstreamer-plugin-pipewire Requires: pipewire-alsa Requires: pipewire-pulseaudio # Allow users to print (and add some common printer drivers) Requires: OpenPrintingPPDs Requires: bluez-cups Requires: cups Requires: cups-filters Requires: cups-pk-helper Requires: ghostscript Requires: hplip-hpijs Requires: system-config-printer-common Requires: system-config-printer-dbus-service Requires: udev-configure-printer # Add thunderbolt device management (boo#1208150) Requires: bolt # Common tools Requires: bash-completion Requires: bluez-firmware Requires: glibc-locale Requires: hicolor-icon-theme-branding-openSUSE Requires: policycoreutils-python-utils Requires: polkit-default-privs Requires: systemd-icon-branding-openSUSE Requires: udisks2 Requires: unzip Requires: upower Requires: wget Requires: xdg-utils # Support ntfs drives Requires: ntfs-3g Requires: ntfsprogs # More "comfortable" base package versions Requires: gzip Requires: hostname %if 0%{is_opensuse} Requires: avahi %endif # Desktop notifications about transactional update succeeding/failing # for the masses Requires: transactional-update-notifier # Needed by both GNOME and KDE for theming of GTK-based flatpak apps properly Requires: xdg-desktop-portal-gtk # Needed to ensure MicroOS Desktop systems are be able to handle varied hardware out # of the box, and not only during the system installation. Requires: kernel-firmware-all Requires: sof-firmware ### Packages formerly provided by desktop-gnome Requires: gdm-branding-MicroOS # gnome-initial-setup requirements Requires: gnome-initial-setup Requires: gjs Requires: gnome-menus-branding-openSUSE Requires: system-group-wheel # from data/COMMON-DESKTOP Requires: desktop-data Requires: desktop-file-utils # # Now the real packages # # #332596 Requires: gnome-keyring-pam # implied by gnome-keyring-pam #Requires: gnome-keyring Requires: gnome-disk-utility # implied by gdm #Requires: gnome-shell #Requires: gnome-settings-daemon # implied by gnome-shell #Requires: gnome-control-center # # Default sessions: # - We also explicitly put the packages required by those sessions, in case # gnome-session-*-session is not installable, to make sure the livecd is # somehow a bit usable # Requires: gnome-session-default-session # ensure we have wayland session available (and used by default) Requires: gnome-session-wayland # boo#1090117 Requires: flatpak Requires: gnome-branding-Aeon Requires: gnome-color-manager #Requires: gnome-packagekit Requires: gnome-shell-classic Requires: gnome-software Requires: gnome-system-monitor Requires: gnome-terminal Requires: gnome-tweak-tool Requires: gnome-user-docs # bnc#879466 Requires: gpgme # for online accounts and calendar integration Requires: gnome-bluetooth # for display color profile support Requires: gnome-control-center-color # needed to ensure bluetooth is enabled at startup (glgo#GNOME/gnome-bluetooth#110) Requires: bluez-auto-enable-devices Requires: gnome-control-center-goa Requires: gnome-online-accounts Requires: gnome-shell-calendar # For seeing thumbnails in Nautilus Requires: gdk-pixbuf-thumbnailer Requires: gsf-office-thumbnailer Requires: rsvg-thumbnailer # So that GNOME shell extensions can be installed Requires: chrome-gnome-shell # we need something for xdg-su Requires: gnome-shell-search-provider-nautilus Requires: libgnomesu Requires: nautilus Requires: nautilus-extension-terminal # Some extensions add context menus to nautilus using python scripts (example GSConnect) # For this to work we need nautilus-python bindings Requires: python3-nautilus Requires: nautilus-share # For encrypting and decrypting files to work in Nautilus Requires: nautilus-extension-seahorse Requires: seahorse-daemon # So Trash and mounting USB sticks work in Nautilus Requires: gvfs-backends Requires: gvfs-backend-afc Requires: gvfs-backend-goa Requires: gvfs-fuse # We need the icons to work Requires: adwaita-icon-theme # We need this for accessability and the lack of it causes big performance issues (boo#1204564) Requires: at-spi2-core # Some fonts Requires: adobe-sourcecodepro-fonts Requires: adobe-sourcesanspro-fonts Requires: adobe-sourceserifpro-fonts Requires: dejavu-fonts Requires: ghostscript-fonts-other Requires: ghostscript-fonts-std Requires: google-carlito-fonts Requires: google-droid-fonts Requires: google-opensans-fonts Requires: google-roboto-fonts Requires: noto-coloremoji-fonts Requires: noto-emoji-fonts Requires: noto-sans-fonts # So that GNOME keyring works Requires: gcr-ssh-askpass Requires: gcr3-ssh-askpass # So that GNOME prompt for ssh password works Requires: openssh-askpass-gnome # So that GNOME pinentry works Requires: pinentry-gnome3 Requires: gvfs-backend-samba Requires: samba # So that GNOME builtin screen recorder works Requires: gstreamer-plugins-bad Requires: gstreamer-plugins-good # #509829 Requires: xdg-user-dirs-gtk Requires: yelp # Polkit integration with GNOME Requires: polkit-gnome # https://build.opensuse.org/request/show/921373 Requires: xdg-desktop-portal-gnome # ensure laptop power support is there Requires: (power-profiles-daemon or tlp) Suggests: power-profiles-daemon # add steam-devices Requires: steam-devices # # Low-level parts that we need # %if 0%{is_opensuse} # bnc#430161 Requires: NetworkManager-openconnect-gnome Requires: NetworkManager-openvpn-gnome Requires: canberra-gtk-play # # Branding # # #591535 Requires: gtk2-branding-openSUSE Requires: gtk3-branding-openSUSE Requires: gtk4-branding-openSUSE %endif ### Packages formerly provided by kiwi file Requires: kernel-default ### systemd-zram stuff Requires: systemd-zram-service ### Virtualisation support Requires: spice-vdagent Requires: qemu-guest-agent # bug#1211835 Requires: tpm2.0-abrmd Requires: tpm2-0-tss Requires: tpm2.0-tools %description base This is the openSUSE Aeon base system. It contains only fully working immutable desktop system. %prep # empty on purpose %build # empty on purpose %install mkdir -p %{buildroot}%{_docdir}/patterns-aeon/ PATTERNS=' base ' for i in $PATTERNS; do echo "This file marks the pattern $i to be installed." \ > %{buildroot}%{_docdir}/patterns-aeon/${i}.txt done %files base %dir %{_docdir}/patterns-aeon %{_docdir}/patterns-aeon/base.txt %changelog