Package: ubuntu-dev-tools
Version: 0.193
Severity: normal
File: /usr/bin/reverse-depends

Dear Maintainer,

It seems the `reverse-depends` utility will not find reverse depencies
in the following situation:
* Package A has Provides: foobar
* Package B has Depends: foobar

The provides/depends pattern is used by the Debian rust team when
packaging rust crates.

Here's a real-word example:

```
> apt-cache show librust-cpal-dev | grep -e alsa-sys -e Source:
Source: rust-cpal
Depends: librust-alsa-sys-0.2+default-dev, librust-failure-0.1+default-dev (>= 
0.1.5-~~), librust-lazy-static-1+default-dev (>= 1.3-~~), 
librust-libc-0.2+default-dev, librust-num-traits-0.2+default-dev (>= 0.2.6-~~)
> apt-cache show librust-alsa-sys-dev | grep -e Source -e 
> librust-alsa-sys-0.2+default-dev
Source: rust-alsa-sys
Provides: librust-alsa-sys+default-dev (= 0.2.0-2), 
librust-alsa-sys-0+default-dev (= 0.2.0-2), librust-alsa-sys-0-dev (= 0.2.0-2), 
librust-alsa-sys-0.2+default-dev (= 0.2.0-2), librust-alsa-sys-0.2-dev (= 
0.2.0-2), librust-alsa-sys-0.2.0+default-dev (= 0.2.0-2), 
librust-alsa-sys-0.2.0-dev (= 0.2.0-2)
> reverse-depends -r sid librust-alsa-sys-dev
No reverse dependencies found
> reverse-depends -r sid librust-alsa-sys-0.2+default-dev
b'<p>Package not published in specified release</p>'
> apt-cache policy librust-alsa-sys-dev
librust-alsa-sys-dev:
  Installed: (none)
  Candidate: 0.2.0-2
  Version table:
     0.2.0-2 500
        500 http://deb.debian.org/debian bookworm/main arm64 Packages
        400 http://deb.debian.org/debian unstable/main arm64 Packages
> reverse-depends -r sid src:rust-alsa-sys
No reverse dependencies found
> reverse-depends -r sid -b src:rust-alsa-sys
No reverse dependencies found
> 
```

It would ofcourse be best if reverse-depends could simply handle the
Provides pattern, but maybe it would be easier to implement just warning
when encountering a package which has Provides at all (just to give the
user a chance to react that there might actually be reverse dependencies
that are just not found).


PS. I also tested (latest version of) ubuntu-dev-tools 0.197 and
confirmed it behaves the same.



-- System Information:
Debian Release: 12.1
  APT prefers stable-security
  APT policy: (500, 'stable-security'), (500, 'stable'), (400, 'unstable'), 
(300, 'experimental')
Architecture: arm64 (aarch64)

Kernel: Linux 6.5.0-asahi-00671-g618f14cf48b9 (SMP w/8 CPU threads)
Kernel taint flags: TAINT_CPU_OUT_OF_SPEC
Locale: LANG=en_DK.UTF-8, LC_CTYPE=en_DK.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages ubuntu-dev-tools depends on:
ii  binutils                    2.40-2
ii  dctrl-tools                 2.24-3
ii  devscripts                  2.23.4
ii  diffstat                    1.65-1
ii  distro-info                 1.5
ii  dpkg-dev                    1.21.22
ii  dput                        1.1.3
ii  lsb-release                 12.0-1
ii  perl                        5.36.0-7
ii  python3                     3.11.2-1+b1
ii  python3-apt                 2.6.0
ii  python3-debian              0.1.49
ii  python3-debianbts           4.0.1
ii  python3-distro-info         1.5
ii  python3-httplib2            0.20.4-3
ii  python3-launchpadlib        1.11.0-1
ii  python3-lazr.restfulclient  0.14.5-1
ii  python3-ubuntutools         0.193
ii  sensible-utils              0.0.17+nmu1
ii  sudo                        1.9.13p3-1+deb12u1
ii  tzdata                      2023c-5

Versions of packages ubuntu-dev-tools recommends:
ii  arch-test                                0.20-1
ii  ca-certificates                          20230311
ii  debian-archive-keyring                   2023.3
ii  debian-keyring                           2022.12.24
ii  debootstrap                              1.0.128+nmu2+deb12u1
ii  genisoimage                              9:1.1.11-3.4
ii  lintian                                  2.116.3
ii  patch                                    2.7.6-7
ii  pbuilder                                 0.231
ii  python3-dns                              3.2.1-2
ii  quilt                                    0.67+really0.66-1
ii  reportbug                                12.0.0
pn  ubuntu-keyring | ubuntu-archive-keyring  <none>

Versions of packages ubuntu-dev-tools suggests:
ii  brz [bzr]         3.3.2-3
ii  brz-debian        2.8.78
ii  bzr               2.7.0+bzr6622+brz
ii  bzr-builddeb      2.8.12+brz
ii  qemu-user-static  1:7.2+dfsg-7+deb12u1

-- no debconf information

Reply via email to