Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Find out why a certain package is installed?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
midnite
Guru
Guru


Joined: 09 Apr 2006
Posts: 448
Location: Hong Kong

PostPosted: Mon Nov 11, 2024 9:52 am    Post subject: Find out why a certain package is installed? Reply with quote

How to find out which package in @world (or in profile, or which use flag?) caused the installation of a certain package?

equery depends elogind lists only depth of 1, which is usually not helpful.

equery depends --indirect elogind produces too verbose result.

ref - https://wiki.gentoo.org/wiki/Equery#Listing_all_packages_depending_on_a_package_with_depends_.28d.29

In short, any programs to show only items in @world within the output of equery depends --indirect elogind? (Probably using equery depends --indirect elogind | grep -e 'A\|B\|C' ?)

For example, A, B, C are packages in @world. And A depends on X depends on Y depends on Z depends on elogind. Assume that no other packages depend on elogind. The desired output is:
Code:
 * These packages depend on elogind:
sys-auth/elogind-255.5
  `--  Z
    `--  Y
      `--  X
        `--  A


Or simply list out only A:
Code:
 * These packages intentionally installed depend on elogind:
sys-auth/elogind-255.5
        `--  A


In another words, if A is removed from @world, emerge --depclean will remove elogind.
_________________
- midnite.
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2418

PostPosted: Mon Nov 11, 2024 10:03 am    Post subject: Reply with quote

Elogind is most certainly part of your profile.

You selected an openrc profile, and you also installed Gnome or KDE or something else that needs seat management or maybe you just selected an openrc/desktop profile.

Post your emerge --info

No there are no such programs. You can use emerge -pvc <package> to see what pulls it in, but you won't see a tree of dependencies, only the things directly depending on it.

Best regards,
Georgi
Back to top
View user's profile Send private message
midnite
Guru
Guru


Joined: 09 Apr 2006
Posts: 448
Location: Hong Kong

PostPosted: Mon Nov 11, 2024 10:20 am    Post subject: Reply with quote

logrusx,

Thanks for reply.

Yes I am using default/linux/amd64/23.0/desktop/plasma profile. I am curious why elogind was pulled in before I install KDE.

Moreover, elogind is just an example. I would like to use equery depends --indirect <package> output more effectively.
_________________
- midnite.
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2418

PostPosted: Mon Nov 11, 2024 10:27 am    Post subject: Reply with quote

You can't use plasma without systemd or elogind. That's why when you select a plasma profile, it'll include either systemd or elogind.

There's no such program you're asking for. You can use equery depgraph and then follow the chain. Have in mind equery will not tell you what is effectively installed, it'll just look at the ebuild and spit all dependencies, no matter if they are conditional or not. You have to check it for yourself.

Another tool that may be useful is revdep-rebuild --library <path to a library> --pretend. This will give you a list of reverse dependencies for a library.

However I think you're trying to solve something backwards or a problem that isn't there.

Can you rephrase what's the issue you're trying to solve. I understand there's some genuine interest here, but what's the particular occasion you're trying to find this out?

Best Regards,
Georgi
Back to top
View user's profile Send private message
GDH-gentoo
Veteran
Veteran


Joined: 20 Jul 2019
Posts: 1699
Location: South America

PostPosted: Mon Nov 11, 2024 12:57 pm    Post subject: Reply with quote

logrusx wrote:
There's no such program you're asking for.

I can't think of any either, but the output of emerge --pretend --depclean --verbose (usually saved to a file for easy reading) tells me everything I want to know about installed packages.
_________________
NeddySeagoon wrote:
I'm not a witch, I'm a retired electronics engineer :)
Ionen wrote:
As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though :)
Back to top
View user's profile Send private message
Zucca
Moderator
Moderator


Joined: 14 Jun 2007
Posts: 3698
Location: Rasi, Finland

PostPosted: Mon Nov 11, 2024 1:38 pm    Post subject: Re: Find out why a certain package is installed? Reply with quote

midnite wrote:
equery depends --indirect elogind produces too verbose result.
What if you specify format?
Code:
equery d -F '=$cpv' media-libs/libsdl2 | awk '(!seen[$1]++)'
(awk there is to remove duplicates, without changing order.)
_________________
..: Zucca :..

My gentoo installs:
init=/sbin/openrc-init
-systemd -logind -elogind seatd

Quote:
I am NaN! I am a man!
Back to top
View user's profile Send private message
midnite
Guru
Guru


Joined: 09 Apr 2006
Posts: 448
Location: Hong Kong

PostPosted: Mon Nov 11, 2024 1:43 pm    Post subject: Reply with quote

Thanks all!

AFAIK equery depends --indirect <package> seems to be the only program with reverse dependency search.

I am trying to understand the output of equery --no-color --no-pipe depends --indirect elogind | tee /tmp/equery.elogind.output

/tmp/equery.elogind.output:
 * These packages depend on elogind:
dev-libs/libei-1.2.1 (elogind ? >=sys-auth/elogind-237)
                     (elogind ? >=sys-auth/elogind-237)
 kde-plasma/kwin-6.1.5 (dev-libs/libei)
                       (dev-libs/libei)
  kde-plasma/plasma-desktop-6.1.5-r1 (>=kde-plasma/kwin-6.1.5:6)
                                     (>=kde-plasma/kwin-6.1.5:6)
   kde-plasma/plasma-meta-6.1.5 (>=kde-plasma/plasma-desktop-6.1.5:6)
                               (>=kde-plasma/kwin-6.1.5:6[lock])
  kde-plasma/plasma-workspace-6.1.5-r3 (>=kde-plasma/kwin-6.1.5:6)
                                       (>=kde-plasma/kwin-6.1.5:6)
   kde-plasma/plasma-browser-integration-6.1.5 (>=kde-plasma/plasma-workspace-6.1.5:6)
                                               (>=kde-plasma/plasma-workspace-6.1.5:6)
    kde-plasma/plasma-meta-6.1.5 (browser-integration ? >=kde-plasma/plasma-browser-integration-6.1.5:6)
   kde-plasma/plasma-desktop-6.1.5-r1 (>=kde-plasma/plasma-workspace-6.1.5:6[screencast?])
                                      (>=kde-plasma/plasma-workspace-6.1.5:6[screencast?])
...
...
sys-fs/udisks-2.10.1 (elogind ? >=sys-auth/elogind-219)
                     (elogind ? >=sys-auth/elogind-219)
sys-process/procps-4.0.4-r1 (elogind ? sys-auth/elogind)
                            (elogind ? sys-auth/elogind)
x11-base/xorg-server-21.1.13-r1 (elogind ? sys-auth/elogind[pam])
                                (elogind ? sys-auth/elogind[pam])
x11-misc/sddm-0.21.0_p20240723-r10 (elogind ? sys-auth/elogind[pam])
                                   (elogind ? sys-auth/elogind[pam])


I thought the end of the output is the "root source" of dependency. It turns out it is not. I did not have x11-misc/sddm in @world.

Yet if I filter all the "sddm" lines, I can see why sddm is pulled in, and thus sddm is one of the packages who pulled in elogind.

grep -e sddm /tmp/equery.elogind.output | less:
            kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/knewstuff-6.5.0:6)
             kde-plasma/plasma-meta-6.1.5 (sddm ? >=kde-plasma/sddm-kcm-6.1.5:6)
               kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kcmutils-6.5.0:6)
                     kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/knewstuff-6.5.0:6)
                 kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kio-6.5.0:6)
              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kauth-6.5.0:6)
              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kauth-6.5.0:6)
                                                    x11-misc/sddm-0.21.0_p20240723-r10 (elogind ? sys-power/upower)
                                                     kde-plasma/plasma-meta-6.1.5 (sddm ? >=x11-misc/sddm-0.21.0_p20240302[elogind?,systemd?])
                                                     kde-plasma/sddm-kcm-6.1.5 (x11-misc/sddm)
                                                                           kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kservice-6.5.0:6)
                                                                                kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kservice-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/karchive-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/karchive-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kconfig-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kconfig-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kcoreaddons-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/ki18n-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/ki18n-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kirigami-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kirigami-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kitemmodels-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kwidgetsaddons-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kwidgetsaddons-6.5.0:6)
                                                                             kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kf-env-6)
                                                                          kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kcoreaddons-6.5.0:6)
                                                                           kde-plasma/sddm-kcm-6.1.5 (kde-frameworks/breeze-icons)
                                                                          kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/extra-cmake-modules-6.5.0)
                                                                          x11-misc/sddm-0.21.0_p20240723-r10 (kde-frameworks/extra-cmake-modules:0)
                                                                         x11-misc/sddm-0.21.0_p20240723-r10 (>=dev-qt/qttools-6.7.2[linguist])
                                                                        kde-plasma/sddm-kcm-6.1.5 (>=dev-qt/qtdeclarative-6.7.2:6[widgets])
                                                                        x11-misc/sddm-0.21.0_p20240723-r10 (>=dev-qt/qtdeclarative-6.7.2:6)
                                                                           kde-plasma/sddm-kcm-6.1.5 (>=dev-qt/qtdeclarative-6.7.2:6[widgets])
                                                                           x11-misc/sddm-0.21.0_p20240723-r10 (>=dev-qt/qtdeclarative-6.7.2:6)
                                                                                                        kde-plasma/sddm-kcm-6.1.5 (dev-util/desktop-file-utils)
                                                                                                              x11-misc/sddm-0.21.0_p20240723-r10 (x11-libs/libxcb)
                                                                                                             kde-plasma/sddm-kcm-6.1.5 (x11-misc/shared-mime-info)
                                                                                                           kde-plasma/sddm-kcm-6.1.5 (dev-libs/libpcre2)
                                                                                                   x11-misc/sddm-0.21.0_p20240723-r10 (!systemd ? gui-libs/display-manager-init)
                                                                                       kde-plasma/sddm-kcm-6.1.5 (app-alternatives/ninja)
                                                                                       x11-misc/sddm-0.21.0_p20240723-r10 (app-alternatives/ninja)
                                                                     kde-plasma/sddm-kcm-6.1.5 (>=dev-build/cmake-3.20.5)
                                                                     x11-misc/sddm-0.21.0_p20240723-r10 (>=dev-build/cmake-3.25.0)
                                                           x11-misc/sddm-0.21.0_p20240723-r10 (sys-libs/pam)
                                                  x11-misc/sddm-0.21.0_p20240723-r10 (virtual/tmpfiles)
                                         kde-plasma/sddm-kcm-6.1.5 (>=dev-qt/qtbase-6.7.2:6[gui,widgets])
                                         x11-misc/sddm-0.21.0_p20240723-r10 (>=dev-qt/qtbase-6.7.2:6[dbus,gui,network])
                                 x11-misc/sddm-0.21.0_p20240723-r10 (dev-python/docutils)
                               x11-misc/sddm-0.21.0_p20240723-r10 (X ? x11-base/xorg-server)
               x11-misc/sddm-0.21.0_p20240723-r10 (elogind ? sys-auth/elogind[pam])
           kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kcmutils-6.5.0:6)
          kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kio-6.5.0:6)
x11-misc/sddm-0.21.0_p20240723-r10 (elogind ? sys-auth/elogind[pam])


Note the 9th line, kde-plasma/plasma-meta-6.1.5 (sddm ? >=x11-misc/sddm-0.21.0_p20240302[elogind?,systemd?]). I have kde-plasma/plasma-meta in @world. It pulled in sddm.

I guess it is because sddm dependency is already outputted (e.g. at line 8 <-- line 9), equery does not repeat it again at the last line. Otherwise the output will be even more lengthy.

It becomes tricky now. How can I find out all the "root source" packages? I thought the most indented lines are the "root source" packages. From the above "sddm" example, kde-plasma/plasma-meta is not on the most indented line.

Why I raised this question because I would like to find out "Why a certain package (not in @world but) appears in my system?" Or in another words, if I remove all the dependencies (e.g. plasma-meta, and others) from @world, followed by emerge -av --deep --depclean will remove the target package (e.g. elogind).

To be honest this is mostly out of curiosity of how portage dependency works. But this question will become practical when we want to get rid of a certain package (which is not in @world) "nicely" (not by brute force using --unmerge).
_________________
- midnite.
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2418

PostPosted: Mon Nov 11, 2024 2:09 pm    Post subject: Reply with quote

midnite wrote:

I thought the end of the output is the "root source" of dependency. It turns out it is not. I did not have x11-misc/sddm in @world.


I told you already, equery doesn't check whether a dependency is actually installed. It doesn't care about use flags, it'll just spit out every dependency it can find in an ebuild, without checking if the necessary conditions for that dependency to be installed actually take place.

midnite wrote:
Yet if I filter all the "sddm" lines, I can see why sddm is pulled in, and thus sddm is one of the packages who pulled in elogind.

grep -e sddm /tmp/equery.elogind.output | less:
            kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/knewstuff-6.5.0:6)
             kde-plasma/plasma-meta-6.1.5 (sddm ? >=kde-plasma/sddm-kcm-6.1.5:6)
               kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kcmutils-6.5.0:6)
                     kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/knewstuff-6.5.0:6)
                 kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kio-6.5.0:6)
              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kauth-6.5.0:6)
              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kauth-6.5.0:6)
                                                    x11-misc/sddm-0.21.0_p20240723-r10 (elogind ? sys-power/upower)
                                                     kde-plasma/plasma-meta-6.1.5 (sddm ? >=x11-misc/sddm-0.21.0_p20240302[elogind?,systemd?])
                                                     kde-plasma/sddm-kcm-6.1.5 (x11-misc/sddm)
                                                                           kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kservice-6.5.0:6)
                                                                                kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kservice-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/karchive-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/karchive-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kconfig-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kconfig-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kcoreaddons-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/ki18n-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/ki18n-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kirigami-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kirigami-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kitemmodels-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kwidgetsaddons-6.5.0:6)
                                                                              kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kwidgetsaddons-6.5.0:6)
                                                                             kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kf-env-6)
                                                                          kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kcoreaddons-6.5.0:6)
                                                                           kde-plasma/sddm-kcm-6.1.5 (kde-frameworks/breeze-icons)
                                                                          kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/extra-cmake-modules-6.5.0)
                                                                          x11-misc/sddm-0.21.0_p20240723-r10 (kde-frameworks/extra-cmake-modules:0)
                                                                         x11-misc/sddm-0.21.0_p20240723-r10 (>=dev-qt/qttools-6.7.2[linguist])
                                                                        kde-plasma/sddm-kcm-6.1.5 (>=dev-qt/qtdeclarative-6.7.2:6[widgets])
                                                                        x11-misc/sddm-0.21.0_p20240723-r10 (>=dev-qt/qtdeclarative-6.7.2:6)
                                                                           kde-plasma/sddm-kcm-6.1.5 (>=dev-qt/qtdeclarative-6.7.2:6[widgets])
                                                                           x11-misc/sddm-0.21.0_p20240723-r10 (>=dev-qt/qtdeclarative-6.7.2:6)
                                                                                                        kde-plasma/sddm-kcm-6.1.5 (dev-util/desktop-file-utils)
                                                                                                              x11-misc/sddm-0.21.0_p20240723-r10 (x11-libs/libxcb)
                                                                                                             kde-plasma/sddm-kcm-6.1.5 (x11-misc/shared-mime-info)
                                                                                                           kde-plasma/sddm-kcm-6.1.5 (dev-libs/libpcre2)
                                                                                                   x11-misc/sddm-0.21.0_p20240723-r10 (!systemd ? gui-libs/display-manager-init)
                                                                                       kde-plasma/sddm-kcm-6.1.5 (app-alternatives/ninja)
                                                                                       x11-misc/sddm-0.21.0_p20240723-r10 (app-alternatives/ninja)
                                                                     kde-plasma/sddm-kcm-6.1.5 (>=dev-build/cmake-3.20.5)
                                                                     x11-misc/sddm-0.21.0_p20240723-r10 (>=dev-build/cmake-3.25.0)
                                                           x11-misc/sddm-0.21.0_p20240723-r10 (sys-libs/pam)
                                                  x11-misc/sddm-0.21.0_p20240723-r10 (virtual/tmpfiles)
                                         kde-plasma/sddm-kcm-6.1.5 (>=dev-qt/qtbase-6.7.2:6[gui,widgets])
                                         x11-misc/sddm-0.21.0_p20240723-r10 (>=dev-qt/qtbase-6.7.2:6[dbus,gui,network])
                                 x11-misc/sddm-0.21.0_p20240723-r10 (dev-python/docutils)
                               x11-misc/sddm-0.21.0_p20240723-r10 (X ? x11-base/xorg-server)
               x11-misc/sddm-0.21.0_p20240723-r10 (elogind ? sys-auth/elogind[pam])
           kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kcmutils-6.5.0:6)
          kde-plasma/sddm-kcm-6.1.5 (>=kde-frameworks/kio-6.5.0:6)
x11-misc/sddm-0.21.0_p20240723-r10 (elogind ? sys-auth/elogind[pam])


Note the 9th line, kde-plasma/plasma-meta-6.1.5 (sddm ? >=x11-misc/sddm-0.21.0_p20240302[elogind?,systemd?]). I have kde-plasma/plasma-meta in @world. It pulled in sddm.

I guess it is because sddm dependency is already outputted (e.g. at line 8 <-- line 9), equery does not repeat it again at the last line. Otherwise the output will be even more lengthy.

It becomes tricky now. How can I find out all the "root source" packages? I thought the most indented lines are the "root source" packages. From the above "sddm" example, kde-plasma/plasma-meta is not on the most indented line.

Why I raised this question because I would like to find out "Why a certain package (not in @world but) appears in my system?" Or in another words, if I remove all the dependencies (e.g. plasma-meta, and others) from @world, followed by emerge -av --deep --depclean will remove the target package (e.g. elogind).

To be honest this is mostly out of curiosity of how portage dependency works. But this question will become practical when we want to get rid of a certain package (which is not in @world) "nicely" (not by brute force using --unmerge).


There can be multiple packages that pull in a particular dependency. The dependency graph is a DAG which stands for directed acyclic graph. Acyclic grap is a graph that has a topological order which means there is an order of vertices for which for every edge v->w v comes before w. Such an order is what allows packages to be ordered in a an order that respects their dependencies and can be build properly. Acyclic graphs can have multiple sources (vertices that have no inbound edges) and multiple sinks (vertices that have no outbound edges) therefore multiple sources can lead to the same package.

The way I do it is with multiple equery depends and equery list queries to to follow the path and see what are those sources. Obviously if equery list does not return results for something, I abandon that path as this dependency does not take place on my system. As I said equery doesn't check those.

I'm not sure how exactly portage organizes the graph and if the packages in world are sources or syncs, but the idea is the same, no mater the direction of the graph.

This general idea alone can help you figure out a lot of things in a lot of situations or at least give you a direction.

Use flags only add conditional edges, depending on your package.use or what's the default in the ebuilds. Not all use flags do so though, some may enable other settings that do not depend on other libraries outside of the package.

Best Regards,
Georgi
Back to top
View user's profile Send private message
Zucca
Moderator
Moderator


Joined: 14 Jun 2007
Posts: 3698
Location: Rasi, Finland

PostPosted: Mon Nov 11, 2024 2:16 pm    Post subject: Reply with quote

logrusx wrote:
I told you already, equery doesn't check whether a dependency is actually installed.
qlist -I to the rescue?
Code:
equery d -F '=$cpv' media-libs/libsdl2 | awk '(!seen[$1]++)' | xargs qlist -vI

_________________
..: Zucca :..

My gentoo installs:
init=/sbin/openrc-init
-systemd -logind -elogind seatd

Quote:
I am NaN! I am a man!
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2418

PostPosted: Mon Nov 11, 2024 2:35 pm    Post subject: Reply with quote

Zucca wrote:
logrusx wrote:
I told you already, equery doesn't check whether a dependency is actually installed.
qlist -I to the rescue?
Code:
equery d -F '=$cpv' media-libs/libsdl2 | awk '(!seen[$1]++)' | xargs qlist -vI


Inspect the raw output for mpv. I have none of the use flags that bring in libsdl2 enabled on mpv and yet it's displayed.

Best Regards,
Georgi
Back to top
View user's profile Send private message
GDH-gentoo
Veteran
Veteran


Joined: 20 Jul 2019
Posts: 1699
Location: South America

PostPosted: Mon Nov 11, 2024 3:17 pm    Post subject: Reply with quote

What you seem to call "the root source packages" are the ones shown in lines that start with "@system requires" or "@selected requires" in the (possibly saved) output of emerge --pretend --depclean --verbose. I really can't recommend this command enough.
_________________
NeddySeagoon wrote:
I'm not a witch, I'm a retired electronics engineer :)
Ionen wrote:
As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though :)
Back to top
View user's profile Send private message
Zucca
Moderator
Moderator


Joined: 14 Jun 2007
Posts: 3698
Location: Rasi, Finland

PostPosted: Mon Nov 11, 2024 3:44 pm    Post subject: Reply with quote

logrusx wrote:
and yet it's displayed.
Hm. Ah yes. There's a flaw in that if a package is being pulled in (installed) by some other package, then it'll be displayed.
_________________
..: Zucca :..

My gentoo installs:
init=/sbin/openrc-init
-systemd -logind -elogind seatd

Quote:
I am NaN! I am a man!
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2418

PostPosted: Mon Nov 11, 2024 3:50 pm    Post subject: Reply with quote

Zucca wrote:
logrusx wrote:
and yet it's displayed.
Hm. Ah yes. There's a flaw in that if a package is being pulled in (installed) by some other package, then it'll be displayed.


Ah, that's not a bug but side effect :)

Best Regards,
Georgi
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum