# # 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 BuildRoot: %{_tmppath}/%{name}-%{version}-build 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 %pattern_basetechnologies 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} %description 32bit This pattern installs the 32-bit variant of all selected patterns, allowing you to execute 32-bit software. %files 32bit %dir /usr/share/doc/packages/patterns /usr/share/doc/packages/patterns/32bit.txt ################################################################################ %package 64bit %pattern_basetechnologies Summary: 64-Bit Runtime Environment Group: Metapackages Provides: patterns-openSUSE-64bit = %{version} Provides: pattern() = 64bit Provides: pattern-icon() = yast-misc Provides: pattern-order() = 1160 Provides: pattern-visible() Obsoletes: patterns-openSUSE-64bit < %{version} %description 64bit This pattern installs the 64-bit variant of all selected patterns, allowing you to execute 64-bit software. %files 64bit %dir /usr/share/doc/packages/patterns /usr/share/doc/packages/patterns/64bit.txt ################################################################################ %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() = base Recommends: pattern() = apparmor_opt Requires: apparmor-abstractions Requires: apparmor-parser Requires: apparmor-profiles Requires: audit Recommends: yast2-apparmor Recommends: apparmor-utils Suggests: pam_apparmor %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 /usr/share/doc/packages/patterns /usr/share/doc/packages/patterns/apparmor.txt ################################################################################ %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() = 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 /usr/share/doc/packages/patterns /usr/share/doc/packages/patterns/apparmor_opt.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 # Recommend NTP at least until boo#936378 is fixed and YaST is not trying to configure a service that's not there Recommends: ntp Recommends: ca-certificates-mozilla %ifarch ppc Recommends: libbspe Recommends: spu-tools # #739878 - install pdisk by default Recommends: pdisk %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 Suggests: systemd-logger %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 /usr/share/doc/packages/patterns /usr/share/doc/packages/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 Requires: mc Requires: openssh Requires: w3m Recommends: emacs-nox Recommends: mtools Recommends: susepaste Recommends: susepaste-screenshot Recommends: ntp Recommends: vim Recommends: screen Recommends: tmux Recommends: mosh Recommends: rsync Recommends: sensors Recommends: libyui-ncurses-pkg Recommends: libyui-ncurses Recommends: command-not-found Suggests: bsd-games Suggests: grepmail Suggests: irssi Suggests: links Suggests: nano Suggests: ncftp Suggests: minicom Suggests: mlocate Suggests: mutt Suggests: slrn Suggests: pinfo Suggests: vlock Suggests: alpine Suggests: pico Suggests: convert Suggests: ding Suggests: units Suggests: gcal Suggests: lftp Suggests: dar Suggests: par Suggests: makedev # #378747 Suggests: cryptconfig Suggests: cnetworkmanager %description console Applications useful for those using the console and no graphical desktop environment. %files console %dir /usr/share/doc/packages/patterns /usr/share/doc/packages/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() = yast2_basis Recommends: pattern() = enhanced_base_opt Recommends: pattern() = sw_management # having a ftp command line client is good for moving log files Recommends: tnftp # needed for detecting software raid - required by yast2-storage too Recommends: mdadm # #303857 Recommends: kpartx Recommends: dmraid # man by default (#304687) Recommends: man # fuser (psmisc) by default (#304694) Recommends: psmisc # firewall by default Recommends: SuSEfirewall2 Recommends: aaa_base-extras # getfacl and setfacl Recommends: acl # getattr and setattr Recommends: attr # compressor is interesting Recommends: bzip2 # printing considered cool Recommends: cups-client Recommends: curl Recommends: cyrus-sasl-gssapi Recommends: cyrus-sasl-crammd5 Recommends: cyrus-sasl-digestmd5 Recommends: cyrus-sasl-plain # bnc#430895 # cyrus-sasl-saslauthd Recommends: db-utils Recommends: diffutils Recommends: ethtool Recommends: e2fsprogs Recommends: file Recommends: fillup Recommends: findutils Recommends: hwinfo Recommends: klogd # /bin/ip considered useful Recommends: iproute2 # ping is required for network tests Recommends: iputils # pager Recommends: less Recommends: netcfg Recommends: parted Recommends: prctl Recommends: mailx Recommends: netcat-openbsd Recommends: genisoimage # we want a ssh server to be available Recommends: openssh Recommends: perl-base # we rely on cron for daily/hourly Recommends: cronie Recommends: sysconfig Recommends: systemd-sysvinit Recommends: tar Recommends: time Recommends: wget Recommends: wol # split out of ncurses Recommends: ncurses-utils # we want a branded boot Recommends: plymouth-branding-openSUSE # we want a branded grub2 too #757683 Recommends: grub2-branding-openSUSE # #302569 Recommends: alsa-plugins # useful for debugging Recommends: strace Recommends: lsof # mount NTFS rw Recommends: ntfs-3g # cups server for remote printing queues Recommends: cups # delta rpms are considered cool for updates Recommends: deltarpm Recommends: autofs Recommends: bind-utils # Make plymouth the new default bootsplash Recommends: plymouth Recommends: cyrus-sasl Recommends: dosfstools Recommends: gawk Recommends: gettext-runtime Recommends: glibc-locale Recommends: gpart Recommends: gpg2 Recommends: gpm Recommends: hdparm Recommends: ifplugd Recommends: info Recommends: libatm1 Recommends: master-boot-code Recommends: syslinux Recommends: nfs-client Recommends: nfsidmap Recommends: nscd Recommends: ntfsprogs Recommends: openldap2-client Recommends: openslp Recommends: pciutils %ifarch aarch64 %ix86 x86_64 Recommends: dmidecode %endif %ifarch %ix86 x86_64 Recommends: acpica %endif %ifarch %ix86 x86_64 Recommends: ucode-intel Recommends: ucode-amd %endif Recommends: postfix Recommends: tuned Recommends: ppp Recommends: pptp Recommends: recode Recommends: release-notes-openSUSE Recommends: smp_utils Recommends: sg3_utils Recommends: lsscsi Recommends: sudo Recommends: timezone Recommends: udev Recommends: utempter Recommends: wireless-tools # Our editor of choice Recommends: vim Recommends: ntp Recommends: yp-tools Recommends: ypbind %ifarch ppc Recommends: pdisk Recommends: powerpc32 # #303737 Recommends: mouseemu %endif %ifarch x86_64 Recommends: glibc-32bit Recommends: glibc-locale-32bit %endif %ifarch aarch64 x86_64 Recommends: numactl %endif # #375103 Recommends: cifs-utils # lsusb is good for debugging USB devices - #401593 Recommends: usbutils Recommends: cryptsetup # Bug 424707 - Feature "Command not found" for openSUSE by default Recommends: scout Recommends: command-not-found Recommends: lsb-release # autoconfig new printers - bnc#808014 Recommends: udev-configure-printer Suggests: reiserfs %description enhanced_base This is the enhanced base runtime system with lots of convenience packages. %files enhanced_base %dir /usr/share/doc/packages/patterns /usr/share/doc/packages/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: at Recommends: bc Recommends: cracklib-dict-full Recommends: OpenPrintingPPDs Recommends: dos2unix Recommends: ed Recommends: finger Recommends: groff Recommends: initviocons %ifarch ppc Recommends: hfsutils %endif # Current systems suffer from entropy starvation %ifarch aarch64 %ix86 x86_64 ppc64 ppc64le Recommends: haveged %endif Recommends: irqbalance Recommends: joe Recommends: ksh Recommends: ksymoops Recommends: man-pages Recommends: man-pages-posix Recommends: manufacturer-PPDs %ifarch x86_64 Recommends: mcelog %endif Recommends: mpt-status Recommends: spax Recommends: perl-TermReadLine-Gnu Recommends: prctl Recommends: procinfo Recommends: procmail Recommends: providers Recommends: rsync Recommends: screen Recommends: setserial Recommends: sharutils Recommends: smartmontools Recommends: strace Recommends: tcpdump Recommends: tcsh Recommends: telnet Recommends: terminfo Recommends: vlan Recommends: w3m Recommends: wol Recommends: zisofs-tools Recommends: zsh Suggests: acpid Suggests: xz Suggests: zip Suggests: unzip Suggests: cpupower Suggests: delayacct-utils Suggests: hfsutils Suggests: jfsutils Suggests: ocfs2-tools Suggests: xfsprogs Suggests: lynx Suggests: w3m-el Suggests: pwgen # delta apply Suggests: xdelta # needed as soon as you want to do kerberos authentication Suggests: cyrus-sasl-gssapi # tool for xfs Suggests: xfsdump # #393589 Suggests: open-iscsi # #437252 Suggests: pam_ssh # used by yast2-iscsi-server Suggests: tgt # DELL computers mainly #403270, but #441079 Suggests: biosdevname # bnc#388570 Suggests: kerneloops # #754959 %ifarch %ix86 x86_64 Suggests: hyper-v %endif Suggests: efibootmgr # debugging boot - Was systemd-analyze Suggests: systemd %description enhanced_base_opt This is the enhanced base runtime system with lots of convenience packages. %files enhanced_base_opt %dir /usr/share/doc/packages/patterns /usr/share/doc/packages/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 Obsoletes: patterns-openSUSE-minimal_base < %{version} Recommends: pattern() = minimal_base_conflicts 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 %if 0%{?is_opensuse} Requires: openSUSE-build-key Requires: openSUSE-release %else Requires: sles-release Recommends: suse-build-key Recommends: SUSEConnect %endif Requires: sysconfig Requires: system-group-hardware Recommends: system-group-trusted Recommends: system-group-wheel Recommends: system-user-bin Recommends: system-user-daemon Requires: system-user-nobody Requires: systemd Requires: zypper Recommends: btrfsmaintenance Recommends: btrfsprogs Recommends: elfutils Recommends: grub2 Recommends: insserv Recommends: iproute2 Recommends: openssh Recommends: rollback-helper Recommends: snapper Recommends: sysvinit-tools Recommends: udev Suggests: ed %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 /usr/share/doc/packages/patterns /usr/share/doc/packages/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: smtp_daemon Conflicts: perl-doc Conflicts: readline-doc Conflicts: bash-doc Conflicts: netpbm # recommended by yast2-printer Conflicts: samba-client Conflicts: cups-client Conflicts: desktop-translations # supplements into glib Conflicts: gsettings-backend-dconf Conflicts: glib-networking Conflicts: vim-data # required by gio-branding Conflicts: desktop-data-openSUSE # supplements yast2, not needed for ncurses only Conflicts: yast2-branding # supplements libgio and wget (TODO) Conflicts: libproxy1-config-gnome3 # requires python Conflicts: zypper-log # systemd recommends dbus-1-python Conflicts: python # python-base ~ 20MB Conflicts: python-base # 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 Conflicts: bundle-lang-gnome-extras-en # requires X11 Conflicts: openssh-askpass # requires all kinds of perl modules Conflicts: xdg-utils %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 /usr/share/doc/packages/patterns /usr/share/doc/packages/patterns/minimal_base_conflicts.txt ################################################################################ %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: zypper-lifecycle-plugin Recommends: lifecycle-data %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 /usr/share/doc/packages/patterns /usr/share/doc/packages/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-trival Recommends: update-test-affects-package-manager Recommends: update-test-security Recommends: update-test-interactive Recommends: update-test-optional Recommends: update-test-reboot-needed %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 /usr/share/doc/packages/patterns /usr/share/doc/packages/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_opt Recommends: pattern() = x11_yast Recommends: xorg-x11-essentials Recommends: xkeyboard-config Recommends: xorg-x11-server %ifarch x86_64 Recommends: nss-mdns-32bit %endif # needed e.g. for nvidia drivers Recommends: x11-tools Recommends: xterm Recommends: ghostscript-x11 Recommends: openssh-askpass Recommends: tigervnc Recommends: xorg-x11-driver-input Recommends: xorg-x11-driver-video Recommends: xorg-x11-libX11-ccache # provides e.g. xdm Recommends: xorg-x11-essentials # people love having numlock configurable Recommends: numlockx # improve glxinfo output (#301647) Recommends: freeglut # #302566 Recommends: x11-tools # #353229 - drag in empty replacements Recommends: translation-update # interesting for workstations too %ifarch %ix86 x86_64 Recommends: suspend %endif # chooce icewm-default if you have a choice # icewm-lite is too lightweight in new release Recommends: icewm-default Recommends: xauth Recommends: command-not-found Recommends: susepaste Recommends: susepaste-screenshot # required by others Suggests: icewm Suggests: wine Suggests: fvwm2 Suggests: fvwm-themes Suggests: wpa_supplicant-gui Suggests: hexchat Suggests: gv Suggests: gvim Suggests: mmv Suggests: pmidi Suggests: xine-ui Suggests: xosview # on security probation Suggests: xpdf-poppler Suggests: xosd # #394406 Suggests: desktop-data-openSUSE-extra Suggests: xorg-x11-driver-video-radeonhd Suggests: xorg-x11-driver-video-unichrome %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 /usr/share/doc/packages/patterns /usr/share/doc/packages/patterns/x11.txt ################################################################################ %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 Recommends: freeglut Recommends: xdmbgrd Recommends: xtermset Suggests: tk Suggests: unclutter Suggests: xlockmore Suggests: WindowMaker Suggests: WindowMaker-applets Suggests: WindowMaker-themes Suggests: MozillaThunderbird # #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 /usr/share/doc/packages/patterns /usr/share/doc/packages/patterns/x11_opt.txt ################################################################################ %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} %description x86 This will install the 32-bit variant of all selected patterns. This allows to execute 32-bit software. %files x86 %dir /usr/share/doc/packages/patterns /usr/share/doc/packages/patterns/x86.txt ################################################################################ %prep %build %install mkdir -p %{buildroot}/usr/share/doc/packages/patterns for i in 32bit 64bit apparmor apparmor_opt base 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}/usr/share/doc/packages/patterns/$i.txt" done %changelog