How to find appropriate RPMs based on dependencies for RPMs

Issues related to applications and software problems and general support
Post Reply
User avatar
warron.french
Posts: 616
Joined: 2014/03/27 20:21:58

How to find appropriate RPMs based on dependencies for RPMs

Post by warron.french » 2021/06/13 05:27:40

I am trying to determine the entire set of RPM dependencies, from/at home, of the package roundcubemail.

So, I execute yum localinstall roundcubemail-1.4.11-1.el8.remi.noarch.rpm and discover a whole bunch of dependencies that I cannot find.
I don't want to know which packages are require, but develop the skill to understand how to find the correct package that provides the feature/symbol? for myself.

I have php-pear installed already, so I am not sure why I am seeing those dependencies listed.

How do I determine the packages I need based on the following output?

Code: Select all

Last metadata expiration check: 0:41:03 ago on Sun 13 Jun 2021 12:36:15 AM EDT.
Error:
 Problem: conflicting requests
  - nothing provides (php-composer(endroid/qrcode) >= 1.6.5 with php-composer(endroid/qrcode) < 2) needed by roundcubemail-1.4.11-1.el8.remi.noarch
  - nothing provides (php-composer(masterminds/html5) >= 2.5.0 with php-composer(masterminds/html5) < 3) needed by roundcubemail-1.4.11-1.el8.remi.noarch
  - nothing provides php-composer(kolab/net_ldap3) >= 1.1.1 needed by roundcubemail-1.4.11-1.el8.remi.noarch
  - nothing provides php-pear(Crypt_GPG) >= 1.6.0 needed by roundcubemail-1.4.11-1.el8.remi.noarch
  - nothing provides php-pear(Mail_Mime) >= 1.10.0 needed by roundcubemail-1.4.11-1.el8.remi.noarch
  - nothing provides php-pear(Net_IDNA2) >= 0.2.0 needed by roundcubemail-1.4.11-1.el8.remi.noarch
  - nothing provides php-pear(Net_LDAP2) >= 2.2.0 needed by roundcubemail-1.4.11-1.el8.remi.noarch
  - nothing provides php-pear(Net_Sieve) >= 1.4.3 needed by roundcubemail-1.4.11-1.el8.remi.noarch
  - nothing provides php-composer(fedora/autoloader) needed by roundcubemail-1.4.11-1.el8.remi.noarch
  - nothing provides php-pspell needed by roundcubemail-1.4.11-1.el8.remi.noarch
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
When I attempt yum provides php-composer or yum provides */php-composer or yum provides php-composer(endroid/qrcode) I get this single response:

Code: Select all

Last metadata expiration check: 0:49:14 ago on Sun 13 Jun 2021 12:36:15 AM EDT.
Error: No Matches found
I don't know what to do to find the correct packages (as a skill).

Thanks,
Thanks,
War

User avatar
jlehtone
Posts: 4523
Joined: 2007/12/11 08:17:33
Location: Finland

Re: How to find appropriate RPMs based on dependencies for RPMs

Post by jlehtone » 2021/06/13 10:49:05

First a note: 'localinstall' is deprecated alias for 'install'. All these are fine:

Code: Select all

yum install package_name # from repo
yum install URL_filename # file from network server
yum install file.rpm # from local file
Since you have a local RPM-file:

Code: Select all

rpm --query --requires --package roundcubemail-1.4.11-1.el8.remi.noarch.rpm
rpm -qRp roundcubemail-1.4.11-1.el8.remi.noarch.rpm # short options
Google for "php-composer(kolab/net_ldap3)" leads to:
https://centos.pkgs.org/7/epel-x86_64/p ... h.rpm.html
Thus that feature is in package php-kolab-net-ldap3, which can be found from EPEL and from Remi's repositories.
Quite predictably the EPEL version is too old for roundcubemail.
[EDIT]
Oops: went for el7. For el8 Remi is the source:
https://centos.pkgs.org/8/remi-x86_64/p ... h.rpm.html
[/EDIT]

If you have EPEL configured and enabled, then you should get something with:

Code: Select all

yum provides php-composer\*  # feature's name starts with ...
yum provides 'php-composer(pear/mail)' # quoted to protect parentheses from shell
The yum provides */php-composer list packages that contain file or dir named "php-composer"

