Bugzilla – Bug 1213413
"base" pattern missing in SLE vs openSUSE
Last modified: 2023-07-18 13:01:17 UTC
This problem concerns the "base" pattern. It is installed by default in openSUSE but not in SLE. It must be added to the control file. This bug affects openSUSE or SLE, depending on how you see things...
Without a base product, you cannot install. For sure there is a base product. It might just go by a different name. And yes, SLE and openSUSE do behave slightly differently; they are different products with different control.xml files where quite some things are configured.
When you select a base product in SLE, that will already require a number of patterns, and the base pattern for sure is among them. That difference is not a bug. I find it very strange to hear that you NEED to explicitly specify the base pattern in openSUSE, though: If you select any *other* pattern, it will require the base pattern directly or indirectly. KDE Plasma will require one of X11 or Wayland and both of those will require the base pattern. So, did you need to specify the base pattern although you specified any higher-level patterns in your AutoYaST XML profile? Or (which I believe) was that only needed when you didn't specify any higher-level one?
Patterns (just like packages) have dependencies, and during installation (no matter if manual or via AutoYaST), libzypp resolves those dependencies. Most patterns require other patterns until it gets down to the packages level, so in most cases you won't explicitly need to add a pattern like "base" to your AutoYaST profile; unless you are going for a very minimalistic system with very few other patterns. Assuming that your AutoYaST profile is the same that you attached to that other bug: <software t="map"> <patterns t="list"> <pattern>apparmor</pattern> <pattern>base</pattern> <pattern>enhanced_base</pattern> <pattern>yast2_basis</pattern> <pattern>yast2_desktop</pattern> <pattern>yast2_server</pattern> </patterns> <products t="list"> <product>SLES</product> </products> </software> In this case, pattern "enhanced_base" already requires pattern "base", so you don't really need to add it here explicitly. It doesn't hurt, though, and adding it might make it a bit clearer to somebody reading your profile what's going on.
Created attachment 868285 [details] Patterns on an installed Leap 15.5 Screenshot: YaST package selector with patterns on an installed Leap 15.5 To make life somewhat easier when creating your AutoYaST profiles, you can use the YaST package selector ("sudo yast2 sw_single"): - Switch to tab "Search" - Enter "patterns-" in the search field - Uncheck all "Search in" checkboxes except "Name" - Switch the "Search Mode" combo box to "Begins with" - Hit the "Search" button - In "Details" panel on the right below the packages list, select "Dependencies" - Check out the "Requires:" section and the "pattern() = ..." results there In this example you can see that pattern-xfce-xfce_basis "XFCE Base System" requires - pattern() = basesystem - pattern() = x11 i.e. if you only add the XFCE Base System pattern to your profile, you should automatically also get pattern "X11" and the base system. Notice that there are several patterns with similar names; patterns-base-minimal_base and patterns_base-base.
So, I don't think there is a bug; it might just be a bit more complicated than expected. Admittedly, the sheer number of patterns and the intricate dependencies between them don't exactly make this easier. But that's the price for the flexibility that those mechanisms provide for so many different user requirements.
BTW of course you can alternatively also use the zypper and the rpm command lines: % rpm -qa "patterns-*" patterns-base-x11-20200505-lp155.10.5.x86_64 patterns-desktop-imaging-20201106-lp155.2.4.x86_64 patterns-devel-C-C++-devel_C_C++-20170319-lp155.4.4.noarch patterns-yast-devel_yast-20220411-lp155.2.4.x86_64 patterns-base-sw_management-20200505-lp155.10.5.x86_64 patterns-xfce-xfce_basis-20230212-lp155.1.4.x86_64 patterns-base-base-20200505-lp155.10.5.x86_64 patterns-xfce-xfce_office-20230212-lp155.1.4.x86_64 patterns-fonts-fonts_opt-20190130-lp155.2.4.x86_64 patterns-yast-yast2_basis-20220411-lp155.2.4.x86_64 patterns-base-apparmor-20200505-lp155.10.5.x86_64 patterns-kde-devel_qt5-20221001-lp155.2.4.noarch patterns-base-basesystem-20200505-lp155.10.5.x86_64 patterns-base-x11_enhanced-20200505-lp155.10.5.x86_64 patterns-devel-base-devel_basis-20170319-lp155.2.4.x86_64 patterns-xfce-xfce-20230212-lp155.1.4.x86_64 patterns-desktop-multimedia-20201106-lp155.2.4.x86_64 patterns-base-enhanced_base-20200505-lp155.10.5.x86_64 patterns-fonts-fonts-20190130-lp155.2.4.x86_64 patterns-base-documentation-20200505-lp155.10.5.x86_64 patterns-devel-ruby-devel_ruby-20170319-lp155.2.4.x86_64 patterns-yast-yast2_desktop-20220411-lp155.2.4.x86_64 patterns-base-minimal_base-20200505-lp155.10.5.x86_64 patterns-yast-x11_yast-20220411-lp155.2.4.x86_64 % rpm -q --requires patterns-xfce-xfce pattern() = x11 pattern() = xfce_basis rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1 % rpm -q --requires patterns-xfce-xfce_basis pattern() = basesystem pattern() = x11 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1 thunar thunar-volman xfce4-appfinder xfce4-notifyd xfce4-panel xfce4-power-manager xfce4-session xfce4-settings xfconf xfdesktop xfwm4
% zypper patterns -i Loading repository data... Reading installed packages... S | Name | Version | Repository | Dependency ---+---------------+---------------------+-----------------+----------- i | apparmor | 20200505-lp155.10.5 | Main Repository | i+ | base | 20200505-lp155.10.5 | Main Repository | i | devel_basis | 20170319-lp155.2.4 | Main Repository | i+ | devel_C_C++ | 20170319-lp155.4.4 | Main Repository | i+ | devel_qt5 | 20221001-lp155.2.4 | Main Repository | i+ | devel_ruby | 20170319-lp155.2.4 | Main Repository | i+ | devel_yast | 20220411-lp155.2.4 | Main Repository | i | documentation | 20200505-lp155.10.5 | Main Repository | i | enhanced_base | 20200505-lp155.10.5 | Main Repository | i | fonts | 20190130-lp155.2.4 | Main Repository | i | imaging | 20201106-lp155.2.4 | Main Repository | i | minimal_base | 20200505-lp155.10.5 | Main Repository | i | multimedia | 20201106-lp155.2.4 | Main Repository | i | sw_management | 20200505-lp155.10.5 | Main Repository | i+ | x11 | 20200505-lp155.10.5 | Main Repository | i+ | x11_yast | 20220411-lp155.2.4 | Main Repository | i+ | xfce | 20230212-lp155.1.4 | Main Repository | i+ | yast2_basis | 20220411-lp155.2.4 | Main Repository | i | yast2_desktop | 20220411-lp155.2.4 | Main Repository | % zypper info --requires -t pattern xfce Loading repository data... Reading installed packages... Information for pattern xfce: ----------------------------- Repository : Main Repository Name : xfce Version : 20230212-lp155.1.4 Arch : x86_64 Vendor : openSUSE Installed : Yes Visible to User : Yes Summary : XFCE Desktop Environment Description : Xfce is a lightweight desktop environment for various *NIX systems. Requires : patterns-xfce-xfce = 20230212-lp155.1.4 Contents : S | Name | Type | Dependency ---+------------------------------+---------+------------ i+ | patterns-base-x11 | package | Required i+ | patterns-xfce-xfce | package | Required i | patterns-xfce-xfce_basis | package | Required i | MozillaThunderbird | package | Recommended i | blueman | package | Recommended i | evince | package | Recommended i | file-roller | package | Recommended i | galculator | package | Recommended i | gcr-ssh-askpass | package | Recommended i | gdb | package | Recommended i | gnome-disk-utility | package | Recommended i | gnome-keyring | package | Recommended i | gnome-keyring-pam | package | Recommended i | gnome-packagekit | package | Recommended i | gucharmap | package | Recommended i | gutenprint | package | Recommended i | lightdm | package | Recommended i | lightdm-gtk-greeter | package | Recommended i | lightdm-gtk-greeter-settings | package | Recommended i | menulibre | package | Recommended i | mousepad | package | Recommended i | mugshot | package | Recommended i | opensuse-welcome | package | Recommended | package-update-indicator | package | Recommended i | parole | package | Recommended i | patterns-desktop-imaging | package | Recommended i | patterns-desktop-multimedia | package | Recommended i | patterns-xfce-xfce_office | package | Recommended i | pidgin | package | Recommended i | pragha | package | Recommended i | remmina | package | Recommended i | remmina-plugin-rdp | package | Recommended i | remmina-plugin-vnc | package | Recommended i | remmina-plugin-xdmcp | package | Recommended i | ristretto | package | Recommended i | samba | package | Recommended i | seahorse | package | Recommended i | shotwell | package | Recommended i | simple-scan | package | Recommended i | system-config-printer | package | Recommended i | system-config-printer-applet | package | Recommended i | thunar-plugin-archive | package | Recommended i | thunar-plugin-media-tags | package | Recommended i | thunar-sendto-blueman | package | Recommended i | thunar-volman | package | Recommended i | transmission-gtk | package | Recommended i | tumbler | package | Recommended i | xfce4-dict | package | Recommended i | xfce4-panel-profiles | package | Recommended i | xfce4-screenshooter | package | Recommended i | xfce4-taskmanager | package | Recommended