Bug 1213413 - "base" pattern missing in SLE vs openSUSE
Summary: "base" pattern missing in SLE vs openSUSE
Status: RESOLVED WORKSFORME
Alias: None
Product: openSUSE Distribution
Classification: openSUSE
Component: AutoYaST (show other bugs)
Version: Leap 15.5
Hardware: Other Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: E-mail List
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-07-18 07:14 UTC by Karl Vanden Bogaert
Modified: 2023-07-18 13:01 UTC (History)
1 user (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
Patterns on an installed Leap 15.5 (230.09 KB, image/png)
2023-07-18 12:50 UTC, Stefan Hundhammer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Karl Vanden Bogaert 2023-07-18 07:14:49 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...
Comment 1 Stefan Hundhammer 2023-07-18 07:17:47 UTC
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.
Comment 2 Stefan Hundhammer 2023-07-18 07:27:55 UTC
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?
Comment 3 Stefan Hundhammer 2023-07-18 12:41:40 UTC
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.
Comment 4 Stefan Hundhammer 2023-07-18 12:50:49 UTC
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.
Comment 5 Stefan Hundhammer 2023-07-18 12:53:17 UTC
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.
Comment 6 Stefan Hundhammer 2023-07-18 12:56:09 UTC
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
Comment 7 Stefan Hundhammer 2023-07-18 13:01:17 UTC
% 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