Search for packages in the repository that depend on some package (reverse dependency search)

How can I find all packages in a certain repository, like Tumbleweed/Oss, that depend on a certain package, like tinyxml?

zypper search --requires-pkg
man zypper
1 Like

First, there is no package tinyxml :wink:

$ sudo zypper se tinyxml

S  | Name           | Summary                           | Type
---+----------------+-----------------------------------+--------
   | libtinyxml0    | A simple, small, C++ XML parser   | package
   | libtinyxml2-10 | Basic XML parser in C++           | package
   | tinyxml-devel  | Development files for libtinyxml  | package
   | tinyxml-docs   | Documentaqtion for libtinyxml     | package
   | tinyxml2-devel | Development files for libtinyxml2 | package

For the remainder see:

Probably solution 3 is what you want.

Thank you!
Missed the --requires-pkg parameter in the se command.
sudo zypper ref && zypper se -s --requires-pkg tinyxml

You most likely have Leap, since Tumbleweed has both tinyxml and it has dependencies too.

S  | Name                                        | Type  | Version                | Arch   | Repository
---+---------------------------------------------+-------+------------------------+--------+-----------
   | encfs                                       | ΠΏΠ°ΠΊΠ΅Ρ‚ | 1.9.5-2.25             | x86_64 | Oss
   | gource                                      | ΠΏΠ°ΠΊΠ΅Ρ‚ | 0.55-1.5               | x86_64 | Oss
   | gromox                                      | ΠΏΠ°ΠΊΠ΅Ρ‚ | 2.43-1.2               | x86_64 | Oss
   | kodi                                        | ΠΏΠ°ΠΊΠ΅Ρ‚ | 21.2-1699.13.pm.1      | x86_64 | Packman
   | kodi.binary-addons-imagedecoder.mpo         | ΠΏΠ°ΠΊΠ΅Ρ‚ | 21.2-1699.2.pm.7       | x86_64 | Packman
   | kodi.binary-addons-pvr.demo                 | ΠΏΠ°ΠΊΠ΅Ρ‚ | 21.2-1699.2.pm.7       | x86_64 | Packman
   | kodi.binary-addons-pvr.dvblink              | ΠΏΠ°ΠΊΠ΅Ρ‚ | 21.2-1699.2.pm.7       | x86_64 | Packman
   | kodi.binary-addons-pvr.dvbviewer            | ΠΏΠ°ΠΊΠ΅Ρ‚ | 21.2-1699.2.pm.7       | x86_64 | Packman
   | kodi.binary-addons-pvr.mediaportal.tvserver | ΠΏΠ°ΠΊΠ΅Ρ‚ | 21.2-1699.2.pm.7       | x86_64 | Packman
   | kodi.binary-addons-pvr.nextpvr              | ΠΏΠ°ΠΊΠ΅Ρ‚ | 21.2-1699.2.pm.7       | x86_64 | Packman
   | kodi.binary-addons-pvr.njoy                 | ΠΏΠ°ΠΊΠ΅Ρ‚ | 21.2-1699.2.pm.7       | x86_64 | Packman
   | kodi.binary-addons-pvr.vbox                 | ΠΏΠ°ΠΊΠ΅Ρ‚ | 21.2-1699.2.pm.7       | x86_64 | Packman
   | kodi.binary-addons-pvr.vuplus               | ΠΏΠ°ΠΊΠ΅Ρ‚ | 21.2-1699.2.pm.7       | x86_64 | Packman
   | kodi.binary-addons-vfs.rar                  | ΠΏΠ°ΠΊΠ΅Ρ‚ | 21.2-1699.2.pm.7       | x86_64 | Packman
   | libBulletXmlWorldImporter3_17               | ΠΏΠ°ΠΊΠ΅Ρ‚ | 3.17-2.5               | x86_64 | Oss
   | libCSXCAD0                                  | ΠΏΠ°ΠΊΠ΅Ρ‚ | 0.6.3-1.7              | x86_64 | Oss
   | libfife0_4_2                                | ΠΏΠ°ΠΊΠ΅Ρ‚ | 0.4.2-8.5              | x86_64 | Oss
   | libnf2ff0                                   | ΠΏΠ°ΠΊΠ΅Ρ‚ | 0.0.36-2.8             | x86_64 | Oss
   | libopenEMS0                                 | ΠΏΠ°ΠΊΠ΅Ρ‚ | 0.0.36-2.8             | x86_64 | Oss
   | libQCSXCAD0                                 | ΠΏΠ°ΠΊΠ΅Ρ‚ | 0.6.3-1.7              | x86_64 | Oss
   | libresprite                                 | ΠΏΠ°ΠΊΠ΅Ρ‚ | 1.1-1.3                | x86_64 | Oss
   | mfgtools                                    | ΠΏΠ°ΠΊΠ΅Ρ‚ | 1.5.191.0-1.3          | x86_64 | Oss
   | openmw                                      | ΠΏΠ°ΠΊΠ΅Ρ‚ | 0.48.0+git20240913-1.6 | x86_64 | Oss
   | ptokax                                      | ΠΏΠ°ΠΊΠ΅Ρ‚ | 0.5.3.0-36.8           | x86_64 | Ilya
   | python3-fife                                | ΠΏΠ°ΠΊΠ΅Ρ‚ | 0.4.2-8.5              | x86_64 | Oss
   | tecnoballz                                  | ΠΏΠ°ΠΊΠ΅Ρ‚ | 0.93.1-5.8             | x86_64 | Oss
   | tinyxml-devel                               | ΠΏΠ°ΠΊΠ΅Ρ‚ | 2.6.2-13.4             | x86_64 | Oss
   | tinyxml-docs                                | ΠΏΠ°ΠΊΠ΅Ρ‚ | 2.6.2-13.4             | x86_64 | Oss
   | tinyxml2-devel                              | ΠΏΠ°ΠΊΠ΅Ρ‚ | 10.1.0-1.1             | x86_64 | Oss
   | trigger-rally                               | ΠΏΠ°ΠΊΠ΅Ρ‚ | 0.6.6.1-3.13           | x86_64 | Oss