You did download roundcubemail-1.4.11-1.el8.remi.noarch.rpm from Remi's repository, didn't you?
If you can't use that repository directly, then look for additional files from it first.

User avatar
warron.french
Posts: 616
Joined: 2014/03/27 20:21:58

Re: How to find appropriate RPMs based on dependencies for RPMs

Post by warron.french » 2021/06/14 00:48:53

@jlehtone, thanks for the feedback. I definitely filled in some knowledge voids from it. :thumbsup:

I did know about the deprecation of localinstall I was just trying to get the RPM to attempt an install (while being "lazy" and convenient), as you can see I typed more than necessary.

I knew about the rpm -qpR approach, but I was trying to figure it out using yum solely, apparently I need to keep using rpm as much as I do yum.

Thanks for showing me that I could use:

Code: Select all

yum provides   'php-composer(endroid/qrcode)'
and

Code: Select all

yum provides php-composer\*
I did not know to do that, which is obviously what I needed to learn.

Perhaps, I need to add the REMI repo to my system, hopefully, that does not introduce any security holes or package conflicts; however, I cannot find any packages associated with:

Code: Select all

  - nothing provides (php-composer(endroid/qrcode) >= 1.6.5 with php-composer(endroid/qrcode) < 2) needed by roundcubemail-1.4.11-1.el8.remi.noarch
  - nothing provides (php-composer(masterminds/html5) >= 2.5.0 with php-composer(masterminds/html5) < 3) needed by roundcubemail-1.4.11-1.el8.remi.noarch
  - nothing provides php-composer(kolab/net_ldap3) >= 1.1.1 needed by roundcubemail-1.4.11-1.el8.remi.noarch
  - nothing provides php-pear(Crypt_GPG) >= 1.6.0 needed by roundcubemail-1.4.11-1.el8.remi.noarch
  - nothing provides php-pear(Mail_Mime) >= 1.10.0 needed by roundcubemail-1.4.11-1.el8.remi.noarch
  - nothing provides php-pear(Net_IDNA2) >= 0.2.0 needed by roundcubemail-1.4.11-1.el8.remi.noarch
  - nothing provides php-pear(Net_LDAP2) >= 2.2.0 needed by roundcubemail-1.4.11-1.el8.remi.noarch
  - nothing provides php-pear(Net_Sieve) >= 1.4.3 needed by roundcubemail-1.4.11-1.el8.remi.noarch
  - nothing provides php-composer(fedora/autoloader) needed by roundcubemail-1.4.11-1.el8.remi.noarch
  - nothing provides php-pspell needed by roundcubemail-1.4.11-1.el8.remi.noarch
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
I did the following:

Code: Select all

[root@centos8box ~]# yum provides 'php-pear(Crypt_GPG)'
Last metadata expiration check: 3:34:36 ago on Sun 13 Jun 2021 04:51:16 PM EDT.
Error: No Matches found
[root@centos8box ~]# yum provides 'php-pear(Mail_Mime)'
Last metadata expiration check: 3:34:53 ago on Sun 13 Jun 2021 04:51:16 PM EDT.
Error: No Matches found
[root@centos8box ~]# yum provides 'php-pear(Net_IDNA2)'
Last metadata expiration check: 3:35:06 ago on Sun 13 Jun 2021 04:51:16 PM EDT.
Error: No Matches found
[root@centos8box ~]# yum provides 'php-pear(Net_LDAP2)'
Last metadata expiration check: 3:35:21 ago on Sun 13 Jun 2021 04:51:16 PM EDT.
Error: No Matches found
[root@centos8box ~]# yum provides 'php-pear(Net_Sieve)'
Last metadata expiration check: 3:35:35 ago on Sun 13 Jun 2021 04:51:16 PM EDT.
Error: No Matches found
[root@centos8box ~]# yum provides 'php-composer(fedora/autoloader)'
Last metadata expiration check: 3:35:59 ago on Sun 13 Jun 2021 04:51:16 PM EDT.
Error: No Matches found
[root@centos8box ~]# yum provides '(php-composer(endroid/qrcode)'
Last metadata expiration check: 3:36:17 ago on Sun 13 Jun 2021 04:51:16 PM EDT.
Error: No Matches found
[root@centos8box ~]# yum provides '(php-composer(masterminds/html5)'
Last metadata expiration check: 3:36:30 ago on Sun 13 Jun 2021 04:51:16 PM EDT.
Error: No Matches found
[root@centos8box ~]# yum provides 'php-composer(kolab/net_ldap3)'
Last metadata expiration check: 3:37:12 ago on Sun 13 Jun 2021 04:51:16 PM EDT.
Error: No Matches found
[root@centos8box ~]# yum provides 'php-pspell'
Last metadata expiration check: 3:37:26 ago on Sun 13 Jun 2021 04:51:16 PM EDT.
Error: No Matches found
To answer your question I had manually downloaded the roundcubemail RPM from rpmfind.net; but now that I downloaded the REMI Repo configuration RPM by downloading the RPM manually from

