# # spec file for package patterns-base # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # 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 http://bugs.opensuse.org/ # %bcond_with betatest Name: patterns-base Version: 20170410 Release: 0 Summary: Patterns for Installation (base patterns) License: MIT Group: Metapackages Url: https://github.com/openSUSE/patterns Source0: %{name}-rpmlintrc BuildRequires: patterns-rpm-macros %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. This particular package contains all the base / core patterns (and those that don't fit well anywhere else). ################################################################################ %package apparmor %pattern_basetechnologies Summary: AppArmor Group: Metapackages Provides: patterns-openSUSE-apparmor = %{version} Provides: pattern() = apparmor Provides: pattern-icon() = pattern-apparmor Provides: pattern-order() = 1100 Provides: pattern-visible() Obsoletes: patterns-openSUSE-apparmor < %{version} Requires: pattern() = minimal_base %if 0%{?is_opensuse} Recommends: pattern() = apparmor_opt %endif Requires: apparmor-abstractions Requires: apparmor-parser Requires: apparmor-profiles Recommends: yast2-apparmor Suggests: pam_apparmor %if 0%{?is_opensuse} Requires: audit Recommends: apparmor-utils %endif %description apparmor AppArmor is an application security framework that provides mandatory access control for programs. It protects from exploitation of software flaws and compromised systems. It offers an advanced tool set that automates the development of per-program application security without requiring additional knowledge. %files apparmor %dir %{_docdir}/patterns %{_docdir}/patterns/apparmor.txt ################################################################################ %if 0%{?is_opensuse} %package apparmor_opt %pattern_basetechnologies Summary: AppArmor Group: Metapackages Provides: patterns-openSUSE-apparmor_opt = %{version} Provides: pattern() = apparmor_opt Provides: pattern-extends() = apparmor Provides: pattern-icon() = apparmor%2Fapp_armor.png Provides: pattern-order() = 1080 Obsoletes: patterns-openSUSE-apparmor_opt < %{version} Requires: pattern() = minimal_base Requires: apparmor-docs %description apparmor_opt AppArmor is an application security framework that provides mandatory access control for programs. It protects from exploitation of software flaws and compromised systems. It offers an advanced tool set that automates the development of per-program application security without requiring additional knowledge. %files apparmor_opt %dir %{_docdir}/patterns %{_docdir}/patterns/apparmor_opt.txt %endif ################################################################################ %package basesystem %pattern_basetechnologies Summary: Base System (alias pattern for base) Group: Metapackages Requires: pattern() = minimal_base Provides: pattern() = basesystem Provides: pattern-icon() = pattern-basis %description basesystem This is the base runtime system. It contains only a minimal multiuser booting system. For running on real hardware, you need to add additional packages and pattern to make this pattern useful on its own. %files basesystem %dir %{_docdir}/patterns %{_docdir}/patterns/basesystem.txt ################################################################################ %package base %pattern_basetechnologies Summary: Base System Group: Metapackages Provides: patterns-openSUSE-base = %{version} Provides: pattern() = base Provides: pattern-icon() = pattern-basis Provides: pattern-order() = 1020 Provides: pattern-visible() Obsoletes: patterns-openSUSE-base < %{version} Requires: pattern() = minimal_base Requires: kbd Requires: openssh Requires: polkit Requires: polkit-default-privs Requires: rpm Requires: shadow Requires: util-linux Requires: which Recommends: bash-completion Recommends: ca-certificates-mozilla %ifarch ppc Recommends: libbspe # #739878 - install pdisk by default Recommends: pdisk Recommends: spu-tools %endif %if 0%{?is_opensuse} # get it branded Recommends: branding-openSUSE %endif %ifarch %ix86 x86_64 Recommends: grub2 %endif %ifarch %ix86 Recommends: grub2-i386-efi %endif %ifarch x86_64 Recommends: grub2-x86_64-efi Recommends: shim %endif %ifarch ppc ppc64 ppc64le Recommends: grub2-powerpc-ieee1275 %endif %ifarch aarch64 Recommends: grub2-arm64-efi %endif %description base This is the base runtime system. It contains only a minimal multiuser booting system. For running on real hardware, you need to add additional packages and pattern to make this pattern useful on its own. %files base %dir %{_docdir}/patterns %{_docdir}/patterns/base.txt ################################################################################ %package console %pattern_basetechnologies Summary: Console Tools Group: Metapackages Provides: patterns-openSUSE-console = %{version} Provides: pattern() = console Provides: pattern-icon() = yast-system Provides: pattern-order() = 1120 Provides: pattern-visible() Obsoletes: patterns-openSUSE-console < %{version} Requires: pattern() = enhanced_base Recommends: pattern() = yast2_basis Recommends: ed Recommends: emacs-nox Recommends: w3m # #378747 Suggests: cryptconfig Suggests: lftp Suggests: mlocate Suggests: mutt %if 0%{?is_opensuse} Recommends: at Recommends: bc Recommends: libyui-ncurses Recommends: libyui-ncurses-pkg Recommends: mc Recommends: mosh Recommends: mtools Recommends: chrony Recommends: sensors Recommends: susepaste Recommends: susepaste-screenshot Recommends: tmux Suggests: alpine Suggests: bsd-games Suggests: cnetworkmanager Suggests: convert Suggests: dar Suggests: ding Suggests: gcal Suggests: grepmail Suggests: irssi Suggests: links Suggests: lynx Suggests: minicom Suggests: ncftp Suggests: pico Suggests: pinfo Suggests: slrn Suggests: units Suggests: vlock %endif %description console Applications useful for those using the console and no graphical desktop environment. %files console %dir %{_docdir}/patterns %{_docdir}/patterns/console.txt ################################################################################ %package enhanced_base %pattern_basetechnologies Summary: Enhanced Base System Group: Metapackages Provides: patterns-openSUSE-enhanced_base = %{version} Provides: pattern() = enhanced_base Provides: pattern-icon() = pattern-basis Provides: pattern-order() = 1060 Provides: pattern-visible() Obsoletes: patterns-openSUSE-enhanced_base < %{version} Requires: pattern() = base Recommends: pattern() = apparmor Recommends: pattern() = enhanced_base_opt Recommends: pattern() = sw_management Recommends: pattern() = yast2_basis # firewall by default Recommends: firewalld Recommends: aaa_base-extras # getfacl and setfacl Recommends: acl # #302569 Recommends: alsa-plugins # getattr and setattr Recommends: attr Recommends: autofs Recommends: bind-utils # compressor is interesting Recommends: bzip2 # #375103 Recommends: cifs-utils Recommends: command-not-found # we rely on cron for daily/hourly Recommends: cronie Recommends: cryptsetup # cups server for remote printing queues Recommends: cups # printing considered cool Recommends: cups-client Recommends: curl Recommends: cyrus-sasl Recommends: cyrus-sasl-crammd5 Recommends: cyrus-sasl-digestmd5 Recommends: cyrus-sasl-gssapi Recommends: cyrus-sasl-plain # bnc#430895 # cyrus-sasl-saslauthd # delta rpms are considered cool for updates Recommends: deltarpm Recommends: diffutils Recommends: dos2unix Recommends: e2fsprogs Recommends: file Recommends: fillup Recommends: findutils Recommends: gawk Recommends: genisoimage Recommends: gettext-runtime Recommends: glibc-locale Recommends: gpart Recommends: gpg2 Recommends: gpm Recommends: hdparm Recommends: hwinfo Recommends: info Recommends: initviocons # /bin/ip considered useful Recommends: iproute2 # ping is required for network tests Recommends: iputils Recommends: irqbalance # #303857 Recommends: kpartx # pager Recommends: less Recommends: lsscsi Recommends: mailx # man by default (#304687) Recommends: man # needed for detecting software raid - required by yast2-storage too Recommends: mdadm # split out of ncurses Recommends: ncurses-utils Recommends: netcat-openbsd Recommends: netcfg Recommends: nfs-client Recommends: nfsidmap Recommends: nscd Recommends: openslp # we want a ssh server to be available Recommends: openssh Recommends: parted Recommends: pciutils Recommends: perl-base Recommends: postfix Recommends: rsync # Bug 424707 - Feature "Command not found" for openSUSE by default Recommends: scout Recommends: screen Recommends: sg3_utils Recommends: smartmontools Recommends: sysconfig Recommends: systemd-sysvinit Recommends: tar Recommends: time Recommends: timezone Recommends: udev # autoconfig new printers - bnc#808014 Recommends: udev-configure-printer # lsusb is good for debugging USB devices - #401593 Recommends: usbutils # Our editor of choice Recommends: vim Recommends: wget Recommends: xz Recommends: zisofs-tools # DELL computers mainly #403270, but #441079 Suggests: biosdevname Suggests: cpupower # #437252 Suggests: pam_ssh Suggests: xfsprogs Suggests: zip %ifarch aarch64 %ix86 x86_64 Recommends: dmidecode %endif # Current systems suffer from entropy starvation %ifarch aarch64 %ix86 x86_64 ppc64 ppc64le Recommends: haveged %endif %ifarch ppc Recommends: hfsutils %endif %ifarch ppc # #303737 Recommends: mouseemu Recommends: pdisk Recommends: powerpc32 %endif # openSUSE Branding packages first %if 0%{?is_opensuse} # we want a branded grub2 too #757683 Recommends: grub2-branding-openSUSE Recommends: release-notes-openSUSE %endif # Other packages we have in openSUSE and not SLE-15 %if 0%{?is_opensuse} Recommends: dmraid Recommends: dosfstools Recommends: ethtool Recommends: ifplugd Recommends: klogd Recommends: lsof Recommends: master-boot-code # boo#1034493 Recommends: nano # mount NTFS rw Recommends: ntfs-3g Recommends: ntfsprogs Recommends: chrony Recommends: openldap2-client Recommends: prctl # fuser (psmisc) by default (#304694) Recommends: psmisc Recommends: recode Recommends: smp_utils # useful for debugging Recommends: strace Recommends: sudo Recommends: syslinux # having a ftp command line client is good for moving log files Recommends: tnftp Recommends: tuned Recommends: wireless-tools Recommends: wol %ifarch %ix86 x86_64 Recommends: acpica %endif %ifarch x86_64 Recommends: mcelog %endif %ifarch aarch64 x86_64 Recommends: numactl %endif %ifarch %ix86 x86_64 Recommends: ucode-amd Recommends: ucode-intel %endif %endif %description enhanced_base This is the enhanced base runtime system with lots of convenience packages. %files enhanced_base %dir %{_docdir}/patterns %{_docdir}/patterns/enhanced_base.txt ################################################################################ %package enhanced_base_opt %pattern_basetechnologies Summary: Enhanced Base System Group: Metapackages Provides: patterns-openSUSE-enhanced_base_opt = %{version} Provides: pattern() = enhanced_base_opt Provides: pattern-extends() = enhanced_base Provides: pattern-icon() = yast-software Provides: pattern-order() = 1040 Obsoletes: patterns-openSUSE-enhanced_base_opt < %{version} Recommends: OpenPrintingPPDs Recommends: cracklib-dict-full Recommends: groff Recommends: man-pages-posix # needed as soon as you want to do kerberos authentication Suggests: cyrus-sasl-gssapi Suggests: hfsutils Suggests: unzip # #754959 %ifarch %ix86 x86_64 Suggests: hyper-v %endif %if 0%{?is_opensuse} Recommends: joe Recommends: ksymoops Recommends: man-pages Recommends: manufacturer-PPDs Recommends: mpt-status Recommends: perl-TermReadLine-Gnu Recommends: prctl Recommends: procinfo Recommends: procmail Recommends: providers Recommends: setserial Recommends: sharutils Recommends: spax Recommends: strace Recommends: tcpdump Recommends: telnet Recommends: terminfo Recommends: vlan Recommends: wol Suggests: acpid Suggests: delayacct-utils # bnc#388570 Suggests: kerneloops Suggests: ocfs2-tools Suggests: pwgen Suggests: w3m-el # delta apply Suggests: xdelta # tool for xfs Suggests: xfsdump %endif %description enhanced_base_opt This is the enhanced base runtime system with lots of convenience packages. %files enhanced_base_opt %dir %{_docdir}/patterns %{_docdir}/patterns/enhanced_base_opt.txt ################################################################################ %package minimal_base %pattern_basetechnologies Summary: Base System Group: Metapackages Provides: patterns-openSUSE-minimal_base = %{version} Provides: pattern() = minimal_base Provides: pattern-icon() = yast-sw_single Provides: pattern-order() = 5190 Provides: pattern-visible() Obsoletes: patterns-openSUSE-minimal_base < %{version} Requires: aaa_base Requires: bash Requires: coreutils Requires: device-mapper Requires: dracut Requires: e2fsprogs Requires: filesystem Requires: glibc Requires: kbd Requires: kmod Requires: pam Requires: procps Requires: rpm Requires: sysconfig Requires: system-group-hardware Requires: system-user-nobody Requires: systemd Requires: zypper Recommends: btrfsmaintenance Recommends: btrfsprogs Recommends: elfutils Recommends: grub2 Recommends: iproute2 Recommends: openssh Recommends: pattern() = minimal_base_conflicts Recommends: rollback-helper Recommends: snapper Recommends: system-group-trusted Recommends: system-group-wheel Recommends: system-user-bin Recommends: system-user-daemon Recommends: systemd-coredump Recommends: sysvinit-tools Recommends: udev Suggests: ed %if 0%{?is_opensuse} Requires: openSUSE-build-key Requires: openSUSE-release %else Requires: sles-release Recommends: SUSEConnect Recommends: suse-build-key %endif %ifarch x86_64 %arm Recommends: efibootmgr %endif %description minimal_base This is the minimal openSUSE runtime system. It is really a minimal system, you can login and a shell will be started, that's all. It is intended as base for Appliances. %files minimal_base %dir %{_docdir}/patterns %{_docdir}/patterns/minimal_base.txt ################################################################################ %package minimal_base_conflicts %pattern_basetechnologies Summary: Base System Group: Metapackages Provides: patterns-openSUSE-minimal_base-conflicts = %{version} Provides: pattern() = minimal_base_conflicts Provides: pattern-icon() = yast-sw_single Provides: pattern-order() = 5191 Obsoletes: patterns-openSUSE-minimal_base-conflicts < %{version} Requires: pattern() = minimal_base Conflicts: cups-client Conflicts: desktop-translations Conflicts: glib-networking # supplements into glib Conflicts: gsettings-backend-dconf Conflicts: gvfs # systemd recommends dbus-1-python Conflicts: python # python-base ~ 20MB Conflicts: python-base # recommended by yast2-printer Conflicts: samba-client Conflicts: vim-data # requires all kinds of perl modules Conflicts: xdg-utils # requires python Conflicts: zypper-log %if 0%{?is_opensuse} # required by gio-branding Conflicts: desktop-data-openSUSE %endif %if 0%{?is_opensuse} Conflicts: bash-doc Conflicts: bundle-lang-gnome-extras-en # perl ~ 40MB ## - we can't conflict with that as perl-Bootloader-YAML needs it #Conflicts: perl # binutils ~ 30MB #Conflicts: binutils # pulls perl #Conflicts: zypper-aptitude # pulls perl #Conflicts: perl-gettext # gtk3 Conflicts: gtk3-branding Conflicts: gtk3-immodule-amharic Conflicts: gtk3-immodule-inuktitut Conflicts: gtk3-immodule-thai Conflicts: gtk3-immodule-tigrigna Conflicts: gtk3-immodule-vietnamese # supplements libgio and wget (TODO) Conflicts: libproxy1-config-gnome3 Conflicts: netpbm # requires X11 Conflicts: openssh-askpass Conflicts: perl-doc Conflicts: readline-doc Conflicts: smtp_daemon # supplements yast2, not needed for ncurses only Conflicts: yast2-branding %endif %description minimal_base_conflicts This is the base runtime system. It contains only a minimal multiuser booting system. For running on real hardware, you need to add additional packages and pattern to make this pattern useful on its own. %files minimal_base_conflicts %dir %{_docdir}/patterns %{_docdir}/patterns/minimal_base_conflicts.txt ################################################################################ %if 0%{?is_opensuse} %package transactional_base %pattern_basetechnologies Summary: Transactional Base System Group: Metapackages Provides: pattern() = transactional_base Provides: pattern-icon() = yast-system Provides: pattern-order() = 1050 Obsoletes: pattern() = readonly_root_tools Requires: pattern() = enhanced_base Requires: libnss_usrfiles2 Requires: read-only-root-fs Requires: systemd-presets-branding-transactional-server Requires: transactional-update Suggests: health-checker Requires: rebootmgr %description transactional_base This is the base system for a host updated by Transactional Updates. Includes Tools for systems with a read-only root filesystem. %files transactional_base %dir %{_docdir}/patterns %{_docdir}/patterns/transactional_base.txt %endif ################################################################################ %package sw_management %pattern_basetechnologies Summary: Software Management Group: Metapackages Provides: patterns-openSUSE-sw_management = %{version} Provides: pattern() = sw_management Provides: pattern-icon() = yast-sw_single Provides: pattern-order() = 1360 Provides: pattern-visible() Obsoletes: patterns-openSUSE-sw_management < %{version} Recommends: pattern() = sw_management_x11 # Zypper is the basic sw_management stack for *SUSE Requires: zypper %if 0%{?sle_version} Recommends: lifecycle-data Recommends: zypper-lifecycle-plugin %endif %description sw_management This pattern provides a graphical application and a command line tool for keeping your system up to date. %files sw_management %dir %{_docdir}/patterns %{_docdir}/patterns/sw_management.txt ################################################################################ %package update_test %pattern_basetechnologies Summary: Tests for the Update Stack Group: Metapackages Provides: patterns-openSUSE-update_test = %{version} Provides: pattern() = update_test Provides: pattern-icon() = yast-update Provides: pattern-order() = 1380 Provides: pattern-visible() Obsoletes: patterns-openSUSE-update_test < %{version} Recommends: update-test-affects-package-manager Recommends: update-test-interactive Recommends: update-test-optional Recommends: update-test-reboot-needed Recommends: update-test-security Recommends: update-test-trival %if %{with betatest} Recommends: aaa_base-malloccheck Supplements: %{name}-base %endif %description update_test Packages used for testing that the update stack works. These tiny packages do not have any functionality themselves. %files update_test %dir %{_docdir}/patterns %{_docdir}/patterns/update_test.txt ################################################################################ %package x11 %pattern_graphicalenvironments Summary: X Window System Group: Metapackages Provides: patterns-openSUSE-x11 = %{version} Provides: pattern() = x11 Provides: pattern-icon() = yast-x11 Provides: pattern-order() = 1800 Provides: pattern-visible() Obsoletes: patterns-openSUSE-x11 < %{version} Requires: pattern() = enhanced_base Requires: pattern() = fonts Recommends: pattern() = x11_yast %if 0%{?is_opensuse} Recommends: pattern() = x11_opt %endif Recommends: command-not-found Recommends: ghostscript-x11 # chooce icewm-default if you have a choice # icewm-lite is too lightweight in new release Recommends: icewm-default Recommends: tigervnc # #353229 - drag in empty replacements Recommends: translation-update Recommends: xauth Recommends: xkeyboard-config Recommends: xorg-x11-driver-video # provides e.g. xdm Recommends: xorg-x11-essentials Recommends: xorg-x11-server Recommends: xterm-bin Recommends: xtermset Suggests: gvim Suggests: hexchat # required by others Suggests: icewm Suggests: tk %if 0%{?is_opensuse} # #394406 Suggests: desktop-data-openSUSE-extra %endif %if 0%{?is_opensuse} # people love having numlock configurable Recommends: numlockx Recommends: openssh-askpass Recommends: susepaste Recommends: susepaste-screenshot Suggests: wpa_supplicant-gui # include boot splash for graphical environments Recommends: plymouth Recommends: plymouth-branding-openSUSE %endif %description x11 The X Window System provides the only standard platform-independent networked graphical window system bridging the heterogeneous platforms in today's enterprise: from network servers to desktops, thin clients, laptops, and handhelds, independent of operating system and hardware. %files x11 %dir %{_docdir}/patterns %{_docdir}/patterns/x11.txt ################################################################################ %if 0%{?is_opensuse} %package x11_opt %pattern_graphicalenvironments Summary: X Window System Group: Metapackages Provides: patterns-openSUSE-x11_opt = %{version} Provides: pattern() = x11_opt Provides: pattern-extends() = x11 Provides: pattern-icon() = yast-x11 Provides: pattern-order() = 1680 Obsoletes: patterns-openSUSE-x11_opt < %{version} Requires: pattern() = enhanced_base Requires: pattern() = fonts # needed e.g. for nvidia drivers # #302566 Recommends: x11-tools Recommends: xdmbgrd Recommends: xorg-x11-libX11-ccache Suggests: xorg-x11-driver-video-radeonhd Suggests: xorg-x11-driver-video-unichrome Suggests: MozillaThunderbird Suggests: WindowMaker Suggests: WindowMaker-applets Suggests: WindowMaker-themes Suggests: unclutter Suggests: xlockmore # #389816 Suggests: xorg-x11-server-sdk %description x11_opt The X Window System provides the only standard platform-independent networked graphical window system bridging the heterogeneous platforms in today's enterprise: from network servers to desktops, thin clients, laptops, and handhelds, independent of operating system and hardware. %files x11_opt %dir %{_docdir}/patterns %{_docdir}/patterns/x11_opt.txt %endif ################################################################################ %package x86 %pattern_basetechnologies Summary: x86 Runtime Environment Group: Metapackages Provides: patterns-openSUSE-x86 = %{version} Provides: pattern() = x86 Provides: pattern-icon() = yast-misc Provides: pattern-order() = 1180 Provides: pattern-visible() Obsoletes: patterns-openSUSE-x86 < %{version} %ifarch x86_64 Recommends: glibc-32bit Recommends: glibc-locale-32bit %endif %description x86 This will install the 32-bit variant of all selected patterns. This allows to execute 32-bit software. %files x86 %dir %{_docdir}/patterns %{_docdir}/patterns/x86.txt ################################################################################ %prep %build %install mkdir -p %{buildroot}%{_docdir}/patterns %if 0%{?is_opensuse} for i in apparmor apparmor_opt base basesystem console enhanced_base \ enhanced_base_opt minimal_base minimal_base_conflicts transactional_base sw_management \ update_test x11 x11_opt x86; do %else for i in apparmor base basesystem console enhanced_base \ enhanced_base_opt minimal_base minimal_base_conflicts sw_management \ update_test x11 x86; do %endif echo "This file marks the pattern $i to be installed." \ >"%{buildroot}%{_docdir}/patterns/$i.txt" done %changelog