0

Debian Stretch; apt 1.4.11

$ apt-cache rdepends --installed libgstreamer-plugins-bad1.0-0
libgstreamer-plugins-bad1.0-0
Reverse Depends:
  libwebkit2gtk-4.0-37
  libwebkit2gtk-4.0-37

Any idea why the libwebkit2gtk-4.0-37 package is showing up twice here? I get similar results from Aptitude:

  --\ Packages which depend on libgstreamer-plugins-bad1.0-0 (12)
    --\ Depends (12)
p     gir1.2-gst-plugins-bad-1.0 1.10.4-1
p     gir1.2-gst-plugins-bad-1.0 1.10.4-1
p     gir1.2-gst-plugins-bad-1.0 1.10.4-1+deb9u
p     gir1.2-gst-plugins-bad-1.0 1.10.4-1+deb9u
p     gstreamer1.0-plugins-bad 1.10.4-1+deb9u2
p     gstreamer1.0-vaapi 1.10.4-1+b1
p     gstreamer1.0-vaapi 1.10.4-1+b1
p     libgstreamer-plugins-bad1.0-dev 1.10.4-1+
i A   libwebkit2gtk-4.0-37 2.18.6-1~deb9u1
i A   libwebkit2gtk-4.0-37 2.18.6-1~deb9u1
p     libwebkit2gtk-4.0-37-gtk2 2.18.6-1~deb9u1
p     libwebkit2gtk-4.0-37-gtk2 2.18.6-1~deb9u1

FYI, the equivalent Aptitude command line query does *not* exhibit the same behavior:

$ aptitude search ~Dlibgstreamer-plugins-bad1.0-0
p   gir1.2-gst-plugins-bad-1.0                                             - GObject introspection data for the GStreamer libraries from the "bad" set        
p   gstreamer1.0-plugins-bad                                               - GStreamer plugins from the "bad" set                                             
p   gstreamer1.0-vaapi                                                     - VA-API plugins for GStreamer                                                     
p   libgstreamer-plugins-bad1.0-dev                                        - GStreamer development files for libraries from the "bad" set                     
i A libwebkit2gtk-4.0-37                                                   - Web content engine library for GTK+                                              
p   libwebkit2gtk-4.0-37-gtk2                                              - Web content engine library for GTK+ - GTK+2 plugin process

While I've found several references to an apt bug (one here), I've seen nothing that specifically mentions what I am seeing.

Any ideas as to what is causing duplicate packages references to appear? .

UPDATE AFTER MULLING OVER EduardoTrápani's EXCELLENT ANSWER (BELOW):

$ apt list -a libgstreamer-plugins-bad1.0-0
Listing... Done
libgstreamer-plugins-bad1.0-0/oldoldstable,now 1.10.4-1+deb9u2 amd64 [installed,automatic]
libgstreamer-plugins-bad1.0-0/oldoldstable 1.10.4-1 amd64

Also:

$ apt rdepends --installed libgstreamer-plugins-bad1.0-0
libgstreamer-plugins-bad1.0-0
Reverse Depends:
  Depends: libwebkit2gtk-4.0-37 (<< 1.10.5)
  Depends: libwebkit2gtk-4.0-37 (>= 1.10.4)

Since my installed version of libgstreamer-plugins-bad1.0-0 is 1.10.4-1+deb9u2, it satisfies BOTH version conditions stated in the output of said apt rdepends --installed libgstreamer-plugins-bad1.0-0 command. Perhaps that is why Aptitude reported said package twice (above).

12
  • Please don't post pictures of text. Commented Dec 28, 2021 at 21:07
  • @EduardoTrápani Aptitude is a GUI app and I'm unable to block copy text from it...
    – Digger
    Commented Dec 28, 2021 at 21:09
  • That's just a front-end, you could run aptitude from the command line, just like you ran apt-cache for example. Commented Dec 28, 2021 at 21:19
  • 1
    To copy from aptitude, hold down the Shift key while you click and drag. Commented Dec 28, 2021 at 22:10
  • 1
    @Digger right, you need a terminal which supports explicit copying; xterm doesn’t, I don’t know about the Xfce terminal. You don’t actually need to copy; after selecting with Shift, you can middle-click elsewhere to paste the selected text. Commented Dec 29, 2021 at 21:55

1 Answer 1

4

By default this command

$ apt-cache rdepends --installed libgstreamer-plugins-bad1.0-0

will list all the types of dependencies. That means that a package that specifies both a Depends and Breaks will be listed twice.

You might be able to avoid that by asking apt-cache to list only the --important dependencies. The man page states that that's equivalent to: --no-pre-depends, --no-depends, --no-recommends, --no-suggests, --no-conflicts, --no-breaks, --no-replaces, --no-enhances. But if the package has more than one --important dependency on a single package, that package will still be listed more than once.

$ apt-cache rdepends --installed --important libgstreamer-plugins-bad1.0-0

My recommendation though is to use the much simpler and better suited for human use:

apt rdepends --installed libgstreamer-plugins-bad1.0-0

That will tell you exactly why each package is there, with version numbers and all.

4
  • 2
    I find aptitude why to be even more useful than --installed ;-). Commented Dec 28, 2021 at 22:11
  • Eduardo, apt-cache rdepends --installed --important libgstreamer-plugins-bad1.0-0 outputs the libwebkit2gtk-4.0-37 package twice. apt rdepends --installed libgstreamer-plugins-bad1.0-0 yields Depends: libwebkit2gtk-4.0-37 (<< 1.10.5) and Depends: libwebkit2gtk-4.0-37 (>= 1.10.4). FYI, apt list libwebkit2gtk-4.0-37 yields libwebkit2gtk-4.0-37/oldoldstable,now 2.18.6-1~deb9u1 amd64 [installed,automatic]
    – Digger
    Commented Dec 29, 2021 at 21:47
  • 1
    Ah, that's because there are two independent Depends entries. --important does not remove duplicates, it removes the listed categories of dependencies. If there are multiple entries belonging to `--important' they will be still listed multiple times. I fixed the answer. Commented Dec 30, 2021 at 0:09
  • sounds like apt-cache rdepends needs to get fixed to remove showing duplicates Commented May 4, 2023 at 22:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .