# # spec file for package patterns-base # # Copyright (c) 2017 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: 20170319 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 32bit Summary: 32-Bit Runtime Environment Group: Metapackages Provides: patterns-openSUSE-32bit = %{version} Provides: pattern() = 32bit Provides: pattern-icon() = yast-misc Provides: pattern-order() = 1140 Obsoletes: patterns-openSUSE-32bit < %{version} %pattern_basetechnologies %description 32bit This pattern installs the 32-bit variant of all selected patterns, allowing you to execute 32-bit software. %files 32bit %dir %{_docdir}/patterns %{_docdir}/patterns/32bit.txt ################################################################################ %package 64bit Summary: 64-Bit Runtime Environment Group: Metapackages Provides: patterns-openSUSE-64bit = %{version} Provides: pattern() = 64bit Provides: pattern-icon() = yast-misc Provides: pattern-order() = 1160 Obsoletes: patterns-openSUSE-64bit < %{version} %pattern_basetechnologies %description 64bit This pattern installs the 64-bit variant of all selected patterns, allowing you to execute 64-bit software. %files 64bit %dir %{_docdir}/patterns %{_docdir}/patterns/64bit.txt ################################################################################ %package apparmor Summary: AppArmor Group: Metapackages Requires: apparmor-abstractions Requires: apparmor-parser Requires: apparmor-profiles Requires: audit Requires: pattern() = minimal_base Recommends: apparmor-utils Recommends: pattern() = apparmor_opt Recommends: yast2-apparmor Suggests: pam_apparmor 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} %pattern_basetechnologies %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 ################################################################################ %package apparmor_opt Summary: AppArmor Group: Metapackages Requires: apparmor-docs Requires: pattern() = minimal_base 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} %pattern_basetechnologies %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 ################################################################################ %package basesystem Summary: Base System (alias pattern for base) Group: Metapackages Requires: pattern() = minimal_base Provides: pattern() = basesystem Provides: pattern-icon() = pattern-basis %pattern_basetechnologies %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 Summary: Base System Group: Metapackages Requires: kbd Requires: openssh Requires: pattern() = minimal_base Requires: polkit Requires: polkit-default-privs Requires: rpm Requires: shadow Requires: util-linux Requires: which Recommends: ca-certificates-mozilla # Recommend NTP at least until boo#936378 is fixed and YaST is not trying to configure a service that's not there Recommends: ntp Suggests: systemd-logger 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} %pattern_basetechnologies %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 Summary: Console Tools Group: Metapackages Requires: mc Requires: openssh Requires: pattern() = enhanced_base Requires: w3m Recommends: command-not-found Recommends: emacs-nox Recommends: libyui-ncurses Recommends: libyui-ncurses-pkg Recommends: mosh Recommends: mtools Recommends: ntp Recommends: pattern() = yast2_basis Recommends: rsync Recommends: screen Recommends: sensors Recommends: susepaste Recommends: susepaste-screenshot Recommends: tmux Recommends: vim Suggests: alpine Suggests: bsd-games Suggests: cnetworkmanager Suggests: convert # #378747 Suggests: cryptconfig Suggests: dar Suggests: ding Suggests: gcal Suggests: grepmail Suggests: irssi Suggests: lftp Suggests: links Suggests: makedev Suggests: minicom Suggests: mlocate Suggests: mutt Suggests: nano Suggests: ncftp Suggests: par Suggests: pico Suggests: pinfo Suggests: slrn Suggests: units Suggests: vlock 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} %pattern_basetechnologies %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 Summary: Enhanced Base System Group: Metapackages Requires: pattern() = base # firewall by default Recommends: SuSEfirewall2 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 Recommends: db-utils # delta rpms are considered cool for updates Recommends: deltarpm Recommends: diffutils Recommends: dmraid Recommends: dosfstools Recommends: e2fsprogs Recommends: ethtool Recommends: file Recommends: fillup Recommends: findutils Recommends: gawk Recommends: genisoimage Recommends: gettext-runtime Recommends: glibc-locale Recommends: gpart Recommends: gpg2 Recommends: gpm # we want a branded grub2 too #757683 Recommends: grub2-branding-openSUSE Recommends: hdparm Recommends: hwinfo Recommends: ifplugd Recommends: info # /bin/ip considered useful Recommends: iproute2 # ping is required for network tests Recommends: iputils Recommends: klogd # #303857 Recommends: kpartx # pager Recommends: less Recommends: libatm1 Recommends: lsb-release Recommends: lsof Recommends: lsscsi Recommends: mailx # man by default (#304687) Recommends: man Recommends: master-boot-code # 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 # mount NTFS rw Recommends: ntfs-3g Recommends: ntfsprogs Recommends: ntp Recommends: openldap2-client Recommends: openslp # we want a ssh server to be available Recommends: openssh Recommends: parted Recommends: pattern() = apparmor Recommends: pattern() = enhanced_base_opt Recommends: pattern() = sw_management Recommends: pattern() = yast2_basis Recommends: pciutils Recommends: perl-base # Make plymouth the new default bootsplash Recommends: plymouth # we want a branded boot Recommends: plymouth-branding-openSUSE Recommends: postfix Recommends: ppp Recommends: pptp Recommends: prctl # fuser (psmisc) by default (#304694) Recommends: psmisc Recommends: recode Recommends: release-notes-openSUSE # Bug 424707 - Feature "Command not found" for openSUSE by default Recommends: scout Recommends: sg3_utils Recommends: smp_utils # useful for debugging Recommends: strace Recommends: sudo Recommends: sysconfig Recommends: syslinux Recommends: systemd-sysvinit Recommends: tar Recommends: time Recommends: timezone # having a ftp command line client is good for moving log files Recommends: tnftp Recommends: tuned Recommends: udev # autoconfig new printers - bnc#808014 Recommends: udev-configure-printer # lsusb is good for debugging USB devices - #401593 Recommends: usbutils Recommends: utempter # Our editor of choice Recommends: vim Recommends: wget Recommends: wireless-tools Recommends: wol Recommends: yp-tools Recommends: ypbind Suggests: reiserfs 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} %pattern_basetechnologies %ifarch aarch64 %ix86 x86_64 Recommends: dmidecode %endif %ifarch %ix86 x86_64 Recommends: acpica %endif %ifarch %ix86 x86_64 Recommends: ucode-amd Recommends: ucode-intel %endif %ifarch ppc # #303737 Recommends: mouseemu Recommends: pdisk Recommends: powerpc32 %endif %ifarch aarch64 x86_64 Recommends: numactl %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 Summary: Enhanced Base System Group: Metapackages Recommends: OpenPrintingPPDs Recommends: at Recommends: bc Recommends: cracklib-dict-full Recommends: dos2unix Recommends: ed Recommends: finger Recommends: groff Recommends: initviocons Recommends: irqbalance Recommends: joe Recommends: ksh Recommends: ksymoops Recommends: man-pages Recommends: man-pages-posix Recommends: manufacturer-PPDs Recommends: mpt-status Recommends: perl-TermReadLine-Gnu Recommends: prctl Recommends: procinfo Recommends: procmail Recommends: providers Recommends: rsync Recommends: screen Recommends: setserial Recommends: sharutils Recommends: smartmontools Recommends: spax Recommends: strace Recommends: tcpdump Recommends: tcsh Recommends: telnet Recommends: terminfo Recommends: vlan Recommends: w3m Recommends: wol Recommends: zisofs-tools Recommends: zsh Suggests: acpid # DELL computers mainly #403270, but #441079 Suggests: biosdevname Suggests: cpupower # needed as soon as you want to do kerberos authentication Suggests: cyrus-sasl-gssapi Suggests: delayacct-utils Suggests: efibootmgr Suggests: hfsutils Suggests: jfsutils # bnc#388570 Suggests: kerneloops Suggests: lynx Suggests: ocfs2-tools # #393589 Suggests: open-iscsi # #437252 Suggests: pam_ssh Suggests: pwgen # debugging boot - Was systemd-analyze Suggests: systemd # used by yast2-iscsi-server Suggests: tgt Suggests: unzip Suggests: w3m-el # delta apply Suggests: xdelta # tool for xfs Suggests: xfsdump Suggests: xfsprogs Suggests: xz Suggests: zip 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} %pattern_basetechnologies %ifarch ppc Recommends: hfsutils %endif # Current systems suffer from entropy starvation %ifarch aarch64 %ix86 x86_64 ppc64 ppc64le Recommends: haveged %endif %ifarch x86_64 Recommends: mcelog %endif # #754959 %ifarch %ix86 x86_64 Suggests: hyper-v %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 Summary: Base System Group: Metapackages Requires: aaa_base Requires: bash Requires: coreutils Requires: device-mapper Requires: dracut Requires: e2fsprogs Requires: filesystem Requires: glibc Requires: kbd Requires: kmod # Has been split out of glibc Requires: libnss_compat2 # Has been split out of glibc Requires: libnss_nis2 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: insserv 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: sysvinit-tools Recommends: udev Suggests: ed 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} %pattern_basetechnologies %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 Summary: Base System Group: Metapackages Requires: pattern() = minimal_base Conflicts: bash-doc Conflicts: bundle-lang-gnome-extras-en Conflicts: cups-client # required by gio-branding Conflicts: desktop-data-openSUSE Conflicts: desktop-translations Conflicts: glib-networking # supplements into glib Conflicts: gsettings-backend-dconf # 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 Conflicts: gvfs # supplements libgio and wget (TODO) Conflicts: libproxy1-config-gnome3 Conflicts: netpbm # requires X11 Conflicts: openssh-askpass Conflicts: perl-doc # systemd recommends dbus-1-python Conflicts: python # python-base ~ 20MB Conflicts: python-base Conflicts: readline-doc # recommended by yast2-printer Conflicts: samba-client Conflicts: smtp_daemon Conflicts: vim-data # requires all kinds of perl modules Conflicts: xdg-utils # supplements yast2, not needed for ncurses only Conflicts: yast2-branding # requires python Conflicts: zypper-log 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} %pattern_basetechnologies %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 ################################################################################ %package sw_management Summary: Software Management Group: Metapackages # Zypper is the basic sw_management stack for *SUSE Requires: zypper Recommends: pattern() = sw_management_x11 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} %pattern_basetechnologies %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 Summary: Tests for the Update Stack Group: Metapackages 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 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} %pattern_basetechnologies %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 Summary: X Window System Group: Metapackages Requires: pattern() = enhanced_base Requires: pattern() = fonts Recommends: command-not-found # improve glxinfo output (#301647) Recommends: freeglut Recommends: ghostscript-x11 # chooce icewm-default if you have a choice # icewm-lite is too lightweight in new release Recommends: icewm-default # people love having numlock configurable Recommends: numlockx Recommends: openssh-askpass Recommends: pattern() = x11_opt Recommends: pattern() = x11_yast Recommends: susepaste Recommends: susepaste-screenshot Recommends: tigervnc # #353229 - drag in empty replacements Recommends: translation-update # needed e.g. for nvidia drivers # #302566 Recommends: x11-tools Recommends: xauth Recommends: xkeyboard-config Recommends: xorg-x11-driver-input Recommends: xorg-x11-driver-video # provides e.g. xdm Recommends: xorg-x11-essentials Recommends: xorg-x11-libX11-ccache Recommends: xorg-x11-server Recommends: xterm # #394406 Suggests: desktop-data-openSUSE-extra Suggests: fvwm-themes Suggests: fvwm2 Suggests: gv Suggests: gvim Suggests: hexchat # required by others Suggests: icewm Suggests: mmv Suggests: pmidi Suggests: wine Suggests: wpa_supplicant-gui Suggests: xine-ui Suggests: xorg-x11-driver-video-radeonhd Suggests: xorg-x11-driver-video-unichrome Suggests: xosd Suggests: xosview # on security probation Suggests: xpdf-poppler 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} %pattern_graphicalenvironments # interesting for workstations too %ifarch %ix86 x86_64 Recommends: suspend %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 ################################################################################ %package x11_opt Summary: X Window System Group: Metapackages Requires: pattern() = enhanced_base Requires: pattern() = fonts Recommends: freeglut Recommends: xdmbgrd Recommends: xtermset Suggests: MozillaThunderbird Suggests: WindowMaker Suggests: WindowMaker-applets Suggests: WindowMaker-themes Suggests: tk Suggests: unclutter Suggests: xlockmore # #389816 Suggests: xorg-x11-server-sdk 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} %pattern_graphicalenvironments %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 ################################################################################ %package x86 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} %pattern_basetechnologies %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 for i in 32bit 64bit apparmor apparmor_opt base basesystem console enhanced_base \ enhanced_base_opt minimal_base minimal_base_conflicts sw_management \ update_test x11 x11_opt x86; do echo "This file marks the pattern $i to be installed." \ >"%{buildroot}%{_docdir}/patterns/$i.txt" done %changelog