Bug 58830 - apt-cache whatdepends does not notice direct/alternative deps; selects only one instance for the named package
Summary: apt-cache whatdepends does not notice direct/alternative deps; selects only o...
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: apt (show other bugs)
Version: unstable
Hardware: all Linux
: P5 normal
Assignee: placeholder@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-04-22 13:13 MSK by Ivan Zakharyaschev
Modified: 2026-04-22 13:25 MSK (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Zakharyaschev 2026-04-22 13:13:49 MSK
$ ~/hasher/aptbox/apt-cache whatdepends librpmbuild7
librpmbuild7-4.13.0.1-alt44@1776845801
  librpmbuild7-debuginfo-4.13.0.1-alt44@1776845801
    Depends: librpmbuild7 = 4.13.0.1-alt44
  dnf5-plugins-5.4.0.0-alt1:sisyphus+411009.2.6.1@1773309762
    Depends: <librpmbuild.so.7()(64bit)>
      librpmbuild7-4.13.0.1-alt44@1776845801
$

"whatdepends" lists too little. At least, no direct dependencies, which are known to be shown by "showpkg":

$ ~/hasher/aptbox/apt-cache showpkg librpmbuild7
Package: librpmbuild7
Versions: 
4.13.0.1-alt44@1776845801(/tmp/.private/imz/hasher/repo/x86_64/RPMS.hasher/)
4.13.0.1-alt44:sisyphus+405580.200.3.1@1768927476(/tmp/.private/imz/hasher/aptbox/var/lib/apt/lists/../../../../../apt-lists/ftp.altlinux.org_pub_distributions_ALTLinux_Sisyphus_x86%5f64_base_pkglist.classic)(/tmp/.private/imz/hasher/aptbox/var/lib/rpm/Packages)

Reverse Depends: 
  rpmspec,librpmbuild7 4.13.0.1-alt44:sisyphus+405580.200.3.1
  python3-module-rpm,librpmbuild7 4.13.0.1-alt44:sisyphus+405580.200.3.1
  python-module-rpm,librpmbuild7 4.13.0.1-alt44:sisyphus+405580.200.3.1
  librpm-devel,librpmbuild7 4.13.0.1-alt44:sisyphus+405580.200.3.1
  rpmspec,librpmbuild7 4.13.0.1-alt44
  librpm-devel,librpmbuild7 4.13.0.1-alt44
  python-module-rpm,librpmbuild7 4.13.0.1-alt44
  python3-module-rpm,librpmbuild7 4.13.0.1-alt44
  librpmbuild7-debuginfo,librpmbuild7 4.13.0.1-alt44
Dependencies: 
4.13.0.1-alt44@1776845801 - libc.so.6(GLIBC_2.15)(64bit) (0 (null)) libcap.so.2()(64bit) (2 set:kirQLhjUBY0) libmagic.so.1()(64bit) (2 set:ifeePaApd4op02) libpopt.so.0()(64bit) (2 set:jftck0pY4jRJWvaCunRMZrjSd) librpm7 (5 4.13.0.1-alt44) 
4.13.0.1-alt44:sisyphus+405580.200.3.1@1768927476 - libc.so.6(GLIBC_2.15)(64bit) (0 (null)) libcap.so.2()(64bit) (2 set:kirQLhjUBY0) libmagic.so.1()(64bit) (2 set:ifeePaApd4op02) libpopt.so.0()(64bit) (2 set:jftck0pY4jRJWvaCunRMZrjSd) librpm7 (5 4.13.0.1-alt44:sisyphus+405580.200.3.1) 
Provides: 
4.13.0.1-alt44@1776845801 - librpmbuild7 librpmbuild.so.7()(64bit) 
4.13.0.1-alt44:sisyphus+405580.200.3.1@1768927476 - librpmbuild7 librpmbuild.so.7()(64bit) 
Reverse Provides: 
librpmbuild7 4.13.0.1-alt44:sisyphus+405580.200.3.1@1768927476
librpmbuild7 4.13.0.1-alt44@1776845801
$

Actually, the results of "whatdepends" are quite different in the host system (with the same apt, but p11 as the sources):

# apt-cache whatdepends librpmbuild7
librpmbuild7-4.13.0.1-alt40:p11+348761.100.1.1@1716479364
  i586-librpmbuild7.32bit-4.13.0.1-alt40:p11+348761.100.1.1@1716481322
    Depends: librpmbuild7 = 4.13.0.1-alt40:p11+348761.100.1.1
  rpmspec-4.13.0.1-alt40:p11+348761.100.1.1@1716479364
    Depends: librpmbuild7 = 4.13.0.1-alt40:p11+348761.100.1.1
  python3-module-rpm-4.13.0.1-alt40:p11+348761.100.1.1@1716479364
    Depends: librpmbuild7 = 4.13.0.1-alt40:p11+348761.100.1.1
  python-module-rpm-4.13.0.1-alt40:p11+348761.100.1.1@1716479364
    Depends: librpmbuild7 = 4.13.0.1-alt40:p11+348761.100.1.1
  librpm-devel-4.13.0.1-alt40:p11+348761.100.1.1@1716479364
    Depends: librpmbuild7 = 4.13.0.1-alt40:p11+348761.100.1.1
#

I'd say they are complete (as expected):

# apt-cache showpkg librpmbuild7
Package: librpmbuild7
Versions: 
4.13.0.1-alt40:p11+348761.100.1.1@1716479364(/var/lib/apt/lists/ftp.altlinux.org_pub_distributions_ALTLinux_p11_branch_x86%5f64_base_pkglist.classic)(/var/lib/rpm/Packages)

Reverse Depends: 
  i586-librpmbuild7.32bit,librpmbuild7 4.13.0.1-alt40:p11+348761.100.1.1
  rpmspec,librpmbuild7 4.13.0.1-alt40:p11+348761.100.1.1
  python3-module-rpm,librpmbuild7 4.13.0.1-alt40:p11+348761.100.1.1
  python-module-rpm,librpmbuild7 4.13.0.1-alt40:p11+348761.100.1.1
  librpm-devel,librpmbuild7 4.13.0.1-alt40:p11+348761.100.1.1
Dependencies: 
4.13.0.1-alt40:p11+348761.100.1.1@1716479364 - libc.so.6(GLIBC_2.15)(64bit) (0 (null)) libcap.so.2()(64bit) (2 set:kirQLhjUBY0) libmagic.so.1()(64bit) (2 set:ifeePaApd4op02) libpopt.so.0()(64bit) (2 set:jftck0pY4jRJWvaCunRMZrjSd) librpm7 (5 4.13.0.1-alt40:p11+348761.100.1.1) 
Provides: 
4.13.0.1-alt40:p11+348761.100.1.1@1716479364 - librpmbuild7 librpmbuild.so.7()(64bit) 
Reverse Provides: 
librpmbuild7 4.13.0.1-alt40:p11+348761.100.1.1@1716479364
#

How to reproduce:

apt-0.5.15lorg2-alt100.x86_64
hasher-1.7.4-alt1.noarch


In this case, I rebuilt rpm from sisyphus in hasher first.
Comment 1 Ivan Zakharyaschev 2026-04-22 13:25:25 MSK
Now I see a part of the reason. The reason is that a specific instance of the named package is selected (in this case, the rebuilt one):

$ ~/hasher/aptbox/apt-cache whatdepends librpmbuild7
librpmbuild7-4.13.0.1-alt44@1776845801

but it's impossible to specify a different one on the command line: 4.13.0.1-alt44:sisyphus+405580.200.3.1@1768927476

[imz@cheval ~]$ ~/hasher/aptbox/apt-cache whatdepends librpmbuild7='4.13.0.1-alt44:sisyphus+405580.200.3.1@1768927476'
W: Unable to locate package librpmbuild7=4.13.0.1-alt44:sisyphus+405580.200.3.1@1768927476
[imz@cheval ~]$ ~/hasher/aptbox/apt-cache whatdepends librpmbuild7-'4.13.0.1-alt44:sisyphus+405580.200.3.1@1768927476'
W: Unable to locate package librpmbuild7-4.13.0.1-alt44:sisyphus+405580.200.3.1@1768927476
[imz@cheval ~]$ ~/hasher/aptbox/apt-cache whatdepends librpmbuild7-'4.13.0.1-alt44:sisyphus+405580.200.3.1'
W: Unable to locate package librpmbuild7-4.13.0.1-alt44:sisyphus+405580.200.3.1
[imz@cheval ~]$ ~/hasher/aptbox/apt-cache whatdepends librpmbuild7='4.13.0.1-alt44:sisyphus+405580.200.3.1'
W: Unable to locate package librpmbuild7=4.13.0.1-alt44:sisyphus+405580.200.3.1
[imz@cheval ~]$ ~/hasher/aptbox/apt-cache whatdepends librpmbuild7='4.13.0.1-alt44'
W: Unable to locate package librpmbuild7=4.13.0.1-alt44
[imz@cheval ~]$ ~/hasher/aptbox/apt-cache whatdepends librpmbuild7-'4.13.0.1-alt44'
W: Unable to locate package librpmbuild7-4.13.0.1-alt44
[imz@cheval ~]$ 

And this doesn't justify it not showing the direct deps from the newly rebuilt packages, like this one:

$ ~/hasher/aptbox/apt-cache depends rpmspec
rpmspec-4.13.0.1-alt44@1776845801
  Depends: </lib64/ld-linux-x86-64.so.2>
    glibc-core-6:2.40.0.224.573a-alt1:sisyphus+413851.100.2.1@1775135301
  Depends: <libpopt.so.0()(64bit)>
    libpopt-1:1.18-alt1:sisyphus+283609.300.5.1@1630003299
  Depends: librpmbuild7 = 4.13.0.1-alt44
  Conflicts: rpm < 4.13.0-alt6
$

Maybe it doesn't show it because there is an alternative way to satisfy it (not only librpmbuild7-4.13.0.1-alt44@1776845801 , but also librpmbuild7 4.13.0.1-alt44:sisyphus+405580.200.3.1@1768927476)