On Mon, Mar 1, 2021 at 7:18 AM Andras Simon <szajmi@gmail.com> wrote:
Just out of curiosity: if package B depends on A, shown by the that
removing A removes B, too, how come that after removing both, B can be
installed without installing A?
Here's what happened:


# dnf erase kernel-debug-*
Dependencies resolved.
================================================================================
 Package                       Arch      Version              Repository   Size
================================================================================
Removing:
 kernel-debug-core             x86_64    5.10.8-100.fc32      @updates     77 M
 kernel-debug-core             x86_64    5.10.17-100.fc32     @updates     77 M
 kernel-debug-core             x86_64    5.10.18-100.fc32     @updates     77 M
 kernel-debug-modules          x86_64    5.10.8-100.fc32      @updates     31 M
 kernel-debug-modules          x86_64    5.10.17-100.fc32     @updates     31 M
 kernel-debug-modules          x86_64    5.10.18-100.fc32     @updates     31 M
 kernel-debug-modules-extra    x86_64    5.10.8-100.fc32      @updates    2.0 M
 kernel-debug-modules-extra    x86_64    5.10.17-100.fc32     @updates    2.0 M
 kernel-debug-modules-extra    x86_64    5.10.18-100.fc32     @updates    2.0 M
Removing dependent packages:
 NetworkManager-l2tp           x86_64    1.8.2-1.fc32         @fedora     579 k
Removing unused dependencies:
 ldns                          x86_64    1.7.0-29.fc32        @fedora     425 k
 libreswan                     x86_64    4.2-1.fc32           @updates    4.3 M
 nss-tools                     x86_64    3.60.1-1.fc32        @updates    2.3 M
 xl2tpd                        x86_64    1.3.14-2.fc32        @fedora     205 k

Transaction Summary
================================================================================
Remove  14 Packages

Freed space: 335 M
Is this ok [y/N]: y

[...]
dnf install NetworkManager-l2tp
Last metadata expiration check: 1:08:42 ago on Mon 01 Mar 2021 12:48:36 PM CET.
Dependencies resolved.
================================================================================
 Package                   Arch        Version               Repository    Size
================================================================================
Installing:
 NetworkManager-l2tp       x86_64      1.8.2-1.fc32          fedora       174 k
Installing dependencies:
 kernel-modules-extra      x86_64      5.10.18-100.fc32      updates      2.0 M
 ldns                      x86_64      1.7.0-29.fc32         fedora       165 k
 nss-tools                 x86_64      3.60.1-1.fc32         updates      529 k
 xl2tpd                    x86_64      1.3.14-2.fc32         fedora        95 k
Installing weak dependencies:
 libreswan                 x86_64      4.2-1.fc32            updates      1.2 M

Transaction Summary
================================================================================
Install  6 Packages


Total download size: 4.1 M
Installed size: 9.8 M
Is this ok [y/N]: y

The NetworkManager-l2tp package depends on xl2tpd, which depends on kmod(l2tp_ppp.ko).

$ dnf repoquery --whatprovides 'kmod(l2tp_ppp.ko)'
kernel-debug-modules-extra-0:5.10.18-200.fc33.x86_64
kernel-modules-extra-0:5.10.18-200.fc33.x86_64

When you removed kernel-debug-modules-extra, your system did not have kernel-modules-extra installed, leaving it with no packages providing kmod(l2tp_ppp.ko).  Therefore, xl2tpd had to be removed, which in turn required the removal of NetworkManager-l2tp.

When you reinstalled NetworkManager-l2tp, its dependency on xl2tpd required something providing kmod(l2tp_ppp.ko) to be installed.  Of the two packages that provide kmod(l2tp_ppp.ko), kernel-modules-extra has the shorter name, so it was installed to satisfy the dependency.  (Yum, at least, used the "shorter name" rule.  I'm just guessing that dnf does likewise.)
--
Jerry James
http://www.jamezone.org/