No, I am on Tumbleweed and I do not have tinyxml installed and I can also not install it:

> sudo zypper install tinyxml
Refreshing service 'openSUSE'.
Loading repository data...
Reading installed packages...
'tinyxml' not found in package names. Trying capabilities.
No provider of 'tinyxml' found.
Resolving package dependencies...
Nothing to do.

The link you provided is for a Factory package.

I am also no sure what your β€œzypper se -s --requires-pkg tinyxml” is giving, it does give for me the same list as you get, non of the packages are installed, but if I try install one of these packages I get:

> sudo zypper install --dry-run kodi
Refreshing service 'openSUSE'.
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 11 NEW packages are going to be installed:
  kodi libcec6 libfstrcmp0 libiso9660-12 libmicrohttpd12 libp8-platform2 libshairplay0 libtinyxml0 libtinyxml2-10 libwaylandpp1 utils-libnfs

Not tinyxml but libtinyxml*

andrei@tumbleweed:~> zypper info tinyxml
Loading repository data...
Reading installed packages...


package 'tinyxml' not found.
No matching items found.
andrei@tumbleweed:~>

The default zypper search mode is substring. You need to use --match-exact if you want to search for the exact package name.

Thank you for the clarification!
sudo zypper dup && zypper se -sx --requires-pkg libtinyxml0.
However, it should be remembered that although the -x mode gives more accurate results, this mode requires you to specify the name of the subpackage with the library, which can be several and is not always convenient, so it is not used by default.

1 Yes, Factory is almost the same as Tumbleweed.
Packages added to Factory go straight to QA testing and after that either go to Tumbleweed or are removed/rejected from Factory.
But Tumbleweed does not have its own project (do not confuse project with repository) and to indicate the presence of a package in Tumbleweed the Factory project is used.

2 That’s right! You don’t have any of them installed, that’s why the first field is empty, otherwise there would be i.
And when you try to install, it prompts you to download the package with dependencies and install it.

This is becoming ridiculous. If you cannot avoid lecturing those who try to help you, at least gets your facts straight.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.