Code: Select all

http://rpms.remirepo.net/enterprise/8/remi/x86_64/
and followed the instructions on the link that you provided I have the REPO installed and will continue with the extra steps.

Thank you again, sincerely for teaching me what I needed/wanted to know.
Thanks,
War

User avatar
remirepo
Posts: 447
Joined: 2014/09/21 09:07:12
Location: France
Contact:

Re: How to find appropriate RPMs based on dependencies for RPMs

Post by remirepo » 2021/06/14 05:04:36

> Perhaps, I need to add the REMI repo to my system, hopefully, that does not introduce any security holes or package conflicts;

Sorry, but I really think you can't install a single package without enabling the repository

And for security, not enabling the repository, means you won't take benefit os any security update from it.

Most of the missing packages (the noarch one) are usually found in EPEL, but EPEL is terribly broken for modules... :(
At least the spell extension requires to use one of the remi's stream (not enabled in official PHP stream)

Code: Select all

# dnf install roundcubemail
Dependencies resolved.
======================================================================================================
 Package                             Arch        Version                      Repository         Size
======================================================================================================
Installing:
 roundcubemail                       noarch      1.4.11-1.el8.remi            remi              4.6 M
Installing dependencies:
 composer                            noarch      2.1.3-1.el8.remi             remi-modular      493 k
 gnupg1                              x86_64      1.4.23-14.el8                epel              1.3 M
 open-sans-fonts                     noarch      1.10-6.el8                   appstream         482 k
 php-PsrLog                          noarch      1.1.4-1.el8.remi             remi-safe          16 k
 php-composer-ca-bundle              noarch      1.2.10-1.el8.remi            remi-safe          17 k
 php-composer-metadata-minifier      noarch      1.0.0-1.el8.remi             remi-safe          10 k
 php-composer-semver3                noarch      3.2.5-1.el8.remi             remi-safe          30 k
 php-composer-spdx-licenses          noarch      1.5.5-1.el8.remi             remi-safe          22 k
 php-composer-xdebug-handler2        noarch      2.0.1-1.el8.remi             remi-safe          24 k
 php-endroid-qrcode                  noarch      1.9.3-3.el8.remi             remi              775 k
 php-fedora-autoloader               noarch      1.0.1-2.el8.remi             remi-modular       13 k
 php-gd                              x86_64      7.4.20-1.el8.remi            remi-modular       93 k
 php-intl                            x86_64      7.4.20-1.el8.remi            remi-modular      243 k
 php-jsonlint                        noarch      1.8.3-1.el8.remi             remi-safe          21 k
 php-justinrainbow-json-schema5      noarch      5.2.10-1.el8.remi            remi-safe          45 k
 php-kolab-net-ldap3                 noarch      1.1.3-1.el8.remi             remi               43 k
 php-ldap                            x86_64      7.4.20-1.el8.remi            remi-modular       97 k
 php-masterminds-html5               noarch      2.7.4-1.el8.remi             remi               70 k
 php-pdo                             x86_64      7.4.20-1.el8.remi            remi-modular      144 k
 php-pear                            noarch      1:1.10.12-7.el8.remi         remi-modular      366 k
 php-pear-Auth-SASL                  noarch      1.1.0-6.el8                  epel               21 k
 php-pear-Console-CommandLine        noarch      1.2.2-12.el8.remi            remi               61 k
 php-pear-Mail-Mime                  noarch      1.10.10-1.el8.remi           remi               57 k
 php-pear-Net-IDNA2                  noarch      0.2.0-11.el8.remi            remi               30 k
 php-pear-Net-LDAP2                  noarch      2.2.0-1.el8.remi             remi              100 k
 php-pear-Net-SMTP                   noarch      1.10.0-1.el8.remi            remi               30 k
 php-pear-Net-Sieve                  noarch      1.4.5-1.el8.remi             remi               27 k
 php-pear-Net-Socket                 noarch      1.2.2-6.el8                  epel               19 k
 php-pear-crypt-gpg                  noarch      1.6.5-1.el8.remi             remi              322 k
 php-pecl-zip                        x86_64      1.19.3-1.el8.remi.7.4        remi-modular       67 k
 php-process                         x86_64      7.4.20-1.el8.remi            remi-modular       99 k
 php-pspell                          x86_64      7.4.20-1.el8.remi            remi-modular       65 k
 php-psr-cache                       noarch      1.0.1-3.el8.remi             remi-safe          13 k
 php-psr-container                   noarch      1.1.1-1.el8.remi             remi-safe          10 k
 php-react-promise                   noarch      2.8.0-1.el8.remi             remi-safe          27 k
 php-seld-phar-utils                 noarch      1.1.1-1.el8.remi             remi-safe          12 k
 php-symfony-contracts               noarch      1.1.10-1.el8.remi            remi-safe          39 k
 php-symfony-polyfill                noarch      1.23.0-1.el8.remi            remi-safe          46 k
 php-symfony3-common                 noarch      3.4.49-1.el8.remi            remi              154 k
 php-symfony3-options-resolver       noarch      3.4.49-1.el8.remi            remi               26 k
 php-symfony4-common                 noarch      4.4.25-1.el8.remi            remi-safe         166 k
 php-symfony4-console                noarch      4.4.25-1.el8.remi            remi-safe         103 k
 php-symfony4-debug                  noarch      4.4.25-1.el8.remi            remi-safe          47 k
 php-symfony4-filesystem             noarch      4.4.25-1.el8.remi            remi-safe          27 k
 php-symfony4-finder                 noarch      4.4.25-1.el8.remi            remi-safe          34 k
 php-symfony4-process                noarch      4.4.25-1.el8.remi            remi-safe          39 k
Installing weak dependencies:
 php-pecl-krb5                       x86_64      1.1.4-3.el8.remi.7.4         remi-modular       64 k
 php-psr-event-dispatcher            noarch      1.0.0-2.el8.remi             remi               10 k
Enabling module streams:
 composer                                        2                                                   

Transaction Summary
======================================================================================================
Install  49 Packages

Total download size: 11 M
Installed size: 44 M
Is this ok [y/N]: 

Remi's Repository - Forum - Blog

User avatar
jlehtone
Posts: 4523
Joined: 2007/12/11 08:17:33
Location: Finland

Re: How to find appropriate RPMs based on dependencies for RPMs

Post by jlehtone » 2021/06/14 06:23:37

warron.french wrote:
2021/06/14 00:48:53
I knew about the rpm -qpR approach, but I was trying to figure it out using yum solely, apparently I need to keep using rpm as much as I do yum.
The rpm queries metadata from packages that you have as local file or have installed.
The dnf (aka yum) queries metadata from repositories.

See description of command "repoquery" from man dnf

User avatar
warron.french
Posts: 616
Joined: 2014/03/27 20:21:58

Re: How to find appropriate RPMs based on dependencies for RPMs

Post by warron.french » 2021/06/14 11:52:19

Thanks @jlehtone.
Thanks,
War

User avatar
warron.french
Posts: 616
Joined: 2014/03/27 20:21:58

Re: How to find appropriate RPMs based on dependencies for RPMs

Post by warron.french » 2021/06/14 11:54:16

@remirepo, thanks for writing.

I have been running into problems trying to get the roundcubemail package to install due to the dependencies you see listed higher in the post thread.

Should I simply wait a week or two, or keep trying every couple of days in order to get this to work? What do you suggest?
Thanks,
War

User avatar
remirepo
Posts: 447
Joined: 2014/09/21 09:07:12
Location: France
Contact:

Re: How to find appropriate RPMs based on dependencies for RPMs

Post by remirepo » 2021/06/14 11:59:18

> Should I simply wait a week or two, or keep trying every couple of days in order to get this to work? What do you suggest?

Can't answer, don't know what problem you encounter....

And BTW, probably better to ask in the right place
https://forum.remirepo.net/search.php?action=show_new
Remi's Repository - Forum - Blog

Post Reply